Prometheus监控Docker Swarm集群

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

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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值