Snitcher
Snitcher is a self-hosted, multi-location uptime monitoring platform. You run it on your own infrastructure, point it at the services you care about, and watch their health from one or many vantage points — without paying per-location SaaS fees or opening inbound firewall ports.
Why Snitcher
- Target network-restricted services. Internal APIs, databases, and back-office apps often sit behind a firewall with no inbound access. Snitcher places a lightweight Scout agent inside that network. The Scout dials out to the Snitcher server and streams results back — you never open an inbound port or expose the service to the internet.
- Geo-distributed checks, self-hosted. Deploy Scouts across regions, sites, or clouds and check the same service from every one. A resource can be assigned to multiple Scouts, giving a per-location breakdown of availability and latency — at no per-location cost.
Architecture
Snitcher has two moving parts plus a shared contract:
| Part | Role |
|---|---|
| Snitcher server | The control plane and single source of truth: REST API, Angular/spartan-ng SPA, SignalR hubs, and a TimescaleDB (Postgres 18) history store. All configuration lives here. |
| Scout agents | Small probes that run HTTP/HTTPS, TCP, and ICMP checks and report back. Scouts dial out over SignalR (NAT-friendly, no inbound rules) and converge to whatever config the server holds. |
| Protocol | A shared project defining the SignalR wire DTOs exchanged between server and Scouts. |
Check history is stored in TimescaleDB and rolled up with continuous aggregates, so dashboards show current status, a heartbeat strip, and uptime percentages efficiently even over long windows.
How it fits together
- You define Resources (targets) and settings in the Snitcher server.
- You deploy one or more Scouts; each connects outbound to the server.
- The server pushes configuration down; the Scouts run the checks on schedule.
- Scouts stream results back; the server records them and derives each resource's status (Up / Down / Degraded / Unknown) across all online Scouts.
- The dashboard and alerting react in real time.
Head to Getting Started to bring the stack up, or Core Concepts for the building blocks.