Create, import, export, and manage Grafana dashboards for home lab observability.
Create, import, and manage Grafana dashboards on a Raspberry Pi home lab. Covers dashboard provisioning, panel configuration, variable templating, data source setup, and JSON export/import workflows.
homelab_sshTest)Optional:
homelab_sshTest.homelab_serviceHealth for the Grafana container.homelab_grafanaSnapshot with the dashboard UIDhomelab_prometheusQuery to verify data availabilityhomelab_grafanaSnapshothttp://prometheus:9090Grafana service:
http://pi:3000http://localhost:3000/api/File locations:
/opt/homelab/docker/monitoring/
grafana/provisioning/
dashboards/ # Dashboard provisioning config
datasources/ # Data source provisioning config
grafana/dashboards/ # Provisioned dashboard JSON files
Common dashboard UIDs:
rYdddlPWkUseful PromQL for dashboards:
100 - (avg by(instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)(1 - node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes) * 100(1 - node_filesystem_avail_bytes{mountpoint="/"} / node_filesystem_size_bytes{mountpoint="/"}) * 100rate(container_cpu_usage_seconds_total[5m])User: "Export my main Pi dashboard from Grafana"
Assistant actions:
homelab_sshTesthomelab_grafanaSnapshot with the dashboard UIDResponse:
Here is the full JSON export for dashboard
rYdddlPWk(Node Exporter Full). It contains 24 panels across 6 rows covering CPU, memory, disk, network, and system load. You can re-import this via the Grafana UI at Settings > JSON Model or place it in the provisioning directory.
User: "Create a dashboard showing my Pi's temperature over time"
Assistant actions:
homelab_prometheusQuery with node_thermal_zone_temp| Tool | Purpose |
|---|---|
homelab_sshTest | Validate connectivity before operations |
homelab_grafanaSnapshot | Export dashboard JSON by UID |
homelab_prometheusQuery | Verify metric availability for panels |
homelab_serviceHealth | Check Grafana container health |
homelab_serviceLogs | Debug Grafana issues |
homelab_serviceRestart | Restart Grafana after provisioning changes |