Introduction
What Watchflare is, how it works, and what it monitors.
Watchflare is a self-hosted platform that monitors your hosts and tracks their software. It collects system metrics in real time — CPU, memory, disk, network, and temperatures — and maintains a full package inventory across your fleet: installed versions, daily change history, and available updates.
No cloud dependency. No data leaving your infrastructure.
Two components
Watchflare is made of two pieces that work together:
Hub — the central server. Deploy it once on any machine with Docker. It receives data from agents, stores it in a time-series database, and serves the web dashboard. The Hub is a single binary with the frontend embedded.
Agent — a lightweight daemon that runs on each host you want to monitor. Supports Linux and macOS — Windows support is planned. It collects system metrics every 30 seconds, sends a heartbeat every 5 seconds, and builds a daily package inventory. The agent uses minimal resources and runs as an unprivileged system user.
your-server-1 your-server-2 your-server-3
[ Agent ] [ Agent ] [ Agent ]
| | |
└──────────────────────┴──────────────────────┘
|
gRPC / TLS
|
[ Hub ]
dashboard + DB
What it monitors
| Category | Metrics |
|---|---|
| CPU | Usage %, iowait, steal (VMs), temperature (physical hosts) |
| Memory | Used, available, buffers, cached, swap |
| Disk | Total, used, read/write throughput |
| Network | Inbound/outbound bandwidth |
| System | Uptime, load average (1/5/15 min), process count |
| Containers | Per-container CPU, memory, network (Docker/Podman) |
| Packages | Installed packages, versions, outdated detection — ~30 supported package managers |
What you get
- Real-time dashboard — host status updates within 5 seconds via Server-Sent Events. No polling, no page refresh.
- Historical charts — metrics stored in TimescaleDB with automatic aggregation. View 1h, 12h, 24h, 7d, and 30d time ranges.
- Package inventory — full list of installed packages on every host, updated daily, with change history and outdated package detection.
- Alerts — threshold-based alerts on CPU, memory, and disk, plus host offline notifications delivered by email.
- Write-Ahead Log — if the Hub is unreachable, the agent buffers metrics locally and replays them on reconnect. Metrics are not lost during brief outages — the WAL holds up to 10 MB by default (configurable via
wal_max_size_mb).
Self-hosted, by design
Watchflare runs entirely on your infrastructure. The Hub and its database live on a server you control. Agents communicate only with your Hub — no external services, no telemetry.
Note
Ready to get started? The Quickstart has you up and running in under 5 minutes.