server宕机监控、检測、报警程序(139绑定手机短信报警)monitor_down.sh

时间:2023-03-08 18:53:04

宕机监控报警程序

一.  
需求来源

宕机对运维人员来说,最痛苦了。怎样检測一台server是否还在正常执行,假设该server宕机,怎样在第一时间监測到并通知一线运维人员进行维护,最大化降低损失。

二.  
程序功能

对指定server进行宕机监測,假设确实宕机,则发送email到139邮箱(绑定手机,实现短信报警)

三.源程序

#!/bin/bash
#author longxibendi
#blog http://blog.****.net/longxibendi
#function ping a host and output to file ping_longxibendi.log
#ping destination
function_ping ()
{
ping -c 3 172.29.141.115 > ping_longxibendi.log
}
#downtime detection and send email to SA
function_downtime_detection_AND_sendemail ()
{
if [ "`cat ping_longxibendi.log | grep Unreachable`" != "" ] ; then
/usr/local/bin/sendEmail -f monitor_sys@163.com -t longxibendi@139.com -s smtp.163.com -u "Server downtime" -xu monitor_sys -xp 123456789 -m "`date;echo "172.29.141.115" ` "
fi
}
#main function
function_main ()
{
while true
do
function_ping ;
sleep 2
function_downtime_detection_AND_sendemail ;
sleep 2

done
}
function_main ;

四.程序说明

1.通过  function_ping    ,每隔4秒对 主机 172.29.141.115 进行ping 操作,(当然,假设主机172.29.141.115的防火墙,或者内过滤ICMP包,那么这个程序显然不能用)将输出重定向到ping_longxibendi.log 文件里

2.通过 function_downtime_detection_AND_sendemail  ,每隔4秒,通过ping_longxibendi.log推断是否有没有ping通的迹象,假设有,则调用 sendEmail 邮件(手机短信)报警。

3.监控间隔时间说明  ,能够将 第一个 sleep 改为   150   ,第二个 sleep 改为  150  ,这样每隔5分钟监控一次。

四.使用环境说明

1.主机 A(172.29.141.112)   主机B (172.29.141.115)    ,

在A上部署该监控程序(monitor_down.sh),用于监控B

2.正常情况下A能ping通B

由于用的ping命令,所以假设使用该程序,须要在正常情况下A ping 通 B  。对企业来说,这可能就须要防火墙和Linux内核參数(当然,假设之前没有改动net.ipv4.icmp_echo_ignore_all,则不须要调整)

3.安装了 sendEmail  并 在139邮箱注冊(绑定手机),方可有邮件(短信)报警提示

五.程序測试

[root@localhost monitor]# sh  monitor_down.sh

May 21 20:33:46 localhost sendEmail[9175]: Email was sent successfully!

May 21 20:33:56 localhost sendEmail[9204]: Email was sent successfully!

Terminated

[root@localhost monitor]#

六.程序扩展

这个程序,仅仅是实现宕机监控并报警,但没有实现故障转移,自己主动切换功能。事实上,仅仅要略微改动一下程序就能够实现故障转移,自己主动切换。故障转移,比方能够通过在热备机A上部署该程序,监控B,一旦B宕机,则A运行浮动改IP和更新下层serverarp列表就可以。能够參考

http://blog.****.net/longxibendi/archive/2011/05/21/6436606.aspx

声明:本文档能够任意更改,但必须署名原作者

作者:凤凰舞者 qq:578989855