W Watchflare docs

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

CategoryMetrics
CPUUsage %, iowait, steal (VMs), temperature (physical hosts)
MemoryUsed, available, buffers, cached, swap
DiskTotal, used, read/write throughput
NetworkInbound/outbound bandwidth
SystemUptime, load average (1/5/15 min), process count
ContainersPer-container CPU, memory, network (Docker/Podman)
PackagesInstalled 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.