Centos7安装Promethus监控docker容器

一、组件安装及配置修改
1、CAdvisor介绍
是谷歌开发的用于分析运行中容器的资源占用和性能指标的开源工具。CAdvisor是一个运行时的守护进程,负责收集、聚合、处理和输出运行中容器的信息。
使用文档:https://github.com/google/cadvisor
图表模板:https://grafana.com/dashboards/193
2、运行单个cAdvisor来监控整个Docker主机

docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  --volume=/dev/disk/:/dev/disk:ro \
  --publish=8080:8080 \
  --detach=true \
  --name=cadvisor \
  google/cadvisor:latest

注意:第二步和第三步是两种方式,根据实际情况选择,只能运行一个。
3、使用docker-compose方式运行cAdvisor来监控整个Docker主机
需要提前安装好docker-compose

mkdir /opt/cadvisor && cd /opt/cadvisor
vim docker-compose.yml

version: "2.3"
services:
  cadvisor:
    image: google/cadvisor:latest
    container_name: cadvisor
    hostname: cadvisor
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run:rw
      - /sys:/sys:ro
      - /var/lib/docker/:/var/lib/docker:ro
      - /dev/disk/:/dev/disk:ro
    ports:
      - "8081:8080"
    devices:
      - "/dev/kmsg"
    restart: always
    networks:
      - prom_monitor

networks:
  prom_monitor:
    driver: bridge

docker-compose up -d

4、服务启动后可通过浏览器访问:http://192.168.100.7:8080 看到cadvisor页面
图片[1]众客华禹 – 网站运维分享-IT技术资源教程-运维成长之路-个人随笔-华禹个人博客网站Centos7安装Promethus监控docker容器众客华禹 – 网站运维分享-IT技术资源教程-运维成长之路-个人随笔-华禹个人博客网站众客华禹
5、配置Prometheus

vim /usr/local/prometheus/prometheus.yml 
  - job_name: cadvisor
    file_sd_configs:
    - files: ['/usr/local/prometheus/sd_config/docker-node.yml']
      refresh_interval: 3s

vim /usr/local/prometheus/sd_config/docker-node.yml
- targets:
  - 192.168.100.7:8080          #第一台docker
  - 192.168.100.8:8080          #第二台docker
  labels:
    type: docker

5、重启prometheus监控

systemctl restart prometheus

6、查看是否获取到docker数据

图片[2]众客华禹 – 网站运维分享-IT技术资源教程-运维成长之路-个人随笔-华禹个人博客网站Centos7安装Promethus监控docker容器众客华禹 – 网站运维分享-IT技术资源教程-运维成长之路-个人随笔-华禹个人博客网站众客华禹
7、表达式计算容器

容器CPU使用率:
sum(irate(container_cpu_usage_seconds_total{image!=""}[1m])) without (cpu)

查询容器内存使用量(单位:字节):
container_memory_usage_bytes{image!=""}

查询容器网络接收量速率(单位:字节/秒):
sum(rate(container_network_receive_bytes_total{image!=""}[1m])) without (interface)

查询容器网络传输量速率(单位:字节/秒):
sum(rate(container_network_transmit_bytes_total{image!=""}[1m])) without (interface)

查询容器文件系统读取速率(单位:字节/秒):
sum(rate(container_fs_reads_bytes_total{image!=""}[1m])) without (device)

查询容器文件系统写入速率(单位:字节/秒):
sum(rate(container_fs_writes_bytes_total{image!=""}[1m])) without (device)

8、配置grafana,导入模板

图片[3]众客华禹 – 网站运维分享-IT技术资源教程-运维成长之路-个人随笔-华禹个人博客网站Centos7安装Promethus监控docker容器众客华禹 – 网站运维分享-IT技术资源教程-运维成长之路-个人随笔-华禹个人博客网站众客华禹

模板: https://grafana.com/dashboards/ 893 或者 179、193

图片[4]众客华禹 – 网站运维分享-IT技术资源教程-运维成长之路-个人随笔-华禹个人博客网站Centos7安装Promethus监控docker容器众客华禹 – 网站运维分享-IT技术资源教程-运维成长之路-个人随笔-华禹个人博客网站众客华禹

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片