2026-06-04 / Unraid NAS

Building a Container Monitoring Dashboard on Unraid with cAdvisor and Grafana

This article records how I used cAdvisor, Prometheus, and Grafana on Unraid to observe container resource usage and build a practical dashboard.

UnraidSelf-hostingMonitoringcAdvisorGrafanaPrometheus

Background

After running more services on Unraid, I needed a clearer way to see container CPU, memory, network, and disk usage. The goal was not a fancy dashboard, but a practical monitoring view for daily operations.

Why cAdvisor

cAdvisor can collect container-level metrics directly from the host. It works well with Prometheus and gives Grafana enough data to build panels for resource usage and trends.

Monitoring Flow

flowchart LR
    A["Unraid Docker containers"] --> B["cAdvisor"]
    B --> C["Prometheus"]
    C --> D["Grafana dashboard"]

Prometheus Configuration

A simple scrape job points Prometheus to the cAdvisor endpoint:

yaml
scrape_configs:
  - job_name: cadvisor
    static_configs:
      - targets: ["cadvisor:8080"]

Dashboard Design

The dashboard should answer practical questions quickly:

  • Which container is using the most CPU?
  • Which container has abnormal memory growth?
  • Is network traffic expected?
  • Are disk IO spikes related to a specific service?

Useful Query Examples

Container memory usage can be observed with metrics such as container_memory_usage_bytes. CPU usage can be derived from container_cpu_usage_seconds_total with a rate calculation.

Lessons Learned

The dashboard is most useful when it is boring and clear. Keep panels close to operational questions and avoid filling the page with metrics that no one will act on.

Building a Container Monitoring Dashboard on Unraid with cAdvisor and Grafana | Remi Resume