cAdvisor: Container resource usage analysis tool
Daemon for monitoring container resource usage and metrics.
Learn more about cAdvisor
cAdvisor is a container monitoring daemon that gathers resource utilization data from running containers. It operates by collecting metrics on CPU, memory, network, and disk usage, then processes and stores this information in a hierarchical container model. The tool maintains resource isolation parameters, historical usage data, and complete histograms for analysis. cAdvisor is commonly deployed as a standalone daemon, within Docker containers, or as a Kubernetes daemonset to monitor container performance across individual machines or entire clusters.
Hierarchical Container Abstraction
Native lmctfy-based container model represents nested container structures without runtime-specific code. Supports Docker, containerd, and other runtimes through a unified interface that preserves container relationships and resource hierarchies.
Multi-Interface Metric Export
Exposes metrics through web UI, versioned REST API, and pluggable storage backends simultaneously. Integrates with Prometheus, InfluxDB, or custom pipelines without choosing a single monitoring stack.
Dual-Scope Resource Tracking
Monitors both per-container metrics and aggregate host-level statistics simultaneously. Correlate container behavior with system-wide resource pressure for comprehensive performance analysis.
import requests
# Query cAdvisor HTTP API for container stats
response = requests.get('http://localhost:8080/api/v1.3/docker/<container_id>')
container_stats = response.json()
cpu_usage = container_stats['stats'][0]['cpu']['usage']['total']
memory_usage = container_stats['stats'][0]['memory']['usage']
print(f"CPU: {cpu_usage}, Memory: {memory_usage}")This patch release fixes a critical nil pointer dereference bug in the Docker integration when GraphDriver is nil.
- –docker: fix nil pointer dereference when GraphDriver is nil
This patch release fixes issues with the entrypoint and healthcheck scripts in the cadvisor container.
- –Fixing entrypoint- and healthcheck script in container
This release drops support for older Docker versions, adds s390x CPU topology exposure, and improves container registry references.
- –docker versions older than 25.0 are no longer supported
- –Expose s390x CPU Topology to Prometheus
- –Replace references to docker registry gcr.io with ghcr.io
- –fix: docker working even without containerd
- –feat: add standard deviation in derived metrics
Top in Cloud & DevOps
Related Repositories
Discover similar tools and frameworks used by developers
AWX
Django-based control plane for centralized Ansible management.
ProxmoxVE
Bash scripts for automated Proxmox LXC/VM provisioning.
Setup Node
Node.js version management and dependency caching for workflows.
Uptime Kuma
Node.js application monitoring HTTP, TCP, DNS, and ping endpoints.
Podman
Daemonless OCI container management with Docker-compatible CLI and rootless execution support.