server宕机监控、检測、报警程序(139绑定手机短信报警)monitor_down.sh
宕机监控报警程序
一.
需求来源
宕机对运维人员来说,最痛苦了。怎样检測一台server是否还在正常执行,假设该server宕机,怎样在第一时间监測到并通知一线运维人员进行维护,最大化降低损失。
二.
程序功能
对指定server进行宕机监測,假设确实宕机,则发送email到139邮箱(绑定手机,实现短信报警)
三.源程序
#!/bin/bash
#author longxibendi
#blog http://blog.csdn.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.csdn.net/longxibendi/archive/2011/05/21/6436606.aspx
声明:本文档能够任意更改,但必须署名原作者
作者:凤凰舞者 qq:578989855
server宕机监控、检測、报警程序(139绑定手机短信报警)monitor_down.sh的更多相关文章
- zabbix学习笔记:zabbix监控之短信报警
zabbix学习笔记:zabbix监控之短信报警 zabbix的报警方式有多种,除了常见的邮件报警外,特殊情况下还需要设置短信报警和微信报警等额外方式.本篇文章向大家介绍短信报警. 短信报警设置 短信 ...
- CactiEZ 中文版V10.1安装使用以及139邮箱短信报警设置
说明:CactiEZ中文版V10.1是基于CentOS 6.0系统,整合Cacti等相关软件,重新编译而成的一个操作系统! 说明:CactiEZ中文版V10.1是基于CentOS 6.0系统,整合 ...
- Grafana 短信报警
一.分析 需求 Grafana支持短信渠道报警 要求 使用开发提供的短信API接口 请求url: http://192.168.1.1:8088/alerting/sendSms?mobile=手机号 ...
- centos7之zabbix邮件报警(短信报警)
前言 前面我们介绍了zabbix的基本linux和window及SNMP流量的简单监控,我们知道作为运维人员,需要7x24小时待命,但是我们不可能时时刻刻都坐在电脑旁边查看监控上的各个主机状态,所以我 ...
- zabbix 短信报警
使用的短信平台是云片网,接口请看官网短信接口API文档,有示例 进入server服务器存放脚本的文件夹,默认路径是 [root@test zabbix]# cat zabbix_server.conf ...
- mysubmail 短信报警
https://www.mysubmail.com/chs/documents/developer/YPWD84 文本文档 官网:www.mysubmail.com 操作流程:快速接入短信 AP ...
- zabbix3配置短信报警
需求:在zabbix服务器配置短信报警,当服务出现故障达到预警级别是通过发送短信的形式告诉运维人员,以便及时处理. 一.zabbix服务器端配置短信脚本 我的短信脚本放置位置为 /etc/zabbix ...
- Ios拦截手机短信程序
引用 1.手机要越狱,没有越狱的话,下面的可以不用看了! 2.IOS 要5.0以上,4.xx的同上 首先,声明下!由于公司移动开发的项目中,需要根据手机的内容进行逻辑处理,也就是要实现手机短信拦截 ...
- Matlab 程序结束后发送短信或者邮件
近期,在服务器上运行matlab程序,由于数据比较多,程序比较复杂,运行时间不固定,而且需要经常改变参数,重复运行几次,所以不清楚程序何时结束,以便于修改参数,继续运行.开始有时间就看看程序是否运行结 ...
随机推荐
- Delphi Window 消息大全使用详解
WM_CTLCOLORSTATIC = $0138; 当一个静态控件将要被绘制时发送此消息给它的父窗口:通过响应这条消息,所有者窗口可以通过使用给定的相关显示设备的句柄来设置静态控件的文本和背景颜色 ...
- Asp.Net MVC4配置Ext.Net
首先,下载MVC用的DLL包(Ext.NET.MVC.Pro.2.2.0.zip).讲DLL文件拷贝到工程bin目录下,引用进工程. 第二步,配置Views文件夹下的web.config文件(具体文字 ...
- OpenStreetMap(OSM) features
目录 1 Primary features 1.1 Aerialway 1.2 Aeroway 1.3 Amenity 1.3.1 Sustenance 1.3.2 Education 1.3.3 T ...
- HDU4551
简单. /* 简单题 */ #include<stdio.h> #include<string.h> #include<stdlib.h> #include< ...
- Linux Makefile文件编写详细步骤与实践
Linux Makefile文件编写详细步骤与实践 1.makefile概述 Windows环境下IDE会帮你完成makefile文件的编写,但在UNIX环境下你就必须自己写makefile了,会不会 ...
- 利用PowerDesigner15在win7系统下对MySQL 进行反向project(二)
利用PowerDesigner15在win7系统下对MySQL 进行反向project 1.打开PowerDesigner,建立新模型.选择Physical Data Model中的Physical ...
- STL 源代码剖析 算法 stl_algo.h -- random_shuffle
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie random_shuffle ------------------------------- ...
- node.js(七) 子进程 child_process模块
众所周知node.js是基于单线程模型架构,这样的设计可以带来高效的CPU利用率,但是无法却利用多个核心的CPU,为了解决这个问题,node.js提供了child_process模块,通过多进程来实现 ...
- bootstrap-js(3)滚动监听
导航条实例 ScrollSpy插件根据滚动的位置自动更新导航条中相应的导航项. 拖动下面区域的滚动条,使其低于导航条的位置,注意观察active类的变化.下拉菜单中的子项也会跟着变为高亮状态. 1.调 ...
- 使用sqlcmd执行连接的时候一直报有语法错误
1.今天在使用sqlcmd进行执行连接操作的时候一直报有语法错误找了半天. 命令 sqlcmd -S 服务器名称 -U 帐户 -P 密码 示例 sqlcmd -S "LOCALHOST&qu ...