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
5.下载模板
地址:https://grafana.com/dashboards/4170
6.修改Variables
因为我们在prometheus.yml 新增的 job_name是docker,所以修改如下
7.接入Grafana展示容器监控数据
我们可以看到容器的内存信息,如下图所示:
注意:模板有些值并不适用,比如CPU的值并没有取到,我们需要修改对应的值,具体我们也可以通过Prometheus查询界面确定value值。也就是说,我们必须要在Prometheus界面查询到值才可以展示。这里不作具体介绍。
欢迎关注微信公众号:软件测试汪。软件测试交流群:809111560
转载请注意出处,谢谢合作