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 许可协议。转载请注明来自 奥利奥の麦旋风!