| 系统 | 服务 | ip | 主机名 |
|---|---|---|---|
| centos7 | zabbix | 192.168.47.140 | zabbix_server |
| redhat8 | 主keepalived | 192.168.47.120 | master |
| redhat8 | 备keepalived zabbix_agent | 192.168.47.121 | slave |
[root@zabbix_server ~]# zabbix_server [root@zabbix_server ~]# zabbix_agentd [root@zabbix_server ~]# ss -anlt State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:10050 *:* LISTEN 0 128 *:10051 *:* LISTEN 0 128 127.0.0.1:9000 *:* LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 80 :::3306 :::* LISTEN 0 128 :::80 :::* LISTEN 0 128 :::22 :::* LISTEN 0 100 ::1:25 :::*master和slave主机上的keepalived服务配置
httpd服务
[root@master ~]# ss -anlt State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 128 [::]:22 [::]:* LISTEN 0 128 *:80 *:* [root@slave ~]# ss -anlt State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 128 *:80 *:* LISTEN 0 128 [::]:22 [::]:*
VIP所在位置
[root@master ~]# ip a 1: lo:mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens160: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:da:55:0e brd ff:ff:ff:ff:ff:ff inet 192.168.47.120/24 brd 192.168.47.255 scope global noprefixroute ens160 valid_lft forever preferred_lft forever inet 192.168.47.250/32 scope global ens160 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:feda:550e/64 scope link valid_lft forever preferred_lft forever [root@slave ~]# ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens160: mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 00:0c:29:ba:4c:cb brd ff:ff:ff:ff:ff:ff inet 192.168.47.121/24 brd 192.168.47.255 scope global noprefixroute ens160 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:feba:4ccb/64 scope link valid_lft forever preferred_lft forever
[root@zabbix_server ~]# scp /usr/src/zabbix-5.4.4.tar.gz root@192.168.47.121:/usr/src/ root@192.168.47.121's password: zabbix-5.4.4.tar.gz 100% 23MB 113.9MB/s 00:00 [root@slave ~]# cd /usr/src/ [root@slave src]# ls debug kernels zabbix-5.4.4.tar.gz [root@slave src]# tar xf zabbix-5.4.4.tar.gz [root@slave src]# useradd -r -M -s /sbin/nologin zabbix [root@slave src]# yum -y install vim wget gcc gcc-c++ make pcre-devel openssl openssl-devel [root@slave src]# cd zabbix-5.4.4/ [root@slave zabbix-5.4.4]# ./configure --enable-agent [root@slave zabbix-5.4.4]# make install [root@slave ~]# vim /usr/local/etc/zabbix_agentd.conf Server=192.168.47.140 #113行 ServerActive=192.168.47.140 #154行 Hostname=keepalived #165行 [root@slave ~]# zabbix_agentd [root@slave ~]# ss -anlt State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 0.0.0.0:22 0.0.0.0:* LISTEN 0 128 0.0.0.0:10050 0.0.0.0:* LISTEN 0 128 *:80 *:* LISTEN 0 128 [::]:22 [::]:*zabbix_server上添加监控主机(slave)
[root@slave ~]# cd /scripts/
[root@slave scripts]# ls
notify.sh[root@slave scripts]# ip a show ens160 | grep 192.168.47.250 | wc -l
0 判断vip是否为空,为空就是正确的,所以为0
[root@slave scripts]# vi check_keepalived.sh
[root@slave scripts]# cat check_keepalived.sh
#!/bin/bash
#-ne (判断两个整数是否不相等)
if [ `ip a show ens160 | grep 192.168.47.250 | wc -l` -ne 0 ]
then
echo "1" 有vip
else
echo "0" 没有vip
fi
[root@slave scripts]# chmod +x check_keepalived.sh
[root@slave scripts]# ./check_keepalived.sh
0 #说明slave上没有vip,keepalived服务正常
//开启自定义监控服务
[root@slave ~]# vi /usr/local/etc/zabbix_agentd.conf
UnsafeUserParameters=1 #取消这322一行的注释并把0修改为1表示启用
//并在最后面新建一行插入脚本
[root@slave ~]# vi /usr/local/etc/zabbix_agentd.conf
UserParameter=check_keepalived[*],/scripts/check_keepalived.sh $1
//重启服务
[root@slave ~]# pkill zabbix
[root@slave ~]# zabbix_agentd
[root@slave ~]# ss -anlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 0.0.0.0:10050 0.0.0.0:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 [::]:22 [::]:*
//zabbix_server上测试
[root@zabbix_server ~]# zabbix_get -s 192.168.47.121 -k check_keepalived['ip']
0 #正常
web界面上添加监控器
查看监控器是否在正常工作
等于1说明有问题
[root@master ~]# systemctl stop keepalived.service [root@master ~]# systemctl stop httpd.service



