存档

文章标签 ‘监控’

Linux下监控某个服务进程情况,并通过Email和Fetion告警

2010年1月14日 3 条评论

     前一段时间我们做的万兆流量测量服务器,还在测试期,后来相对来说比较稳定了,但是还需要观察稳定性:有时候程序退出了,我们还不能实时的观测,所以我就抽时间做了一个检测软件。用着比较好用,推荐使用。闲话少说,直接步入正题:

源码下载

本程序有以下模块:

  1. 服务器报错模块
  2. 监控信息模块
  3. 邮件发送模块
  4. 飞信发送模块

下面就简单阐述改系统的原理:

该系统使用了管道通信

流程图如上面描述,改程序不需要改变被监控服务器的构架,只需要在被监控程序的出错处理代码中添加写管道代码即可。

                   故障原因传入管道
服务器出现故障——————->监控程序接受管道信息<—————
                                        |                            |
                                        |                            |
                                        |                            |
                                    判断是否出错                     |
                                    这里我用了502做信令              |
                                        |                            |
                                        |                            |
                                    是出错,调用邮件、飞信发送程序   |
                                        |                            |
                                        |                            |
                                        —————————–

        监控程序上图所示,改程序启动以后就处于阻塞状态,不耗费使用CUP资源,只有被监控程序出错,才会激发改程序。如果你只需要email监控,就可以配置代码flag取消Fetion发送。具体看源代码注释。

邮件收发,该模块我修改了zzx的邮件发送,添加了DNS的解析,可以直接输入邮箱地址。不用先ping获得IP地址。使用时,加上具体自己发送的SMTP地址、邮箱账号、以及内容。看源代码。

Fetion的发送借用了solrex的用飞信发送天气预报中的部分源码。十分感谢他共享源码,他的联系方见源码。

下面说下使用方法:

Monitor.c中修改email 以及飞信的 dest@qq.com(推荐用qq邮箱,实时性高)

修改飞信的配置:execl(“sendsms”,”sendsms”,”-vlf”,” 137********”,”-p”,”passoword***”,”-t”,”137******”,”please check the log on the server!\n “,NULL);

账号和密码,以及发送目的手机号。

全部配置妥当,运行Monitor,你就可以去睡懒觉了,有问题了,他就会给你发短信或者发邮件哦!

如有疑问请登陆www.yqshare.com 留言。 

源码下载