Prometheus的Docker容器监控工具cAdvisor

Prometheus的Docker容器监控工具cAdvisor,第1张

Prometheus的Docker容器监控工具cAdvisor

Google开发的容器监控工具cAdvisor,cAdvisor能够较好地展示Host和容器两个层次的监控数据,并且能够展示历史变化数据。

1、cAdvisor简介

 为了解决容器的监控问题,Google开发了一款容器监控工具cAdvisor(Container Advisor),它为容器用户提供了对其运行容器的资源使用和性能特征的直观展示。 它是一个运行守护程序,用于收集,聚合,处理和导出有关正在运行的容器的信息。

Cadvisor使用Go语言开发,利用Linux的cgroups获取容器的资源使用信息,在K8S中集成在Kubelet里作为默认启动项,官方标配。

cAdvisor可以对节点机器上的资源及容器进行实时监控和性能数据采集,包括CPU使用情况、内存使用情况、网络吞吐量及文件系统使用情况。

cAdvisor使用go语言开发,如果想了解更多请访问其官方github:https://github.com/google/cadvisorhttps://github.com/google/cadvisor

2、安装cAdvisor 2.1 使用二进制部署
下载二进制:https://github.com/google/cadvisor/releases/latest
本地运行:./cadvisor  -port=8080 &>>/var/log/cadvisor.log
2.2 使用docker部署
docker run 
  --volume=/:/rootfs:ro 
  --volume=/var/run:/var/run:rw 
  --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=true 
  google/cadvisor:latest

注意:

在Ret Hat,CentOS, Fedora 等发行版上需要传递如下参数,因为 SELinux 加强了安全策略:

--privileged=true
  
启动后访问:http://127.0.0.1:8080查看页面,/metric查看指标

2.3 centos7上面 docker 启动 cAdvisor 报错问题解决

启动命令:

docker run   --volume=/:/rootfs:ro   --volume=/var/run:/var/run:rw   --volume=/sys:/sys:ro   --volume=/apps/docker/:/var/lib/docker:ro   --volume=/dev/disk/:/dev/disk:ro   --publish=9101:8080   --detach=true   --name=cadvisor   google/cadvisor:latest

报错日志

W0619 08:47:06.754687       1 manager.go:349] Could not configure a source for OOM detection, disabling OOM events: open /dev/kmsg: no such file or directory
F0619 08:47:06.909778       1 cadvisor.go:172] Failed to start container manager: inotify_add_watch /sys/fs/cgroup/cpuacct,cpu: no such file or directory

解决办法:

mount -o remount,rw '/sys/fs/cgroup'
ln -s /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/cpuacct,cpu

原因分析:

系统资源只读

 3、metrics指标采集

采集的url:http://192.168.48.15:8080/metricshttp://192.168.48.15:8080/metrics

 在prometheus的yaml配置文件里添加一条即可!!!

本文简单介绍了Google开发的容器监控工具cAdvisor的基本安装与使用,总结下来cAdvisor可以帮助展示Host和容器两方面的监控数据,还可以动态展示历史数据的变化。但是,cAdvisor的缺点也非常明显,那就是它的 *** 作界面比较简陋,而且需要多个页面来回跳转,其易用性甚至还不如Weave Scope。更为重要的是,它不能监控多个Host,而Weave Scope至少还可以监控多个Host。那么,为何我们还要学习它呢?因为cAdvisor有一个亮点之处就在于它可以将监控数据导出给第三方工具,而这个第三方工具Prometheus,Prometheus会对这些监控数据做进一步加工处理。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5624184.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存