天天看点

nagios + fetion短信机器人报警配置

nagios的安装配置见他人写的文章

飞信机器人官方首页:http://www.it-adv.net/index.php?action=index

下载页面及配置说明:

需要回复才可以看到下载文件

Linux下只是编译好的单个文件,只有几百KB,大家不要对这个文件有所疑问

我当时也是带着怀疑的态度去下载的

http://bbs.it-adv.net/viewthread.php?tid=1081 

因为我的nagios是配置Linux (rhel 5.4)下的,我下载的fetion依赖包是linux

上面写的依赖包是在rhel 4下编译的,我在5.4下测试通过

(在Redhat4 下编译,其它LINUX发行版的朋友请测试)

linux版本:http://www.it-adv.net/fetion/linuxso_20101113.rar 

注意:linux用户,请不要把支持库中的 lib* 复制到 /usr/lib 下,因为发行版本不同,

可能会覆盖您机器中的核心库,导致严重系统问题。您可以把库解压到主程序的相同目录,

然后以 LD_LIBRARY_PATH=. ./fetion 来运行,两点间有空格

然后把下载好的软件上传到nagios server 服务器上

1. 权限设置

]# chmod 775 fetion

2. 所属用户设置

因为我的nagios 程序启动用户是nagios,而我的fetion文件夹所属的用户&组是root

我要修改为nagios,不然程序报警时,调用fetion时会报错,好像是时间啥错误

]# chown -R nagios:nagios fetion

目录列表:

3. 测试

1)进入fetion文件夹

]# cd /opt/fetion

]# D_LIBRARY_PATH=. ./fetion --mobile=飞信号&手机号 --pwd=飞信密码(不是卡号密码) --to=发送的人(可以用自己的手机测试) --msg-utf8=测试 --debug

最后输入看到的图形验证码,我是把图片ftp到本机打开的

说明:

D_LIBRARY_PATH=.  调用飞信依赖包,前提是要进入fetion所在目录

 ./fetion 调用fetion脚本

--debug  如果第一次执行,不加上这个参数,脚本会执行失败,没有任何提示,短信也发送失败,

因为现在的fetion版本,会弹出弹出图形验证码;

但是不加debug参数,图形验证码出不来。据说是官方飞信服务器需要的,不是程序的行为。

在切换到nagios帐号下,测试飞信发送是否成功

自己写个小脚本,注释就不写了,脚本名称sms.sh

#!/bin/bash

usr=137********

pwd=*******

receive_number=*********

cd /opt/fetion && \

D_LIBRARY_PATH=. ./fetion --mobile=${usr} --pwd=${pwd} --to=${receive_number} --msg-utf8="$1" --debug

nagios 配置文件commands.cfg中添加如下

###################################################################   

# notify-host-by-sendmsg/notify-service-by-sendmsg

###################################################################  

define command {  

     command_name notify-host-by-fetion

     command_line /opt/fetion/sms.sh "Host $HOSTSTATE$ alert for $HOSTNAME$($HOSTADDRESS$) on $TIME$."  

}  

define command { 

     command_name notify-service-by-fetion  

#     command_line /opt/fetion/sms.sh ""$TIME$":$SERVICEDESC$($HOSTADDRESS$) is $SERVICESTATE$."  

     command_line /opt/fetion/sms.sh "$LONGDATETIME$:$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$.$SERVICEOUTPUT$" 

nagios 配置文件contacts.cfg 中添加如下

[root@**** objects]# more contacts.cfg 

define contact{

        contact_name                    sa

        alias                           system administrator

     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-service-by-email,notify-service-by-fetion

     host_notification_commands      notify-host-by-email,notify-host-by-fetion

至此,整个nagios + fetion 配置就完成了,我们可以手动停止监控的程序,等等看看fetion是否报警