Prometheus入门到放弃(4)之cadvisor监控docker容器

Prometheus监控docker容器运行状态,我们用到cadvisor服务,cadvisor我们这里也采用docker方式直接运行。

1、下载镜像

[root@prometheus-server ~]# docker pull google/cadvisor

2、运行

cadvisor我们需要运行在docker宿主机上(与node_exporter类似),然后通过HTTP方式供Prometheus获取数据

[root@prometheus-server ~]# 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

3、配置 Prometheus 添加docker容器监控目标

[root@prometheus-server ~]# vim /etc/prometheus/prometheus.yml 
.....
### 新增对对docker容器的监控
- job_name: 'docker' static_configs: - targets: ['172.16.11.248:9101','10.10.0.13:9101'] ## 目标主机

然后重启prometheus,看Prometheus界面targets是否有新增加的主机

 

4、接入Grafana展示容器监控数据

这里我们去Grafana官网,找别人做好的Dashboard模板,地址:https://grafana.com/dashboards/4170,下载模板json文件然后导入本地Grafana。关于导入Dashbozrd模板参考https://www.cnblogs.com/tchua/p/11115146.html

模板导入后需要修改几个地方:

  1)修改label_values(up{job="container"}, instance),container改为对应的值,可以通过Prometheus界面查询具体的job对应名称。

   2)修改监控图形中公式值,因为该模板不是基于最新版Node_exporter开发,有些值并不适用,我们需要修改对应的值,具体我们也可以通过Prometheus查询界面确定value值。

 5、查看Dashboard面板

可以看到不仅可以监控node节点容器的信息,还可以简单展示dokcer容器宿主机的系统状况,并可以在左上角Node处选择不同的node节点查看不同的node节点上的docker运行信息。

 

posted @ 2019-07-02 13:55  小哥boy  阅读(3709)  评论(0编辑  收藏  举报