Prometheus监控docker容器运行状态,我们用到cadvisor服务,cadvisor我们这里也采用docker方式直接运行。这里我们可以服务端和客户端都使用cadvisor
客户端
1.下载镜像
[root@localhost opt]# docker pull google/cadvisor
2.运行
[root@localhost opt]# 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 \
--volume=/cgroup:/cgroup:ro \
--privileged=true \
--publish=9101:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor
注意:这里是把容器8080端口映射到主机9101,cadvisor有web界面地址:http://IP:9101
服务端
1.安装cadvisor,同客户端
2.配置 Prometheus 添加docker容器监控目标
[root@prometheus-server ~]# vim /etc/prometheus/prometheus.yml
### 新增对对docker容器的监控
- job_name: 'docker'
static_configs:
- targets: ['192.168.229.138:9101','192.168.229.139:9101'] ## 目标主机
3.重启prometheus
[root@localhost opt]# systemctl restart prometheus
4.浏览器访问Prometheus Status > targets
image.png5.下载模板
地址:https://grafana.com/dashboards/4170
image.png6.修改Variables
因为我们在prometheus.yml 新增的 job_name是docker,所以修改如下
image.png7.接入Grafana展示容器监控数据
我们可以看到容器的内存信息,如下图所示:
image.png
注意:模板有些值并不适用,比如CPU的值并没有取到,我们需要修改对应的值,具体我们也可以通过Prometheus查询界面确定value值。也就是说,我们必须要在Prometheus界面查询到值才可以展示。这里不作具体介绍。
欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560
转载请注意出处,谢谢合作
网友评论