Prometheus之Cadvisor实现pod资源监控

一 Cadvisor介绍

GitHub地址:https://github.com/google/cadvisor

cadvisor由谷歌开源,cadvisor不仅可以搜集一台机器上所有运行的容器信息,还提供基础查询界面和http接口,方便其它组件如Prometheus进行数据抓取,cadvisor可以对节点机器上资源及容器进行实时监控和性能数据采集,包括cpu使用情况、内存使用情况、网络吞吐率及文件系统使用情况。

k8s 1.12之前cadvisor集成在node节点的kubelet服务中,从1.12版本开始分离为两个组件,因此需要在node节点单独部署cadvisor。

二 Cadvisor镜像准备

root@k8s-harbor-01:~# docker pull gcr.io/cadvisor/cadvisor:0.38.8
root@k8s-harbor-01:~# docker tag gcr.io/cadvisor/cadvisor:v0.38.8 192.168.174.120/baseimages/cadvisor:v0.38.8
root@k8s-harbor-01:~# docker push 192.168.174.120/baseimages/cadvisor:v0.38.8

三 启动Cadvisor容器

root@k8s-node-01:~# docker run  --restart=always --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 192.168.174.120/baseimages/cadvisor:v0.38.8

四 验证Cadvisor web界面

五 Prometheus采集Cadvisor数据

5.1 修改Prometheus.yml

root@prometheus-01:~# cat /usr/local/prometheus/prometheus.yml

。。。。。

  • job_name: "prometheus-containers"
    static_configs:
    • targets: ['192.168.174.106:8080']

5.2 重启Prometheus

root@prometheus-01:~# systemctl restart prometheus

六 验证Prometheus数据

七 Prometheus可视化

7.1 grafana添加模板

推荐模板ID:395 893

7.2 查看图形信息

 

posted @ 2021-11-17 15:47  小吉猫  阅读(888)  评论(0编辑  收藏  举报