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程序,由于数据比较多,程序比较复杂,运行时间不固定,而且需要经常改变参数,重复运行几次,所以不清楚程序何时结束,以便于修改参数,继续运行.开始有时间就看看程序是否运行结 ...
随机推荐
- SQL Server 空间监测
数据库文件型: select * from sys.dm_db_file_space_usage; go ...
- JavaEE Tutorials (23) - 资源适配器和契约
23.1什么是资源适配器362 23.1.1管理契约363 23.1.2通用工作上下文契约364 23.1.3出站和入站契约36423.2元数据注解36523.3公共客户端接口36623.4对Java ...
- 关于linux下内存使用的一些疑惑[转载]
Linux内存机制-Cache与Buffer 在linux中经常发现空闲内存很少,似乎所有的内存都被系统占用了,表面感觉内存不够用了,其实不然.这是Linux内存管理的一个优秀特性,在这方面,区别于w ...
- Mysql中Key与Index的区别
mysql的key和index多少有点令人迷惑,这实际上考察对数据库体系结构的了解的. 1 key 是数据库的物理结构,它包含两层意义,一是约束(偏重于约束和规范数据库的结构完整性),二是索引(辅助查 ...
- Spring、整合Spring+JDBC
首先引入Spring包和JDBC所使用到的包: 配置beans.xml步骤: 1.配置dataSource的属性 2.将DataSource交给DataSourceTransactionManager ...
- MFC网页
写网页, 选择MFC,MFC应用程序,其他默认,单击确定 项目类型,选Offce,其他默认,单击下一步 默认,单击下一步 文件拓展名,输入html,其他默认,单击下一步 数据库支持,默认,单击下一步 ...
- Neutron数据库同步错误 NotImplementedError: No support for ALTER of constraints in SQLite dialect
错误信息 root@controller:~# su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron. ...
- mongodb 2.6.6 在window10下的安装
首先感谢波仔的知道,其次感叹下WIN10的牛叉,兼容性还不错. 首先,下载mongodb 2.6.6 安装包,可惜,官网太慢,还得注册.不过还好,我是个好人:http://pan.baidu.com/ ...
- Mina入门:mina版之HelloWorld
一,前言: 在完成上篇文章<Mina入门:Java NIO框架Mina.Netty.Grizzly简介与对比>之后,我们现在可以正式切入Mina入门学习了. 二,搭建项目结构与解决项目依赖 ...
- 用事件与CSS改变按钮不同状态下的颜色
目标效果: 表单的群发按钮,在鼠标悬停时为深蓝色,鼠标离开时为淡蓝色. HTML代码: <button id="submitBtn" class="btn&quo ...