zabbix-监控swarm集群

1、创建监控脚本

[root@localhost script]# pwd
/etc/zabbix/zabbix_agentd.d/script
[root@localhost script]# cat *
## manager.sh
docker info --format '{{.Swarm.ControlAvailable}}' 2>/dev/null | grep -q true && echo 1 || echo 0
## ready.sh
docker node ls --format "{{.Status}}" | grep -c Ready
## services.sh
#!/bin/bash

echo "服务名称                副本状态"
echo "----------------------------------------"
docker service ls --format '{{.Name}}\t{{.Replicas}}' 2>/dev/null | column -t -s $'\t'
## status.sh
docker info --format '{{.Swarm.LocalNodeState}}' 2>/dev/null | grep -q active && echo 1 || echo 0
## total.sh
docker node ls --format "{{.Status}}" | wc -l

2、创建zabbix监控项

[root@localhost zabbix_agentd.d]# cat swarm.conf 
UserParameter=swarm.status,bash /etc/zabbix/zabbix_agentd.d/script/status.sh
UserParameter=swarm.nodes.ready,bash /etc/zabbix/zabbix_agentd.d/script/ready.sh
UserParameter=swarm.nodes.total,bash /etc/zabbix/zabbix_agentd.d/script/total.sh
UserParameter=swarm.manager,bash /etc/zabbix/zabbix_agentd.d/script/manager.sh
UserParameter=swarm.services[*],bash /etc/zabbix/zabbix_agentd.d/script/services.sh

3、在zabbix服务台创建监控项

image

4、在zabbix服务台触发器创建

告警触发器可选两个:

swarm集群节点运行异常        
last(/DockerSwarm/swarm.nodes.ready)<>5
swarm集群管理节点运行失败        
last(/DockerSwarm/swarm.manager)<>1

 

posted on 2026-01-26 18:16  !!雪莲花!!  阅读(0)  评论(0)    收藏  举报