Why NetData?
NetData is a lightweight, open-source real-time monitoring tool that runs as a Docker container. It requires zero configuration and produces interactive dashboards accessible from any browser.
Docker Hub: hub.docker.com/r/netdata/netdata
Deploy NetData to All Nodes
NetData must be deployed to every node individually (it monitors the host it runs on). Use this docker-compose.yml:
netdata-compose.yml โ deploy on each node
version: '3'
services:
netdata:
image: netdata/netdata
hostname: MASTER # change per node: MASTER, SLAVE1, SLAVE2, SLAVE3
ports:
- 19999:19999
cap_add:
- SYS_PTRACE
security_opt:
- apparmor:unconfined
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
Run docker-compose up -d (or add to your stack deploy) on each Pi, changing the hostname: value to match the node name.
Access the Dashboards
| Node | NetData URL |
|---|---|
| MASTER | http://192.168.0.23:19999 |
| SLAVE1 | http://192.168.0.17:19999 |
| SLAVE2 | http://192.168.0.18:19999 |
| SLAVE3 | http://192.168.0.19:19999 |
What NetData Monitors
- CPU utilisation per core
- RAM and swap usage
- Disk I/O (read/write throughput and latency)
- Network interface traffic (eth0, docker0, overlay)
- Per-container CPU, memory and network stats
- System load average and process counts
- Temperature sensors (via
vcgencmdplugin)
Do NOT install a conventional Linux firewall on any Docker host. Docker uses Netfilter iptables for both overlay networking and NAT. ufw/iptables-based firewalls will conflict with Docker's rules and can silently break the installation.
For production deployments, review the NetData docs for SSL/TLS configuration and authentication before exposing the dashboard to the internet.