Scalable source of container resource CPU and memory metrics for Kubernetes autoscaling, served through the Metrics API.
google/cadvisor
A Go daemon that collects, aggregates and exports resource usage and performance data for running containers, with a web UI and REST API.
- Stars
- 19,498
- Forks
- 2,500
- Open issues
- 76
- Last commit
- 13 days ago
What is it?
cAdvisor (Container Advisor) gives container users visibility into how their running containers use resources and perform. It runs as a daemon that, for each container, tracks resource isolation parameters, historical resource usage, histograms of that usage, and network statistics. The data can be viewed per container or for the whole machine.
cAdvisor has native support for Docker containers and is designed to work with other container types. Its container abstraction follows lmctfy's model, so containers are nested hierarchically. It can be run as a standalone binary, as a Docker container, or as a Kubernetes DaemonSet.
The project exposes a web UI on its port and a versioned remote REST API, with an official Go client in the client directory. Stats can also be exported to various storage plugins. The project's stated roadmap includes performance advice, auto-tuning, and usage prediction for schedulers.
Key features
- 01Collects per-container resource isolation settings, historical usage and network statistics.
- 02Provides machine-wide and per-container views of resource usage.
- 03Includes a built-in web UI.
- 04Exposes a versioned remote REST API and an official Go client.
- 05Exports stats to various storage plugins.
- 06Runs standalone, in Docker, or as a Kubernetes DaemonSet.
Use cases
- Monitoring resource usage of Docker containers on a single host.
- Running a per-node monitoring agent in a Kubernetes cluster.
- Feeding container metrics into an external storage or monitoring pipeline.
- Investigating historical CPU, memory and network use of containers.
Quick start
- 1
Set the cAdvisor version to the latest release
VERSION=0.55.1 - 2
Run cAdvisor in a Docker container
sudo docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:ro --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro --publish=8080:8080 --detach=true --name=cadvisor --privileged --device=/dev/kmsg ghcr.io/google/cadvisor:$VERSION - 3
Open the web UI at http://localhost:8080
Things to know
- The license is listed as NOASSERTION, so the terms are not clear from the metadata.
- The Docker quick start requires a privileged container with several host directories mounted.
- CentOS, Fedora, RHEL, and LXC setups need extra steps described separately in the docs.
In collections
Topics
FAQ
- What is cadvisor?
- A Go daemon that collects, aggregates and exports resource usage and performance data for running containers, with a web UI and REST API. cAdvisor (Container Advisor) gives container users visibility into how their running containers use resources and perform. It runs as a daemon that, for each container, tracks resource isolation parameters, historical resource usage, histograms of that usage, and network statistics. The data can be viewed per container or for the whole machine.
- Is cadvisor free to use? What license does it have?
- cadvisor is open source under the Other license. Check the license terms before using it in commercial products.
- Is cadvisor still maintained?
- Actively maintained. The last commit to cadvisor was on Oct 12, 2026.
- What can I use cadvisor for?
- Monitoring resource usage of Docker containers on a single host. Running a per-node monitoring agent in a Kubernetes cluster. Feeding container metrics into an external storage or monitoring pipeline. Investigating historical CPU, memory and network use of containers.
- How do I install cadvisor?
- Set the cAdvisor version to the latest release: VERSION=0.55.1 Run cAdvisor in a Docker container: sudo docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:ro --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro --publish=8080:8080 --detach=true --name=cadvisor --privileged --device=/dev/kmsg ghcr.io/google/cadvisor:$VERSION Open the web UI at http://localhost:8080
- Where can I get cadvisor?
- The source code and installation instructions are on GitHub: https://github.com/google/cadvisor
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Open-source real-time infrastructure monitoring agent with per-second metrics, auto-discovery, built-in ML anomaly detection and alerting.
An add-on Kubernetes service that listens to the API server and exposes Prometheus metrics describing the state of objects like pods, deployments and nodes.
An OpenTelemetry Collector distribution with programmable, expression-based pipelines for metrics, logs, traces and profiles, built with Prometheus integration in mind.
Lightweight self-hosted server monitoring with a web dashboard, Docker container stats, historical data and alerts.
Open-source platform to query, visualize, alert on and explore metrics, logs and traces from many data sources.