热门IT资讯网

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

发表于:2024-11-28 作者:热门IT资讯网编辑
编辑最后更新 2024年11月28日,nagios的安装配置见他人写的文章飞信机器人官方首页:http://www.it-adv.net/index.php?action=index下载页面及配置说明:需要回复才可以看到下载文件Linux
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是否报警
0