实现原理:通过监控keeplived集群IP是否在备机来判断主机是否异常
在keeplived备机上安装Agent
rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/9/x86_64/zabbix-release-6.4-1.el9.noarch.rpm
dnf clean all
yum install -y zabbix-agent
vi /etc/zabbix/zabbix_agentd.conf
Server=你的zabbix服务器IP
启动Agent服务
systemctl start zabbix-agent.service
systemctl enabled zabbix-agent.service
在Zabbix上添加主机
接口选择Agent
配置keeplived备机配置文件,配置监控脚本
监控脚本如下:
vi /etc/zabbix/check_keepalived.sh
#!/bin/bash
if [ `ip a show ens160 | grep 192.168.226.150 | wc -l` -ne 0 ]
then
echo "1"
else
echo "0"
fi
ens160 网卡名称和IP地址根据环境修改
vi /etc/zabbix/zabbix_agentd.conf
UnsafeUserParameters=1 #支持特殊符号
UserParameter=check_keepalived,/bin/bash /etc/zabbix/check_keepalived.sh
在Zabbix上测试
zabbix_get -s 192.168.226.134 -k check_keepalived
注:192.168.226.134替换成刚刚安装agent的IP
0 //显示0说明该主机上没有vip
//该脚本得到的是主机上是否存在vip,如果slave主机上存在vip,则说明master主机上的haproxy服务出现问题,返回值报1,说明服务出现问题。
创建监控项
键值:check_keepalived
创建触发器
问题表现形式:last (/10.1.88.190/check_keepalived)=1
恢复表达式:last (/10.1.88.190/check_keepalived)=0
10.1.88.190为主机名称,根据真实环境修改,这里查看如下: