نظرة عامة
Service Watch
A Python web application that monitors Windows services, automatically restarts them when they stop, sends email alerts, and charts uptime over time.
Features
- Monitor any number of Windows services using each service's short name and a friendly dashboard label.
- Automatically restart stopped services, with a cooldown, a maximum-attempt limit, and a stability period that resets the attempt count after a service runs reliably.
- Send optional email notifications when a service goes down, recovers, or the monitor gives up restarting it.
- View 24-hour uptime bars for each service.
- Keep history in memory and in an append-only JSONL file. No database is required.
- Use demo mode on macOS and Linux to explore the dashboard without Windows services.
- Write application logs to a rotating
servicewatch.logfile.
Technology Stack
Estimated technology stack based on the application's described functionality.
| Layer | Technology |
|---|---|
| Backend | Python, Flask |
| Frontend | HTML5, CSS3, JavaScript, Jinja2 |
| Windows Service Management | pywin32, Windows Service Control Manager (SCM) |
| Service Monitoring | Python Background Threads |
| Automatic Recovery | Python, pywin32 |
| Email Notifications | SMTP, Python smtplib |
| Data Storage | JSONL (Append-Only Files), In-Memory Storage |
| Data Visualization | Chart.js |
| Application Logging | Python logging, RotatingFileHandler |
| Configuration | Environment Variables |
| Operating Systems | Windows 10/11, Windows Server |
| Demo Mode | macOS, Linux |
| Development Environment | VS Code |
| Package Management | uv / pip |