前言
Zabbix 中docker模板 仅对容器的运行状态做了监测,而没有对容器的健康状态进行监测。本文解决zabbix自动发现规则对容器的healthy状态进行自动发现与告警。
思路
- 自带的模板可以获取到所有容器名。
- 只需要对现有的模板进行新增监控项原型即可
- 根据原型增加zabbix客户端状态获取脚本。
- 非健康触发告警。
状态获取脚本
UserParameter=docker_state.health_status[*],/etc/zabbix/script/healthy.sh $1
#healthy.sh
#!/bin/bash
healthy_status=`docker inspect -f '{{with .State.Health}} {{.Status}}{{end}}' $1 `
echo ${healthy_status:1}
配置自动发现
- 自带的模板可以获取到所有容器名。

- 依葫芦画瓢新建Get Health status监控项原型

- 配置标记,获取模板得到的所有容器名

配置告警
- 对unhealthy的监控项进行告警


本文介绍了如何在Zabbix中为Docker容器添加健康状态监控,通过自动发现规则和脚本来监测容器的健康状况,并在状态异常时触发告警。首先,利用UserParameter配置脚本`healthy.sh`获取容器的健康状态,然后在现有模板基础上添加监控项原型。接着,设置自动发现规则以获取所有容器并检查健康状态,最后配置告警策略,当容器状态为unhealthy时发送告警通知。
2491

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



