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

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

大家好,又见面了,我是全栈君,祝每个程序员都可以多学几门语言。

 

宕机监控报警程序


一.   需求来源

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

 

二.   程序功能

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

 

三.源程序

 

 

四.程序说明

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

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/118565.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • jsp常用标签有哪些_foreach js

    jsp常用标签有哪些_foreach js————————————-JSTL标签forEach———————————-forEach(重点)   forEach当前就是循环标签了,下面例子中设置域变量i,初始值为1,结束值为100。即i的值从1遍历到100,包含100。 <c:setvar="sum"value="…

    2025年7月22日
    3
  • qt集成ziplib压缩文件和目录「建议收藏」

    qt集成ziplib压缩文件和目录「建议收藏」今天本来想完成压缩文件的任务,结果并没有想象中那么轻松,1.qt自带有压缩工具,但是不考虑,因为qCompress主要用来压缩字节流,就算自己封装成压缩文件,也只能用qt的接口进行解压,可项目需要的是一个通用的压缩工具,2.zlib+quazipzlib官网:http://www.zlib.net/quazip参考http://quazip.sourceforge.net/cla…

    2022年7月26日
    26
  • 国内 Go 代理汇总

    国内 Go 代理汇总golang国内的代理总是一个很头疼的问题,这里汇总一下国内几个可用的代理,到时候有些包下不下来就换几个代理多试试代理1:阿里云GoModule代理传送门:https://mirrors.aliyun.com/goproxy/简介gomodule公共代理仓库,代理并缓存go模块。你可以利用该代理来避免DNS污染导致的模块拉取缓慢或失败的问题,加速你的构建使用帮助使用go1…

    2022年7月26日
    10
  • 十款磁盘碎片整理工具

    十款磁盘碎片整理工具说到磁盘整理工具,应该说说磁盘碎片的定义,为什么磁盘碎片会对系统性能造成影响。首先我不是专业的电脑人员,对很专业的理论知识不懂,在这里只可以用很通俗很日常的语言来表达。其实磁盘碎片应该称为文件碎片,是因为文件被分散保存到整个磁盘的不同地方,而不是连续地保存在磁盘连续的簇中形成的。为什么这些碎片多了,会对系统性能造成影响呢?打个比方,你的房间你很久没有整理和清洁了,原本有条…

    2022年6月25日
    43
  • java编译过程_Java编译运行过程

    java编译过程_Java编译运行过程Java编译运行过程在上一篇文章中,我们了解了第一个Java入门程序,以及如何编译和运行第一个Java程序。本文主要了解以下编译和运行Java程序时会发生什么。此外,我们还会分析一些常见的问题。1Java程序编译过程在编译时,Java文件由Java编译器(它不与底层操作系统交互)将Java代码转换为字节码(.class)。2Java程序运行过程在Java程序运行中,会执行以下步骤:类加载器(C…

    2022年4月30日
    42
  • Python抛出异常_python抛出异常的作用

    Python抛出异常_python抛出异常的作用在工作中都会遇到异常报错问题,那么在这抽空码一些内容以作记录。在python中不同的异常可以用不同的类型(python中统一了类与类型,类型即类)去标识,不同的类对象标识不同的异常,一个异常标识一种错误AttributeError#试图访问一个对象没有的树形,比如foo.x,但是foo没有属性xIOError#输入/输出异常;基本上是无法打开文件ImportError#无法引入模块或包;基本上是路径问题或名称错误Indentati.

    2022年10月17日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号