zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

22lvs 健康节点检查

节点 检查 健康
2023-09-11 14:20:31 时间
[root@lb03 scripts]# cat lvm_health_check.sh
#!/bin/bash

web_ip=(
10.0.0.17
10.0.0.18
)
# 检查恢复就添加节点
web_add (){
        i=$1
        echo "添加节点 $i"
        ipvsadm -a -t 10.0.0.13:80 -r ${i}:80 -g -w 1 

}

web_remove() {

        i=$1
        echo "删除节点 $i"

                ipvsadm -d -t 10.0.0.13:80 -r ${i}:80     



}


web_check (){
    for i in ${web_ip[@]}

    do
        #检查网站掉了
        web_count=$(nmap $i|grep "80/tcp    [o]pen"|wc -l)
        # lt 1小于1,说明网站掉了
        if [ ${web_count} -lt 1 ]
        then
            #检查本地节点是否还有这个ip,如果有就去除
            ipvs_count=$(ipvsadm -ln|grep $i|wc -l)
            #本地有就移除
            if [ ${ipvs_count} -eq 1 ]
            then
                web_remove $i        
            
            fi    

        else
             #大于1,网站正常
            ipvs_count=$(ipvsadm -ln|grep $i|wc -l)
                #本地没有就添加这个IP
                        if [ ${ipvs_count} -eq 0 ]
                        then
                                web_add $i
                        
                        fi

            

        fi
        

    done
    

}

while true
do

    web_check
    sleep 3

done