What it is
Uptime Kuma is a self-hosted uptime monitor. Each "monitor" is a periodic check — HTTP GET, ICMP ping, TCP port, DNS — against a target, and Uptime Kuma records the response over time. The dashboard shows green dots and uptime percentages; the status page exposes the same information to external observers.
Why I run it
I needed a binary "is it up?" signal across every service in the cluster, separate from Portainer (which tells me about containers) and Grafana (which tells me about metrics). Uptime Kuma is the right level of abstraction — it checks the actual service from the outside, the way a user would.
The other thing it gives me is a status page. The internal Homepage dashboard reads from a status-page slug, which means its "X services online / Y total" widget is fed by Uptime Kuma, not by some bespoke check. Two birds, one Kuma.
How I use it
More than 40 monitors, tagged by category (Infrastructure, Management, Cloud, Entertainment, Sandbox, App Dashboards, and the newer proof/alerting services). Heartbeat 60 seconds, retry twice before flipping a state. The discipline I've settled on:
- Use direct IPs, not internal hostnames. If AdGuard goes down, hostname-based monitors would all go red for DNS reasons even when the underlying services are fine — noisy and misleading. Direct IPs give a clean signal: is the actual service up?
- Vaultwarden is the exception: monitored two ways. One via the proxied hostname (catches NPM, cert, and DNS problems plus tracks cert expiry), one via direct IP (decoupled from the proxy/DNS chain). Both green = everything works. Only direct green = NPM or cert issue. Both red = Vaultwarden itself is down.
- HTTP vs ping: pure-network devices (Tailscale gateway LXCs, the router) get pinged. Anything with a web UI gets HTTP'd.
- Prometheus scrape enabled: Uptime Kuma's
/metricsendpoint is scraped by the observability stack, so monitor state shows up in Grafana too. - New July checks: North Star direct health, Healthchecks status, ntfy health, and Loki readiness are monitored from their private LAN endpoints.