代码改变世界

6. 使用cadvisor监控docker容器

2019-08-15 16:28  软件测试汪  阅读(1525)  评论(0编辑  收藏  举报

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

转载请注意出处,谢谢合作