thenug.net

homelab monitoring stack - scrutiny, beszel, glances, dozzle, and tugtainer

logs tell you what happened. monitoring tells you what's happening right now and whether something is about to fail. here's the self-hosted monitoring stack running on the homelab - covering drive health, server metrics, container logs, and image updates using lightweight Docker containers.

the tools

each does one specific thing:

tool job
Scrutiny SMART data — drive health and failure prediction
Beszel server metrics — CPU, RAM, disk, network over time
Glances real-time system stats with a REST API
Dozzle live log tailing for Docker containers
Tugtainer checks for new container image versions

scrutiny: drive health

Scrutiny runs SMART diagnostics on all drives and surfaces the results in a dashboard. SMART data is noisy and hard to interpret raw — Scrutiny normalizes it and flags drives based on the same thresholds that cloud storage providers use internally to predict failures.

useful for a box running 3-4 spinning drives. a drive showing reallocated sectors or increasing error counts is worth swapping before it fails.

beszel: server metrics

Beszel is a lightweight server monitoring hub. an agent runs on each host and ships CPU, memory, disk, and network metrics back to a central dashboard. useful for spotting trends — a container with a memory leak, disk usage creeping up, or a network interface saturating.

glances: real-time stats + api

Glances is a system monitor with a built-in REST API. it's what the stats page on this site uses — Fastify proxies requests to Glances and returns live metrics to the browser.

running Glances in a container with the host filesystem mounted gives it visibility into the actual host drives, not just Docker's mounts.

dozzle: log tailing

Dozzle is a web UI for tailing Docker container logs in real time. it's the first place to check when a container is misbehaving — no SSH required, just open the browser.

Dozzle runs a main instance on the GPU server and a lightweight agent on the original server. the main instance aggregates both, so all container logs from both hosts are in one place.

tugtainer: image updates

Tugtainer checks all running containers against their registries and shows which images have updates available. one-click update for any container. an agent runs on the original server and reports back to the main instance on the GPU server.

without something like this, containers quietly fall behind on updates. it's not urgent for most things, but knowing about updates is better than not knowing.

hardware for a monitoring server

the entire monitoring stack runs comfortably on a single mini PC. all these tools are lightweight Docker containers - they don't need a GPU or tons of RAM. a small fanless mini PC with 8-16GB RAM is more than enough to run the full monitoring suite alongside other homelab services. low power draw means it costs almost nothing to run 24/7.

MinisForum UM760 mini PC for homelab monitoring and Docker server
MinisForum UM760 Slim Mini PC

AMD Ryzen - compact, fanless, low power

Perfect as a dedicated homelab monitoring and Docker server

view on amazon

affiliate link - helps support the blog

eli5

think of this as the health monitoring system for the house. Scrutiny is the inspector who checks the foundation for cracks (drive health). Beszel is the utility meter that tracks power and water usage over time (server metrics). Glances is the thermostat readout on the wall — current temperature at a glance. Dozzle is the intercom system — you can listen to what any room is saying right now (container logs). Tugtainer is the person who checks whether any appliances have newer firmware available. each tool covers a different kind of visibility, and together they mean there are very few surprises.


← back to blog