NAGIOS飞信报警

1 软件安装
将解压后的fetion_20110425中的文件放到/usr/local/fetion中。
#  cd /usr/local/fetion
#  ls 

另外需要把libACE-5.7.2.so、libcrypto.so.4、libssl.so.4、libACE_SSL-5.7.2.so 复制到/usr/lib目录中,飞信才可以正常运行。

2 软件使用
执行如下的命令启动飞信
# /usr/local/fetion/fetion --mobile=159*09 --pwd=123 --to=152*73 --msg-utf8="Hello World"
1) mobile后面应该写入手机号;
2) pwd后面应该写入飞信密码
3) to后面应该写入接收短信的号码
注:mobile后的手机号必须开通飞信服务,并且to后的手机号必须是mobile的飞信好友
然后会跳出大片的乱码~~其中有一处是159*09.jpg的标志,这其实是验证码~然后进入到Xwindows中查看验证码的内容(验证码在/usr/local/fetion文件中),输入到乱码后中,回车即可。

只需要输入一次验证码即可,此时接收手机上就可以收到短信了,说明飞信启动成功。

3 修改contacts.cfg
在define contac中添加如下语句:
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自动生成拓扑图等内容,希望这些内容能给大家提供帮助,少走弯路

    一起好运!


另外附件中附上了linux下的fetion使用文件,下解后直接解压即可。