为 Kubernetes 自动扩缩容提供容器 CPU 与内存资源指标的可扩展数据源。
google/cadvisor
一个 Go 守护进程,用于采集、汇总并导出运行中容器的资源使用与性能数据,提供 Web 界面和 REST API。
- Star
- 19,498
- Fork
- 2,500
- 未关闭 Issue
- 76
- 最近提交
- 12天前
这是什么?
cAdvisor(Container Advisor)帮助容器用户了解运行中容器的资源使用情况和性能表现。它以守护进程方式运行,为每个容器持续记录资源隔离参数、历史资源用量、用量直方图以及网络统计,数据可按容器或整机维度查看。
cAdvisor 原生支持 Docker 容器,并设计为兼容其他类型的容器。其容器抽象沿用 lmctfy 的模型,容器按层级嵌套。它可以作为独立二进制运行,也可以以 Docker 容器或 Kubernetes DaemonSet 的形式部署。
项目在端口上提供 Web 界面,并暴露带版本的远程 REST API,同时在 client 目录中提供官方 Go 客户端。统计数据还可导出到多种存储插件。项目路线图中计划加入容器性能建议、自动调优和面向调度器的用量预测。
核心功能
- 01采集每个容器的资源隔离参数、历史资源用量和网络统计。
- 02同时提供整机和单容器两个维度的资源用量视图。
- 03内置 Web 界面。
- 04提供带版本的远程 REST API 和官方 Go 客户端。
- 05可将统计数据导出到多种存储插件。
- 06支持独立运行、Docker 容器部署或作为 Kubernetes DaemonSet 部署。
适用场景
- 监控单台主机上 Docker 容器的资源使用情况。
- 在 Kubernetes 集群中以节点级 agent 方式运行监控。
- 将容器指标写入外部存储或监控链路。
- 排查容器历史 CPU、内存和网络用量。
快速上手
- 1
设置为最新发布版本号
VERSION=0.55.1 - 2
用 Docker 容器运行 cAdvisor
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
在 http://localhost:8080 打开网页界面
使用前须知
- 元数据中的许可证显示为 NOASSERTION,因此无法从元数据确定具体条款。
- Docker 快速启动需要特权容器并挂载多个主机目录。
- CentOS、Fedora、RHEL 和 LXC 环境需要额外步骤,文档中另有说明。
收录于专题
标签
常见问题
- cadvisor 是什么?
- 一个 Go 守护进程,用于采集、汇总并导出运行中容器的资源使用与性能数据,提供 Web 界面和 REST API。 cAdvisor(Container Advisor)帮助容器用户了解运行中容器的资源使用情况和性能表现。它以守护进程方式运行,为每个容器持续记录资源隔离参数、历史资源用量、用量直方图以及网络统计,数据可按容器或整机维度查看。
- cadvisor 可以免费使用吗?用的什么许可证?
- cadvisor 以 Other 许可证开源。用于商业产品前,请先确认许可证条款。
- cadvisor 还在维护吗?
- 活跃维护中。cadvisor 最近一次提交是在 2026年10月12日。
- cadvisor 适合用来做什么?
- 监控单台主机上 Docker 容器的资源使用情况。 在 Kubernetes 集群中以节点级 agent 方式运行监控。 将容器指标写入外部存储或监控链路。 排查容器历史 CPU、内存和网络用量。
- cadvisor 怎么安装和运行?
- 设置为最新发布版本号: VERSION=0.55.1 用 Docker 容器运行 cAdvisor: 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 在 http://localhost:8080 打开网页界面
- 在哪里获取 cadvisor?
- 源代码和安装说明在 GitHub 上:https://github.com/google/cadvisor
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
开源的实时基础设施监控工具,支持逐秒指标、自动发现、内置机器学习异常检测与告警。
一个 Kubernetes 附加服务,监听 API Server 并以 Prometheus 指标形式暴露 Pod、Deployment、Node 等对象的状态。
基于 OpenTelemetry Collector 的发行版,提供可编程的表达式流水线,用于采集指标、日志、链路追踪和性能剖析数据。
轻量级自托管服务器监控工具,提供 Web 仪表盘、Docker 容器统计、历史数据和告警。
开源的监控与可观测性平台,可查询、可视化并对来自多种数据源的指标、日志和链路数据设置告警。