Prometheus客户端docker监控cAdvisor
Posted gsls200808
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Prometheus客户端docker监控cAdvisor相关的知识,希望对你有一定的参考价值。
从上一篇文章讲到客户端节点监控需要用node_exporter,docker监控也需要用一个exporter,这个exporter就是cAdvisor,类似zabbix的各种agent
cadvisor官网:GitHub - google/cadvisor: Analyzes resource usage and performance characteristics of running containers.
下面讲正题
1.下载安装
官网方案,直接用docker run运行
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=9080:8080 \\
--detach=true \\
--name=cadvisor \\
--privileged \\
--device=/dev/kmsg \\
gcr.io/cadvisor/cadvisor:latest
实际上gcr.io是谷歌的,谷歌这个域名是访问不下来的。所以需要一个折中方案
下载离线包:cadvisor.tar-kubernetes文档类资源-CSDN下载
然后导入镜像
docker load -i cadvisor.tar
查看导入的target名和版本
docker image ls
可以看到导入的名为google/cadvisor:latest
然后执行docker run,把后面的gcr.io一串换成google/cadvisor:latest
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=9080:8080 \\
--detach=true \\
--name=cadvisor \\
--privileged \\
--device=/dev/kmsg \\
google/cadvisor:latest
然后执行docker ps能看到cadvisor这个进程
那个command全名是 "/usr/bin/cadvisor -logtostderr" 有些镜像是import导入的,需要指定这个command
之后我们打开
http://10.24.11.202:9080/containers/
ip换成自己的,可以看到容器状态
也可以用api看容器具体情况
http://10.24.11.202:9080/api/v1.0/containers/docker/988b9b94904649c6ce0bdb97e0a5f8b23c998f86435ef0074e653580c4d2f11f
不过我们监控关注的是metrics
http://10.24.11.202:9080/metrics
2.服务端prometheus.yml添加节点信息
编辑
vi /usr/local/prometheus/prometheus.yml
添加
- job_name: "202docker"
static_configs:
- targets: ["10.24.11.202:9080"]
名称自己起,targets需要配置客户端的ip端口号
重启服务端
systemctl restart prometheus
3.Grafana添加仪表
然后导入仪表盘插件,先从官网找模板
这里推荐复制id 179 (Docker and Host Monitoring w/ Prometheus)
导入过程跟上一篇一样,仪表如图
以上是关于Prometheus客户端docker监控cAdvisor的主要内容,如果未能解决你的问题,请参考以下文章
云原生之Docker实战使用Docker部署Prometheus 服务监控系统