Monitoring Raspberry Pis with PiStats & A Unified Dashboard for All Devices¶
As my self-hosted network grows, keeping an eye on my Raspberry Pis is becoming more important. With multiple Pi-hole, Home Assistant, and testing boards, I need a way to track their CPU usage, temperature, storage, and overall health—ideally from a single dashboard that also monitors other key devices.
In this post, I’ll cover:
- PiStats – A simple way to monitor Raspberry Pi devices.
- Unified Dashboards – How to centralise monitoring for all devices, including Synology NAS and other hardware.
PiStats: A Simple Raspberry Pi Monitoring Tool¶
What is PiStats?¶
PiStats is a lightweight monitoring tool designed for Raspberry Pi devices. It provides real-time stats on:\ ✅ CPU usage\ ✅ Temperature\ ✅ Memory & storage usage\ ✅ Uptime
It’s a great alternative to setting up Grafana & Prometheus, which, while powerful, can be overkill for basic monitoring needs.
How to Install PiStats on a Raspberry Pi¶
Since PiStats is a simple Python script, setup is quick.
1️⃣ Install dependencies
sudo apt update && sudo apt install python3-pip -y
pip3 install flask
2️⃣ Download PiStats
git clone https://github.com/Spirotot/PiStats.git
cd PiStats
3️⃣ Run PiStats
python3 app.py
4️⃣ Access the Web UI
- Open a browser and go to
http://<your-pi-ip>:5000 - You’ll see a basic dashboard with CPU, temperature, and memory stats.
Should You Use PiStats?¶
✅ Pros:
- Super lightweight (just a small Python script).
- Simple web-based UI with key metrics.
- No need for a database or complex setup.
❌ Cons:
- No long-term data storage (only real-time stats).
- No multi-device monitoring—only shows one Raspberry Pi at a time.
PiStats is great for quick, per-device monitoring, but if you want a single dashboard for all Raspberry Pis and other devices, you’ll need something more scalable.
Building a Unified Dashboard for Raspberry Pis & Other Devices¶
Since I want one dashboard to monitor all Raspberry Pis, my Synology NAS, and other devices, PiStats alone won’t cut it. Here are two solid options:
Option 1: Glances + Web UI (Quick & Simple)¶
Glances is a lightweight system monitoring tool that can show CPU, RAM, disk, and network usage across multiple devices.
How to Install & Set Up Glances¶
1️⃣ Install Glances on all Raspberry Pis
sudo apt update && sudo apt install glances -y
2️⃣ Run Glances in Web Mode
glances -w
- Access it via
http://<your-pi-ip>:61208
3️⃣ Centralised Dashboard:
- Install Glances on one device (e.g., NAS or a Raspberry Pi).
- Add all other Pis as remote agents:
glances --browser
- Now, you can monitor all devices in a single web interface.
✅ Pros:
- Quick to set up, no database required.
- Works on Raspberry Pi, Synology NAS, and other Linux devices.
- Lightweight compared to Prometheus/Grafana.
❌ Cons:
- No historical data storage—only real-time monitoring.
Option 2: Grafana + Prometheus (Powerful & Scalable)¶
If you want long-term monitoring, alerts, and detailed analytics, Grafana + Prometheus is a more advanced solution.
How to Set Up a Centralised Grafana Dashboard¶
1️⃣ Install Prometheus on a central device (NAS or Pi)
docker run -d --name=prometheus -p 9090:9090 prom/prometheus
2️⃣ Install Node Exporter on Raspberry Pis
wget https://github.com/prometheus/node_exporter/releases/latest/download/node_exporter-armv7
chmod +x node_exporter-armv7
./node_exporter-armv7 &
- This sends Pi metrics to Prometheus.
3️⃣ Install Grafana (on NAS or another Pi)
docker run -d -p 3000:3000 grafana/grafana
- Access Grafana at
http://<your-ip>:3000 - Add Prometheus as a data source.
- Create dashboards to track CPU, temperature, RAM, uptime, and more.
✅ Pros:
- Scales to multiple Raspberry Pis, NAS, and other devices.
- Stores historical data for analysis.
- Custom dashboards with alerts.
❌ Cons:
- More complex to set up.
- Uses more resources than Glances.
What’s Best for My Setup?¶
Since I want a single dashboard that covers all my Raspberry Pis and my NAS, my approach will likely be:
- For quick monitoring: Glances Web UI
- For long-term data & alerts: Grafana + Prometheus
PiStats is great as a basic, per-device tool, but if you want true multi-device monitoring, Glances or Grafana are the way to go.