cAdvisor+Prometheus+Grafana监控Docker Swarm集群
参考:https://docs.docker.com/config/daemon/prometheus/
https://github.com/cyancow/swarmprom
按照github开源项目来进行配置:https://github.com/cyancow/swarmprom
github项目clone到本地
$ git clone https://github.com/stefanprodan/swarmprom.git
$ cd swarmprom
修改docker配置文件
修改docker默认配置文件增加以下两项内容,以便于promethus共享守护进程的数据
Linux修改: /etc/docker/daemon.json
Windows Server修改: C:\ProgramData\docker\config\daemon.json
增加以下两行内容,如果已经有其他配置则往原有大括号内追加以下两项内容,如果文件不存在则创建文件,内容如下:
{
"metrics-addr" : "127.0.0.1:9323",
"experimental" : true
}
修改docker-compose.yml配置文件
修改网络及相关端口映射,将原配置文件中的网络net修改为,自有集群中的网络,这样现有集群中在当前网络中的服务即可以本检测到;
version: "3.3"
#原网络配置
#networks:
# net:
# driver: overlay
# attachable: true
#切换现有集群网络
networks:
mon_net:
driver: overlay
attachable: true
volumes:
prometheus: {}
grafana: {}
alertmanager: {}
configs:
caddy_config:
file: ./caddy/Caddyfile
dockerd_config:
file: ./dockerd-exporter/Caddyfile
node_rules:
file: ./prometheus/rules/swarm_node.rules.yml
task_rules:
file: ./prometheus/rules/swarm_task.rules.yml
services:
dockerd-exporter:
image: stefanprodan/caddy
networks:
- mon_net
environment:
- DOCKER_GWBRIDGE_IP=172.18.0.1
configs:
- source: dockerd_config
target: /etc/caddy/Caddyfile
deploy:
mode: global
resources:
limits:
memory: 128M
reservations:
memory: 64M
cadvisor:
image: google/cadvisor
networks:
- mon_net
command: -logtostderr -docker_only
volumes:
- /va

本文介绍如何使用cAdvisor、Prometheus及Grafana在Docker Swarm集群中实现资源监控。通过配置各项服务并利用特定工具收集和展示指标数据,帮助用户了解集群健康状态。
最低0.47元/天 解锁文章
1823

被折叠的 条评论
为什么被折叠?



