水电工888 发表于 2019-1-16 11:01:57

nagios通过飞信实现报警功能

nagios强大的报警功能是其被很多企业选用的一个重要原因,比较常见的报警方式有E-mail、sms和自由脚本,本文主要介绍通过中国特色的飞信实现nagios报警的配置方法。(注:本文是前面两篇文章(nagios安装与基本配置)的后继文章)

一、所用软件
         要实现飞信报警就要用支持Linux版本的飞信机器人,现在最新版本为20101205002,可以在http://bbs.it-adv.net/viewthread.php?tid=1081下载,但这只是飞信主程序,其安装包还是2009版的,可以在http://bbs.it-adv.net/viewthread.php?tid=916&extra=page%3D1下载,安装完2009版之后用上面2010版的飞信主程序fetion覆盖2009版的就可以了。在安装飞信机器人之前还要安装libACE程序,因为飞信机器人要运行在libACE库文件之上,下载地址为http://www.it-adv.net/fetion/downng/library_linux.tar.gz

二、飞信机器人安装与配置
tar -zxvf library_linux.tar.gz
tar -zxvf fetion20091117-linux.tar.gz
将libACE-5.6.8.so,libACE_SSL-5.6.8.so,libcrypto.so.0.9.8,libssl.so.0.9.8四个文件移动到飞信主目录fx下

mkdir /usr/local/fx
将上面的fx文件夹移动到/usr/local/目录下
chmod -R 755 /usr/local/fx
chown -R nagios:nagios /usr/local/fx

vi /etc/ld.so.conf
在最后加上一行:/usr/local/fx保存退出
ldconfig

现在就可以发一条飞信试验下了,例如执行下面的语句:
/usr/local/fx/fetion --mobile=1300138000 --pwd=123456 --to=13800138000 --msg-utf8=testing
很快13800138000就会收到内容为“testing”的飞信消息。

三、修改nagios配置文件实现飞信报警
1.在contacts.cfg文件中加入红色部分内容:
define contact{
      contact_name                  nagiosadmin
      alias                           Nagios Admin
      service_notification_period   24x7
      host_notification_period      24x7
      service_notification_options    w,u,c,r
      host_notification_options       d,u,r
      service_notification_commands   notify-by-email,service-notify-by-fx
      host_notification_commands      host-notify-by-email,host-notify-by-fx
       email                           abc@mail.com
       pager                           13800138000
      }

2.在commands.cfg文件中加入如下内容:
# 'notify-host-by-fx' command definition
define command {
             command_name            host-notify-by-fx ;             command_line            /usr/local/fx/fetion --mobile=13800138000 --pwd=123456 --to=$CONTACTPAGER$ --msg-utf8="Host $HOSTSTATE$ alert for $HOSTNAME$! on '$LONGDATETIME$'" $CONTACTPAGER$             }

# 'notify-service-by-fx' command definition
define command {
             command_name         service-notify-by-fx             command_line         /usr/local/fx/fetion --mobile=13800138000 --pwd=123456 --to=$CONTACTPAGER$ --msg-utf8="$HOSTADDRESS$ $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ on $LONGDATETIME$" $CONTACTPAGER$
             }

  好了大功告成,重启nagios服务之后就可以实现飞信报警了。



页: [1]
查看完整版本: nagios通过飞信实现报警功能