A project for monitoring the availability of services with a web interface, notifications, and SLA analytics.
- Monitoring of HTTP/TCP services
Checking availability through requests or checking ports. - Geolocation of services
Definition of the country, region, city and provider by IP. - SLA reports
Calculating response time and availability as a percentage. - Multi-user system
Registration, authentication, and data isolation between users. - Email notifications
Alerts when the service status changes (online/offline).
-
Clone a repository:
git clone https://github.com/BTemplar/Service_radar.git cd Service_radar -
Installing Libraries:
pip install -r requirements.txt
-
Initialize the database (automatically generated at the first startup)
-
Configure the configuration:
Create a conf/config.ini file (automatically generated at the first start) and specify:[SMTP] e-mail = your-email@example.com password = your-password server = smtp.example.com port = 587 [Schedule] interval = 300 [Secret key] key = 'your-secret-key'
flask run --host=0.0.0.0 The application will be available at: http://localhost:5000.
-
Registration: Create an account by going to the registration form
Register hereon the main page. -
Adding services:
- Maximum of 10 services per user.
- Supported formats:
http://example.com,example.com:8080.
-
Monitoring:
- The statuses are updated every 5 minutes (configured in `config.ini').
- Detailed statistics are available on the main page.
-
Notifications:
- When the service status changes, an email is sent.
- Backend: Flask, SQLAlchemy, APScheduler
- Frontend: Bootstrap 5, Jinja2
- Additionally: SMTP, IP geolocation (via an external `API')
MIT License. More details in the file LICENSE.
Author: Oleg Rud
GitHub: @BTemplar
Email: templar@internet.ru
| Main page | Service management |
|---|---|
![]() |
![]() |

