1.Prometheus监控容器
[toc]
使用普罗米修斯监控容器
- cAdvisor- 数据收集器,类似于:zabbix-agent
- 收集容器的数据
- 监控容器
 
- node_exporter- 数据收集器,类似于:zabbix-agent
- 收集宿主机的数据
- 监控物理机
 
- prometheus- 监控工具 ,类似:zabbix-server
 
- grafana- 出图工具,类似于:zabbix、elasticsearch中的绘图
- 可以关联zabbix、elasticsearch、kinnba、Prometheus等软件进行绘图
- 将收集到数据绘图展示(更专业)
 
部署普罗米修斯集群
环境准备
| 主机名 | 内网IP | 外网IP | 角色 | 应用 | 
|---|---|---|---|---|
| docker01 | 172.16.1.81 | 10.0.0.81 | 监控物理机和容器状态、监控工具、出图 | prometheus、cAdvisor、node_exporter、grafana | 
| docker02 | 172.16.1.82 | 10.0.0.82 | 监控物理机和容器状态 | cAdvisor、node_exporter | 
| docker03 | 172.16.1.83 | 10.0.0.83 | 监控物理机和容器状态 | cAdvisor、node_exporter | 
容器自动化部署
- 在dockker01上部署prometheus、cAdvisor、node_exporter、grafana - 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63- # 创建并编辑prometheus配置文件 
 vim ./prometheus.yml
 scrape_configs:
 - job_name: cadvisor
 scrape_interval: 5s
 static_configs:
 - targets:
 - 10.0.0.81:8080
 - 10.0.0.82:8080
 - 10.0.0.83:8080
 
 - job_name: prometheus
 scrape_interval: 5s
 static_configs:
 - targets:
 - 10.0.0.81:9090
 
 - job_name: node_exporter
 scrape_interval: 5s
 static_configs:
 - targets:
 - 10.0.0.81:9100
 - 10.0.0.82:9100
 - 10.0.0.83:9100
 # 编辑docker-compose部署文件
 vim docker-compose.yml
 version: '3.2'
 services:
 prometheus:
 image: prom/prometheus:latest
 container_name: prometheus
 ports:
 - 9090:9090
 command:
 - --config.file=/etc/prometheus/prometheus.yml
 volumes:
 - ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
 depends_on:
 - cadvisor
 
 node-exporter:
 image: prom/node-exporter:latest
 container_name: node_exporter
 ports:
 - 9100:9100
 cadvisor:
 image: google/cadvisor:latest
 container_name: cadvisor
 ports:
 - 8080:8080
 volumes:
 - /:/rootfs:ro
 - /var/run:/var/run:rw
 - /sys:/sys:ro
 - /var/lib/docker:/var/lib/docker:ro
 grafana:
 image: grafana/grafana:latest
 container_name: grafana
 ports:
 - 3000:3000
- 在dockker02、dockker03上部署cAdvisor、node_exporter - 1 
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20- # 编辑docker-compose部署文件 
 vim docker-compose.yml
 version: '3.2'
 services:
 node-exporter:
 image: prom/node-exporter:latest
 container_name: node_exporter
 ports:
 - 9100:9100
 cadvisor:
 image: google/cadvisor:latest
 container_name: cadvisor
 ports:
 - 8080:8080
 volumes:
 - /:/rootfs:ro
 - /var/run:/var/run:rw
 - /sys:/sys:ro
 - /var/lib/docker:/var/lib/docker:ro
- 访问web页面 - 10.0.0.81:8080
  - 10.0.0.81:9100
  - 10.0.0.81:9090
  - 10.0.0.81:3000
  
Grafana使用说明
Grafana添加数据源
- 登陆Grafana,并设置密码  
- 设置数据源  
- 添加数据源  
- 选择Prometheus  
- 开启Prometheus自带的模板  
- 输入Prometheus的url  
- 保存并测试  
- 查看已添加的数据源  
添加数据展示模板
- 查看已添加的模板  
- 官方提供的模板  
- 搜索官方模板  
- 复制模板ID或下载json文件  
- 选择模板  
- 导入模板  
- 模板结合Prometheus数据展示  
修改模板变量
- 下载json模板  
- 修改json文件  
- 删除原docker模板  
- 选择json文件并导入  
- 进入设置页面  
- 修改变量(修改前)  
- project label_values(container_last_seen, project) # 修改后:label_values(container_last_seen, job) instance label_values(container_last_seen{project=~"$project",server=~"$server"}, instance) # 修改后: label_values(container_last_seen{job=~"$job"}, instance)
- 修改展示标签  
- 修改变量并保存(修改后)  
- 查看模板编辑内容  
- 查看配置信息  
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 奥利奥の麦旋风!




