检测主机状态脚本

 

 

案例需求

通过脚本判断远程计算机的存活状态

脚本应用场景

1、通过监控平台调用监控脚本对服务器进行监控

2、机器扫描

解决问题

1、运维人员实时掌控机器的状态,防止宕机或者由于压力过大造成请求处理延时,保障业务的稳定、高效运行

脚本思路

1、通过ICMP协议的ping命令ping目标主机

网络延迟,假报警如何解决?
  3次  

2、分析ping结果

3、给出结论

全部ping结果为假,报宕机
全部ping成功,报正常
否则报警告

实现代码

#监控目标主机状态

#监控方法:ping ICMP协议
# ping通 host up
# ping不通 host down

# 关于禁ping 防止DDOS
# 禁的是陌生人 允许自己

# main
for ((i=1;i<4;i++)) do
#测试代码
    if ping -c1 $1 &> /dev/null ;then
        export ping_count"$i"=1

    else
        export ping_count"$i"=0
    fi

#时间间隔
    sleep 1
done

#三次ping失败报警

if [ $ping_count1 -eq $ping_count2 ] && [ $ping_count2 -eq $ping_count3 ] && [ $ping_count1 -eq 0 ]; then(这一句不太理解)
   echo "$1 is done"
else
   echo "$1 is up"
fi

unset ping_count1
unset ping_count2
unset ping_count3


测试结果

[root@CentOs shell]# bash  host_status.sh 192.168.0.107(本机)
192.168.0.107 is up
[root@CentOs shell]# bash  host_status.sh 192.168.0.112
192.168.0.112 is done
[root@CentOs shell]#

 

posted @ 2022-04-13 12:13  屯子里唯一的架构师  阅读(72)  评论(0编辑  收藏  举报