lvs 监控状态检查

#!/bin/bash
# Author: create by Linux_Boy  
# Description: lvs 监控状态检查
VIP=192.168.138.125
PORT=80
RIP=(
192.168.138.21
192.168.138.22
)
while true
do
  for ip in $RIP
  do
    PORT_COUNT=`namp $ip  -P $PORT|grep open|wc -l`
    if [[ $PORT_COUNT -ne 1 ]]; then
      # 判断RIP是否存在 ipvsadm -Ln,若存在,则删除RIP
      if [[ `ipvsadm -Ln|grep $ip|wc -l` -ne 0 ]]; then
        ipvsadm -d -t $VIP:$PORT -r $ip:$PORT
      fi
    else
      # 如果RIP业务正常,但是ipvsadm -Ln不存在,则添加RIP
      if [[ `ipvsadm -Ln|grep $ip|wc -l` -eq 0 ]]; then
        ipvsadm -a -t $VIP:$PORT -r $ip:$PORT -g -w 1 
      fi
    fi
  done
  sleep 10

done

# 脚本缺点

# 有时候服务假死但是端口依然存在,此时服务已不能提供正常服务,因此不建议使用nmap命令检查,建议使用curl、wget命令健康检查,如心跳