In early sysadmin workflows, monitoring meant installing Monit to poll PID files or ping ports, firing off basic email alerts when a process died. While functional, it lacked real-time metrics, trend analysis, and modern push notifications.
Today, homelab observability is divided into two focused layers:
1. Real-Time Streaming Telemetry (Netdata): High-resolution per-second hardware and container metrics.
2. External Synthetic Monitoring (Uptime Kuma): Verifying services actually respond over HTTP, TCP, and DNS from an independent vantage point.
⚡ Quick Runbook: 60-Second Implementation
TL;DR: Copy and deploy the baseline production definition directly onto your host:
services:
netdata:
image: netdata/netdata:stable
container_name: netdata
hostname: homelab-node
restart: unless-stopped
ports:
- 19999:19999
cap_add:
- SYS_PTRACE
- SYS_ADMIN
security_opt:
- apparmor:unconfined
volumes:
- netdataconfig:/etc/netdata
- netdatalib:/var/lib/netdata
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes:
netdataconfig:
netdatalib:
1. Lightweight Streaming Telemetry with Netdata
Netdata monitors thousands of host and container metrics (CPU per-core usage, memory pressure, ZFS ARC hit rates, disk latency) with sub-1% CPU overhead:
services:
netdata:
image: netdata/netdata:stable
container_name: netdata
hostname: homelab-node
restart: unless-stopped
ports:
- 19999:19999
cap_add:
- SYS_PTRACE
- SYS_ADMIN
security_opt:
- apparmor:unconfined
volumes:
- netdataconfig:/etc/netdata
- netdatalib:/var/lib/netdata
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes:
netdataconfig:
netdatalib:
2. Synthetic Blackbox Probing with Uptime Kuma
Run Uptime Kuma on a lightweight VPS or secondary host to monitor your primary infrastructure from the outside:
services:
uptime-kuma:
image: louislam/uptime-kuma:latest
container_name: uptime-kuma
restart: unless-stopped
volumes:
- ./data:/app/data
ports:
- 3001:3001
Uptime Kuma tests endpoints every 60 seconds (HTTP status codes, TLS certificate expiration, DNS resolution, ping latency) and dispatches instant webhook notifications via ntfy, Discord, or Pushover the moment an anomaly is detected.
Related Runbooks in This Series
- Modern Homelab Observability: Netdata Telemetry & Uptime Kuma Health Checks
- Centralized Homelab Logging: Vector, Grafana Loki, and Structured JSON Telemetry
- Homelab Notification Pipelines: Multi-Channel Alerts with Webhooks & Ntfy
- Networked UPS Management: Network UPS Tools (NUT) and Graceful Automated Shutdown
- Predictive Drive Failure & S.M.A.R.T. Health Monitoring with smartd and Scrutiny