Skip to main content
Monitoring

Container Observability: Docker Container Monitoring with cAdvisor

How to capture real-time CPU, memory, network, and disk I/O metrics across microservices using Google cAdvisor and Prometheus.

Published ·Updated ·1 min read·Lead Network Engineer
Container Observability: Docker Container Monitoring with cAdvisor

Deploying cAdvisor

Add cAdvisor to your Docker environment:

yaml
version: '3.8'

services:
  cadvisor:
    image: gcr.io/cadvisor/cadvisor:v0.47.2
    container_name: cadvisor
    privileged: true
    devices:
      - /dev/kmsg
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run:ro
      - /sys:/sys:ro
      - /var/lib/docker/:/var/lib/docker:ro
      - /dev/disk/:/dev/disk:ro
    ports:
      - "8080:8080"
    restart: unless-stopped

Useful PromQL Queries

Container CPU Usage Percentage

sql
sum(rate(container_cpu_usage_seconds_total{name!=""}[5m])) by (name) * 100

Container Memory Utilization

sql
container_memory_usage_bytes{name!=""} / container_spec_memory_limit_bytes{name!=""} * 100

Lead Network Engineer

Network Engineer & IT Infrastructure Specialist

Networking • Infrastructure • Monitoring Specialized in high-availability enterprise networks, virtualized infrastructure, and automated Prometheus/Grafana monitoring stacks.

Keep Reading