search.png
关于我
menu.png
docker 监控程序 cAdvisor

cAdvisor 简介

cAdvisor (Container Advisor) 让容器用户了解他们正在运行的容器的资源使用和性能特征。它是一个正在运行的守护进程,用于收集、聚合、处理和导出有关正在运行的容器的信息。具体来说,它为每个容器保存资源隔离参数、历史资源使用情况、完整历史资源使用情况的直方图和网络统计信息。此数据由容器和机器范围导出。

https://github.com/google/cadvisor

优势:

  1. 可以采集机器上所有运行的容器信息

  2. 提供了基础的查询界面和HTTP接口

  3. 轻松接入k8s、Prometheus

快速启用

在 Docker 容器中运行 cAdvisor
为了在您的机器上使用 Docker 快速试用 cAdvisor,我们提供了一个 Docker 映像,其中包含您开始使用所需的一切。您可以运行单个 cAdvisor 来监控整个机器。只需运行:

VERSION=v0.36.0 # use the latest release version from https://github.com/google/cadvisor/releases
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 \
  gcr.io/cadvisor/cadvisor:$VERSION

cAdvisor 现在正在(在后台)在http://localhost:8080. 该设置包括具有 Docker 状态 cAdvisor 需要观察的目录。

记得 sudo docker pull gcr.io/cadvisor/cadvisor:v0.36.0

gcr被墙,可以使用google/cadvisor做替代

图形界面:

总的说该工具的web界面功能较为简单,只能查看近一段时间的统计。需要接入普米。

容器监控的原理

Docker是基于Namespace、Cgroups和联合文件系统实现的

Cgroups不仅可以用于容器资源的限制,还可以提供容器的资源使用率。不管用什么监控方案,底层数据都来源于Cgroups

Cgroups的工作目录 /sys/fs/cgroup 下包含了Cgroups的所有内容。Cgroups包含了很多子系统,可以对CPU,内存,PID,磁盘IO等资源进行限制和监控。

查看 /sys/fs/cgroup 文件夹

drwxr-xr-x 15 root root 380 Aug  2  2021 ./
drwxr-xr-x 11 root root   0 Aug  2  2021 ../
dr-xr-xr-x  5 root root   0 Aug  2  2021 blkio/
lrwxrwxrwx  1 root root  11 Aug  2  2021 cpu -> cpu,cpuacct/
lrwxrwxrwx  1 root root  11 Aug  2  2021 cpuacct -> cpu,cpuacct/
dr-xr-xr-x  6 root root   0 Aug  2  2021 cpu,cpuacct/
dr-xr-xr-x  3 root root   0 Aug  2  2021 cpuset/
dr-xr-xr-x  5 root root   0 Aug  2  2021 devices/
dr-xr-xr-x  3 root root   0 Aug  2  2021 freezer/
dr-xr-xr-x  3 root root   0 Aug  2  2021 hugetlb/
dr-xr-xr-x  6 root root   0 Aug  2  2021 memory/
lrwxrwxrwx  1 root root  16 Aug  2  2021 net_cls -> net_cls,net_prio/
dr-xr-xr-x  3 root root   0 Aug  2  2021 net_cls,net_prio/
lrwxrwxrwx  1 root root  16 Aug  2  2021 net_prio -> net_cls,net_prio/
dr-xr-xr-x  3 root root   0 Aug  2  2021 perf_event/
dr-xr-xr-x  5 root root   0 Aug  2  2021 pids/
dr-xr-xr-x  2 root root   0 Aug  2  2021 rdma/
dr-xr-xr-x  6 root root   0 Aug  2  2021 systemd/
dr-xr-xr-x  5 root root   0 Aug  2  2021 unified/

https://www.cnblogs.com/lifuqiang/articles/15434592.html

版权声明

知识共享许可协议 本文章由作者“衡于墨”创作,转载请注明出处,未经允许禁止用于商业用途

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。
发布时间:2022年06月25日 09:50:34

评论区#

还没有评论哦,期待您的评论!

关闭特效