Prometheus监控docker容器运行状态,咱们用到cadvisor服务,cadvisor咱们这里也采用docker方式直接运行。html
一、下载镜像node
[root@prometheus-server ~]# docker pull google/cadvisor
二、运行web
cadvisor咱们须要运行在docker宿主机上(与node_exporter相似),而后经过HTTP方式供Prometheus获取数据docker
[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:9101json
三、配置 Prometheus 添加docker容器监控目标vim
[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是否有新增长的主机google
四、接入Grafana展现容器监控数据spa
这里咱们去Grafana官网,找别人作好的Dashboard模板,地址:https://grafana.com/dashboards/4170,下载模板json文件而后导入本地Grafana。关于导入Dashbozrd模板参考http://www.javashuo.com/article/p-mumqretd-cy.htmlcode
模板导入后须要修改几个地方:server
1)修改label_values(up{job="container"}, instance),container改成对应的值,能够经过Prometheus界面查询具体的job对应名称。
2)修改监控图形中公式值,由于该模板不是基于最新版Node_exporter开发,有些值并不适用,咱们须要修改对应的值,具体咱们也能够经过Prometheus查询界面肯定value值。
五、查看Dashboard面板
能够看到不只能够监控node节点容器的信息,还能够简单展现dokcer容器宿主机的系统情况,并能够在左上角Node处选择不一样的node节点查看不一样的node节点上的docker运行信息。