cAdvisor 部署使用

cAdvisor 是 Goolgle 开发的用来监控容器运行指标的工具,使用 Go 语言开发。Kubelet 集成了 cAdvisor 来监控采集 Pod 中的容器的运行指标。 [1]

可以直接使用 vAdvisor 配合 Prometheus 来监控 Docker/Containerd 容器运行指标,并配合 Prometheus 及 Grafana 进行图形展示或告警

环境信息

  • cAdvisor version v0.47.0 (c7714a77)
  • Docker Engine - Community 20.10.9

在 host 上二进制安装部署 cAdvisor

下载二进制包,即可直接运行程序

wget https://github.com/google/cadvisor/releases/download/v0.47.0/cadvisor-v0.47.0-linux-amd64

chmod +x cadvisor-v0.47.0-linux-amd64

./cadvisor-v0.47.0-linux-amd64

运行之后,默认监听 8080 端口,启动后访问 UI : http://localhost:8080。Prometheus 会读取 http://localhost:8080/metrics 暴露的指标。

cAdvisor metrics

cAdvisor metrics 官方说明

cAdvisor 主机节点中可以使用以下命令列出收集到的指标

curl localhost:8080/metrics

监控容器是否在运行中

cAdvisor 的指标 container_last_seen 记录了最后一次检测到容器运行时的时间 (Gauge),如果容器停止运行,这个值会停留在最后一次观察到容器运行的时间,可以通过此指标,使用以下表达式来监控容器是否在运行

container_last_seen - container_last_seen offset 1m == 0

脚注