nagios安装飞信报警[阮胜昌]

环境:
fetion20091117-linux.tar.gz 主程序文件
linuxso_20101113.rar  引擎文件
fetion为更新文件复制到安装目录下覆盖就可以  (最新更新包一定要覆盖)
 安装
[root@MRTG tmp]# ls
fetion20091117-linux.tar.gz
[root@MRTG tmp]# tar zxvf fetion20091117-linux.tar.gz 解压完毕后会生成一个fx 目录,我们把这个目录移动到/usr/local/并改名为fetion[root@MRTG tmp]# mv fx /usr/local/fetion
[root@MRTG tmp]# cd /usr/local/fetion/
[root@MRTG fetion]# ls
cache     done    libACE-5.7.2.so      libcrypto.so.4 libssl.so.4 plugins
commands fetion libACE_SSL-5.7.2.so libeay32.dll    logs
需要把libACE-5.7.2.so libACE_SSL-5.7.2.so libcrypto.so.4 libssl.so.4这四个文件拷贝到/usr/lib目录下fetion才可以正常运行
[root@MRTG fetion]# cp libACE-5.7.2.so libACE_SSL-5.7.2.so libcrypto.so.4 libssl.so.4 /usr/lib
测试飞信
[root@MRTG fetion]# /usr/local/fetion/fetion --mobile=158110***** --pwd=****** --to=158110***** --msg-utf8="test"
--mobile后面跟飞信ID
--pwd后面跟飞信的密码
--to后面跟收信息人的手机号码
 --msg-utf8后面跟所要发出的内容
执行完上述命令后接收人手机就应该能收到一个内容为test的信息
 [root@MRTG fetion]# vi /etc/rc.local 在文件最后加入以下内容,这样开机后就会自动运行飞信命令了
/usr/local/fetion/fetion --mobile=158110***** --pwd=****** --to=158110***** --msg-utf8="server already start"       现在我们可以重启一下服务器,服务器启动后我们就会收到一条内容为server already start的信息     
[root@node201 fetion]# pwd
/usr/local/fetion
LD_LIBRARY_PATH=. ./fetion --mobile=15933156209 --pwd=rscpass153546 --to=15933156209 --msg-utf8="test"
    linux下,请使用如下命令:
    LD_LIBRARY_PATH=. ./fetion --mobile=13711123456 --pwd=mypwd --to=137xxxxxxxx --msg-utf8=测试
    LD_LIBRARY_PATH=. ./fetion --sid=6630321 --pwd=mypwd --to=137xxxxxxxx --msg-utf8=测试
    LD_LIBRARY_PATH=. ./fetion --config=sample.conf --index=1 --to=137xxxxxxxx --msg-utf8=测试
[root@node201 fetion]# LD_LIBRARY_PATH=. ./fetion --mobile=15933156209 --pwd=rscpass153546 --to=15933156209 --msg-utf8="good idea"
SIP-C/4.0 280 Send SMS OK
T: sip:[email protected];p=16303
I: 2
Q: 1 M
L: 114
D: Tue, 20 Nov 2012 07:33:53 GMT
XI: DC4E6275C7C0438242F3EF226F01C0A0
验证码问题只要输入一次就可以,下次发送就不要输入
在安装目录下会生成一个手机号.jpg的图片文件,可以将这个文件复制到apache的网页目录下,通过网页查看
详细见:NAGIOS飞信报警.doc

3 修改contacts.cfg
在define contact中添加如下语句:
service_notification_commands   notify-service-by-sms
host_notification_commands      notify-host-by-sms
也可如下方式添加: 
 
    如上的方式便实现了在对联系人进行邮件报警的同时,也通过飞信发送短信。

4 修改commands.cfg
添加如下语句:
# 'notify-host-by-sms' command definition
define command{
  command_name    notify-host-by-sms
  command_line    /usr/local/fetion/fetion --mobile=159*9 --pwd=123 --to=152*3 --msg-utf8="***** Nagios *****Notification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$State: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n"
         }
# 'notify-service-by-sms' command definition
define command{
  command_name    notify-service-by-sms
  command_line    /usr/local/fetion/fetion --mobile=159*9 --pwd=123 --to=152*3 --msg-utf8="***** Nagios *****Notification Type: $NOTIFICATIONTYPE$\nService: $SERVICEDESC$Host: $HOSTALIAS$Address: $HOSTADDRESS$State: $SERVICES TATE$\nDate/Time: $LONGDATETIME$\nAdditional Info:\n$SERVICEOUTPUT$\n"
         }
然后重新检查nagios.cfg文件并重启nagios服务即可:
# /usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg
# service nagios reload

5 飞信的开机启动
编辑/etc/rc.local文件
# vi /etc/rc.local添加
/usr/local/fetion/fetion --mobile=15933156209 --pwd=123 --to=15210983873 --msg-utf8="server already start"

 

6 总结 
    当有多个联系人时,可以在command.cfg中添加多个第4步中的定义,如notify-host-by-sms-zhang1和notify-service-by-sms-zhang2,notify-host-by-sms-zhang2和notify-service-by-sms-zhang2等等,而在contact.cfg对联系人进行定义时,再添加自己的飞信联系方式,如
service_notification_commands     notify-service-by-sms  notify-host-by-sms-zhang1
host_notification_commands         notify-host-by-sms  notify-service-by-sms-zhang2
    这样的话,就会在出现问题的时候,给相应的联系人进行邮件和短信的通知,据我的使用来看,使用飞信会比邮件通知的更及时。
    至此,nagios的报警功能就能够实现的,但是有一个问题,那就是出现问题后会一直不停的报警,直到故障消除,对于报警次数的控制,我在后面也会提到。
    在后面的章节里我们会继续讲到,自己定义监控检测的时间、定义不同的service、控制收到短信的次数,还有使用nagios自动生成拓扑图等内容,希望这些内容能给大家提供帮助,少走弯路


 

你可能感兴趣的:(安装,报警)