监控环境搭建
需要以下组件:
- docker
- prometheus
- node-exporter
- cadvisor
- grafana
docker-compose.yml
|  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
 | version: "3.3"
networks:
    monitor:
        driver: bridge
services:
  node-exporter:
    image: prom/node-exporter:latest
    container_name: "node-exporter0"
    ports:
      - "9130:9100"
    restart: always
    networks:
      - monitor
  
  cadvisor:
    image: google/cadvisor:latest
    container_name: "cadvisor0"
    restart: always
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run:rw
      - /sys:/sys:ro
      - /var/lib/docker/:/var/lib/docker:ro
    ports:
      - "8081:8080"
    networks:
      - monitor
  prometheus:
    image: prom/prometheus:latest
    container_name: "prometheus0"
    restart: always
    ports:
      - "9097:9090"
    volumes:
      - "./prometheus.yml:/etc/prometheus/prometheus.yml"
      - "./prometheus_data:/prometheus"
    networks:
      - monitor
  grafana:
    image: grafana/grafana
    container_name: "grafana0"
    ports:
      - "3005:3000"
    restart: always
    volumes:
      - "./grafana_data:/var/lib/grafana"
      - "./grafana_log:/var/log/grafana"
      - "./grafana_data/crypto_data:/crypto_data" 
    networks:
      - monitor
 | 
 
prometheus.yml
|  1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
 | global:
  scrape_interval:     15s # 默认抓取周期
  external_labels:
    monitor: 'codelab-monitor'  
scrape_configs:
  - job_name: 'prometheus'
    static_configs:
      - targets: ['172.16.139.24:9097', '172.16.139.24:8081'] 
      
  - job_name: 'node-exporter' #服务的名称
    scrape_interval: 5s
    metrics_path: /metrics  #获取指标的url
    static_configs:
      - targets: ['172.16.139.24:9130'] # 这个为监听指定服务服务的ip和port,需要修改为自己的ip,不能使用localhost和127.0.0.1
 
  - job_name: "cadvisor"
    static_configs:
    - targets:
      - '172.16.139.24:8081'
 | 
 
启动
结果如下:

检查
浏览器访问
node-exporter
http://172.16.139.24:9130/metrics
cadvisor
http://172.16.139.24:8081/containers/
prometheus
http://172.16.139.24:9097/targets

grafana
http://172.16.139.24:3005/login
用户名/密码 admin/admin
操作:
- 
添加数据源 Configuration下 Add data source url填上:http://172.16.139.24:9097 Save & test 
- 
导入面板 id: 10619 Docker Container & Host Metrics 
- 
结果 

参考
https://grafana.com/grafana/dashboards/893-main/
https://www.jianshu.com/p/cb50ffe0b6b0
https://www.jianshu.com/p/bd64a114aab0
https://www.cnblogs.com/augus007/articles/9225431.html
https://juejin.cn/post/6969764486701924383
https://blog.csdn.net/An1090239782/article/details/102999721
https://grafana.com/dashboards?search=docker
https://www.gbmb.org/mib-to-mb