码迷,mamicode.com
首页 > 其他好文 > 详细

grafan+cadvisor+prometheus监控docker

时间:2021-07-14 18:51:09      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:访问   ref   没有   仪表盘   修改   byte   lazy   服务器   exe   

grafan+cadvisor+prometheus监控docker:

  运行cadvisor:
  
  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   --publish=8081:8080   --detach=true   --name=cadvisor    google/cadvisor:latest
  
 
 运行grafana:
  
  docker run -d   --name=grafana   -p 3000:3000   grafana/grafana

  
  
  运行prometheus:
  
  docker run -d   --name=prometheus   -p 9090:9090   prom/prometheus



# 访问端口:
http://192.168.3.100:3000/
http://192.168.3.100:9090/
http://192.168.3.100:8081/

配置cadvisor:

访问入口: http://[ip]:8081

能看到数据信息就说明配置没问题

技术图片

配置prometheus:

#进入prometheus
docker exec -it prometheus sh


#修改配置
vim /etc/prometheus/prometheus.yml 

  static_configs:                                                                            
    - targets: [‘localhost:9090‘]                                                                
  - job_name: ‘docker‘                                                                           
    static_configs:                                                                              
    - targets: [‘192.168.3.100:8081‘]
    
#修改完毕后重启  prometheus 容器:
docker restart prometheus

进入web页面:

技术图片

技术图片

点击 http://192.168.3.100:8081/metrics能看到数据,说明配置没问题技术图片

能看到监控数据则没有问题

配置启动grafana:

docker run -d > --name=grafana > -p 3000:3000 grafana/grafana


# 默认账号密码都是 admin

技术图片

技术图片

添加数据源:

技术图片

选择 prometheus 为数据源:

技术图片

技术图片

选择这个源:

技术图片

添加数据展示 仪表盘:

技术图片
技术图片

container_memory_usage_bytes{image!="",name="cadvisor"}
container_memory_max_usage_bytes{image!="",name="cadvisor"}

填写完毕后 保存配置
#官方有很多仪表盘提供使用
#其中较为适合监控docker容器的仪表盘号: 193

技术图片

技术图片

技术图片

效果:

技术图片

技术图片

问题:

grafana图表无数据问题原因:

1. 如果grafna没有数据,可能时时间不对,需要每台服务器时间保持一致
2. promql存在问题,如:版本不兼容
3. prometheus里无数据,需要排查prometheus

多服务器监控docker

默认只能监控当前主机,如果需要监控多个主机,就需要做以下操作步骤:

1. 被监控主机安装 cadvisor 
  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   --publish=8081:8080   --detach=true   --name=cadvisor    google/cadvisor:latest



2. 在其他服务器运行prometheus:

  docker run -d   --name=prometheus   -p 9090:9090   prom/prometheus


3. 在prometheus容器中新增被监控服务器的IP[所有IP]

  docker exec -it prometheus sh
  
  查看:
      static_configs:
    - targets: [‘localhost:9090‘]
  - job_name: ‘docker‘
    static_configs:
    - targets: [‘192.168.3.100:8081‘]
    
  修改为:
    - targets: [‘localhost:9090‘]  #在这一行下方添加:
  - job_name: ‘docker‘
    static_configs:
    - targets: [‘192.168.3.100:8081‘,‘192.168.3.85:8081‘]  
    
  #targets填写:cadvisor 的IP和端口。targets:
  修改完成,重启 prometheus容器 即可
  
  
3. 重启prometheus容器:
docker restart prometheus

页面添加:

进入prometheus 设置页面 点击 :  ’Add data source‘ 添加数据源

填写被监控服务器的IP:技术图片

页面检查:

技术图片

通过访问:
http://192.168.3.85:8081/containers/
http://192.168.3.100:8081/containers/
查看是否安装 cadvisor

导入监控:技术图片

技术图片

label_values(up,instance)

多个主机配置配置这个是一样的

做了这一步后去编辑图表,让他显示其他节点信息,节点多的情况下每个节点都需要增加 query0配置 label_values(up,instance)

技术图片

# 在编辑页面修改参数为:rate(container_cpu_user_seconds_total{image!="",instance="$Node"}[5m]) * 100rate(container_cpu_user_seconds_total{image!=""}[5m]) * 100#保存即可这个$Node 就是 Variables 这个Name: query0  也可以配置为 $query0  也可以配置为 $Node 那下面图这里就要改成 $Node

添加复选框

找到:Home / Settings选择  Variables 右边选项卡出现后在 Query 后面 添加: label_values(up,instance)修改完成后 保存或者 update 即可

技术图片

#因为这里 看到 variable中定义的 Name: query0 那么他就是获取信息的关键在每个图形页面添加如下设置:,instance="$query0"添加完成后点击 save 保存

grafan+cadvisor+prometheus监控docker

标签:访问   ref   没有   仪表盘   修改   byte   lazy   服务器   exe   

原文地址:https://www.cnblogs.com/superlinux/p/15010893.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!