TOOL / SCRIPT
Sato: Infrastructure Monitoring System
betaBeta: This tool is functional and actively used, but still being refined. Some features may change as I continue improving it based on real-world usage. Found a bug or have suggestions? Open an issue on GitHub.
Advanced infrastructure monitoring with self-healing capabilities for Docker containers, systemd services, and local HTTP/TCP endpoints. Auto-restarts failed services with intelligent retry logic.
uptime
99.9%
services
20+
auto Heals
Daily
What It Does
Sato is an advanced infrastructure monitoring system with self-healing capabilities. It automatically discovers and monitors Docker containers, systemd services, HTTP/HTTPS endpoints, and TCP ports on local or remote servers. When services fail, Sato can automatically restart them with intelligent retry logic and exponential backoff. It features a beautiful GTK3 interface with real-time sparklines, dependency mapping, and maintenance mode scheduling.
The Problem
As a QA engineer working across multiple environments (dev, staging, production), I was constantly manually checking if servers were up or down. Opening browser tabs, running curl commands, SSH-ing into servers just to see if a service was running - it was tedious and time-consuming. Traditional monitoring tools just tell you when things break but don't fix them. Managing multiple services across Docker containers, systemd services, and local HTTP endpoints meant constantly babysitting servers, manually restarting failed services, and getting woken up at 3 AM for issues that could be automatically resolved. I needed a single dashboard that shows me the status of all my servers across all stages at a glance.
The Solution
Sato combines monitoring with self-healing across your entire local infrastructure. It automatically discovers Docker containers, systemd services, and HTTP/TCP endpoints, then monitors them in real-time. When failures occur, it automatically restarts services with exponential backoff, detects cascading failures before they spread, and groups related alerts to reduce noise. The intelligent retry logic prevents restart storms while the dependency mapping ensures services restart in the correct order. Now my infrastructure heals itself while I sleep.
Key Features
Monitor Docker containers, systemd services, HTTP/HTTPS endpoints, and TCP ports
Auto-discovery of Docker containers and systemd services
Connect to local and remote services for comprehensive monitoring
Auto-restart failed services with exponential backoff (30s, 1m, 2m, 5m)
Intelligent retry logic with failure pattern tracking
Dependency-aware monitoring and cascading failure detection
Alert grouping and acknowledgment to reduce notification spam
Maintenance mode scheduling with keyboard shortcuts
Real-time sparklines and animated status transitions
Self-healing infrastructure with action tracking
Desktop notifications and webhook integrations
Historical failure analysis and response time trending
Usage Examples
Quick Start
Launch the monitoring dashboard
# Start monitoring
./sato
# Or with Python
python3 sato.py
# Enable debug mode
python3 sato.py --debugKeyboard Shortcuts
Efficient dashboard navigation
Ctrl+R - Refresh services
Ctrl+S - Open settings
Ctrl+T - Toggle theme
Ctrl+X - Maintenance mode
Ctrl+D - Discover dependencies
Ctrl+H - Hide/show services
Ctrl+C - Compact modeService Configuration
Configure auto-restart for services
{
"name": "My API Server",
"host": "localhost:8080",
"restart_command": "systemctl restart my-api",
"type": "server",
"max_restart_attempts": 3,
"restart_delay": 30
}What's Next
Features I'm thinking about adding slowly:
Kubernetes cluster monitoring support
Machine learning for predictive failure detection
Multi-server monitoring from single dashboard
Slack and Discord integration for team alerts
Custom health check scripts support
Performance metrics and resource usage tracking
License - MIT
© 2025 Shamlo Ameer
This tool is open source and free to use. You're welcome to use, modify, and distribute it for any purpose, including commercial projects. Attribution is appreciated but not required.
✓ You can:
- •Use for personal or commercial projects
- •Modify and adapt to your needs
- •Distribute and share freely
- •Include in your own projects
ℹ️ Please note:
- •Provided "as is" without warranty
- •Attribution appreciated but optional
- •No liability for any damages
Questions or feedback? zothstic@gmail.com