Key Takeaways
- Ultra-lean single binary architecture written in Rust (Axum + Tokio) consuming <30MB RAM
- Zero-signup public community monitoring with automated 10-second pool rotation
- Enterprise-grade SSRF protection blocking loopback, cloud metadata, and DNS rebinding attacks
- Two-failure incident state machine prevents false alarms with intelligent flapping suppression
- Transactional SQLite WAL writes with automatic data retention pruning
The Challenge: Why Uptime Medics Was Built
Modern web applications require reliable uptime monitoring, but existing solutions suffer from three critical deficiencies:
- Resource Bloat: Node.js-based monitors consume 300-800MB RAM – impractical for low-cost VPS deployments
- SSRF Vulnerabilities: Public monitoring forms expose dangerous Server-Side Request Forgery attack vectors
- Alert Fatigue: Basic monitors trigger false alarms on transient network blips without flapping suppression
Core Architecture & Technical Stack Deep-Dive
High-Concurrency Tokio Scheduler
The probe engine utilizes Rust’s async runtime with:
tokio::sync::Semaphore (100 concurrent probes)
reqwest::Client with Keep-Alive pooling
rustls for modern TLS 1.3 support
Multi-Layer SSRF Defense System
Three security checkpoints prevent internal network scanning:
- URL scheme validation (HTTP/HTTPS only)
- Custom DNS resolver blocking 15+ forbidden CIDR ranges
- Redirect hop validation with maximum 5 redirect depth
Key Features Breakdown & Practical Benefits
Zero-Signup Community Monitoring
The public pool system allows:
- Instant monitor submission without registration
- 10 randomly selected monitors displayed with 10-second rotation
- Per-IP rate limiting (10 creations/hour) to prevent abuse
Enterprise-Grade Incident Management
Sophisticated state machine handles:
- Two consecutive failures required for DOWN state
- Instant recovery notification on first success
- Flapping suppression after 4 state changes in 30 minutes
Real-World Use Cases & Applications
- Indie Hackers: Ultra-lean monitoring without commercial paywalls or RAM bloat
- Public API Providers: Transparent status tracking without user registrations
- Security-Conscious Enterprises: Hardened SSRF protection against internal network probing
How It Works: Step-by-Step Workflow
- User submits monitor via public form or authenticated API
- System validates URL against SSRF blocklists
- Tokio scheduler dispatches probe at configured interval
- Results evaluated against expected status code
- State transitions trigger SMTP alerts with exponential backoff
- Check logs batched to SQLite WAL every 5 seconds
Comparison: Uptime Medics vs Traditional Approaches
| Feature | Uptime Medics | Traditional Monitors |
|---|---|---|
| Memory Footprint | <30MB RAM | 300-800MB (Node.js) |
| SSRF Protection | Multi-layer defense | Often vulnerable |
| Alert Logic | Two-failure threshold | Single failure triggers |
| Deployment | Single binary | External dependencies |
Frequently Asked Questions (FAQ)
How does the SSRF protection actually work?
Three defense layers: 1) URL scheme validation, 2) custom DNS resolver blocking 15+ forbidden CIDR ranges, 3) redirect hop validation with 5 maximum depth.
What happens during network partitions?
The system maintains last-known status during outages. Upon recovery, it performs immediate verification checks before alerting.
Can I self-host with Docker?
Yes – the official Docker image runs an unprivileged medic user (uid 10001) with /data volume for SQLite persistence.
Conclusion & Next Steps
Uptime Medics delivers enterprise-grade monitoring capabilities in a ultra-lean Rust package, solving critical gaps in current solutions. With its unique combination of zero-signup community features and hardened security architecture, it’s ideal for developers and organizations prioritizing both performance and protection.
Experience the platform live at https://uptime.nevatal.id or explore the architecture documentation for implementation details.
Leave a Reply