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
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$"
}
# 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
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是否报警
标题名称:nagios+fetion短信机器人报警配置
链接地址:http://ybzwz.com/article/jsojoc.html