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 [email protected]
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服务之后就可以实现飞信报警了。