51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

检测nginx是否正常和检测脑裂

检查nginx 是否正常

#!/bin/sh
nginxpid=$(ps -C nginx --no-header|wc -l)

#1.判断Nginx是否存活,如果不存活则尝试启动Nginx if [ $nginxpid -eq 0 ];then systemctl start nginx sleep 3 #2.等待3秒后再次获取一次Nginx状态 nginxpid=$(ps -C nginx --no-header|wc -l) #3.再次进行判断, 如Nginx还不存活则停止Keepalived,让地址进行漂移,并退出脚本
if [ $nginxpid -eq 0 ];then systemctl stop keepalived fi fi #给脚本增加执行权限

keepalived 中添加:

script "/etc/keepalived/check_split_brain.sh"

[root@LB01 ~]# cat /etc/keepalived/keepalived.conf 
global_defs {
    router_id LB01
}

vrrp_script check_nginx { script "/etc/keepalived/check_split_brain.sh" interval 5 }

vrrp_instance VI_1 { state MASTER priority 150 interface eth0 virtual_router_id 50 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress {
10.0.0.3 } } #调用并运行脚本 track_script { check_nginx
}

检查脑裂:

[root@LB01 ~]# cat /etc/keepalived/check_split_brain.sh 
LB01_VIP_Number=`ip add | grep 10.0.0.3 | wc -l`
LB02_VIP_Number=`ssh '10.0.0.6' ip add | grep 10.0.0.3 | wc -l`
if [ $LB01_VIP_Number -eq 1 -a $LB02_VIP_Number -eq 1 ]
then
	systemctl stop keepalived
fi

欢迎来撩 :shell 编程从0到1

赞(5)
未经允许不得转载:工具盒子 » 检测nginx是否正常和检测脑裂