1. 程式人生 > >grafana+influxdb+cadvisor監控docker-swarm叢集

grafana+influxdb+cadvisor監控docker-swarm叢集

首先需要自己安裝docker以及搭建好swarm叢集,太簡單就不在這裡說了
1:docker-compose.yaml編寫,包含grafana+influxdb+cadvisor編排。如下:
在這裡插入圖片描述
在這裡插入圖片描述
version: ‘3’

services:
influx:
image: influxdb
environment:
- PRE_CREATE_DB=cadvisor
volumes:
- influx:/var/lib/influxdb
ports:
- “8083:8083”
- “8086:8086”
deploy:
replicas: 1
placement:
constraints: [node.hostname == docker-10_59_1_170]
resources:
limits:
cpus: “4.00”
memory: 4g

grafana:
image: grafana/grafana
environment:
- GF_SMTP_ENABLED=true
- GF_SMTP_HOST=smtp.XXX.com:465
- [email protected]
- GF_SMTP_PASSWORD=PASSWORD
- [email protected]
ports:
- 0.0.0.0:3000:3000
volumes:
- grafana:/var/lib/grafana
depends_on:
- influx
deploy:
replicas: 1
placement:
constraints: [node.hostname == docker-10_59_1_170]
resources:
limits:
cpus: “2.00”
memory: 1g

cadvisor:
image: google/cadvisor
hostname: ‘{{.Node.Hostname}}’
command: -logtostderr -docker_only -storage_driver=influxdb -storage_driver_db=cadvisor -storage_driver_host=influx:8086
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
depends_on:
- influx
deploy:
mode: global
placement:
constraints: [node.role == worker]
resources:
limits:
cpus: “2.00”
memory: 1g

volumes:
influx:
driver: local
grafana:
driver: local

下面說明:(顯示格式縮排不對,所以截圖放在上面了)
influx:environment下建立倉庫:cadvisor,開放埠,副本數:1,指定放在某臺伺服器上跑,資源限制

grafana:environment下是郵件配置資訊,用於報警。開放埠,副本數:1,指定放在某臺伺服器上跑,資源限制

cadvisor:全部worker節點跑(我的主節點沒有跑服務,所以沒收集),資源限制
我這裡使用的 driver: local 本地的,如果不喜歡可以使用掛卷的方式,儲存到儲存上會更好
啟動/更新:docker stack deploy -c docker-compose.yaml monitor
刪除:docker stack rm monitor

接下來配置grafana介面下報警:
1:配置資料來源
2:設定報警方法
3:在檢視下新增報警
一:登入grafana,配置資料來源
在這裡插入圖片描述
在這裡插入圖片描述
我沒設定賬戶密碼,所以user和password為空(我沒對外開放埠,內部使用的),test沒有問題即可。我這裡結合zabbix展示zabbix監控圖還不錯,大家有興趣可以自己玩玩。
二:設定報警方法:
在這裡插入圖片描述
在這裡插入圖片描述
三:在檢視下新增報警
建立檢視並新增報警:
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
說明:/.*/ 是匹配所有容器,這樣就把這個節點下所有的容器cpu監控資訊拿到了
在這裡插入圖片描述
選擇單位以及最小值
在這裡插入圖片描述
我這裡只選了最大值以及當前值,不要忘記勾選As Table
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
在這裡插入圖片描述
完畢