网站监控的及时报警方式主要就是短信报警了: 1)邮箱转短信报警。 2)微信,MSN,QQ转手机信息提醒。 3)短信网关报警(本文推荐) 4)短信猫报警。 5)飞信报警。 6)手机邮件客户端直接收邮件提示信息提醒。
说明:其实开发任何程序对于nagios来说都只是一个插件而已,因此, 监控内存,短信报警,以及,开发其他业务类插件的开发和部署方法是一样的。 仅仅是功能和名字不同而已。
1、开发发送手机短信的脚本 #!/bin/sh
#created by oldboy 11:56 2009/12/11
#49000448@qq.com
#define var.
ALERT_DATE=$( date +%y-%m-%d " " %H:%M)
PROGNAME=` basename $0`
PROGPATH=` dirname $0`
print_usage() {
echo "Usage:"
echo "/bin/sh $PROGNAME title contact"
exit 1
}
if [ $ # -ne 2 ];then
print_usage
fi
#FORMAT "Host $HOSTSTATE$ alert for $HOSTNAME$"
TITLE=$1
CONTACT=$2
#send_message method1
curl -d cdkey=3ADK-DFY-3430-MADQK -d password=52324235 -d phone=$CONTACT -d message= "$TITLE[${ALERT_DATE} oldboy]" http: //sdkhttp .eucp.b2m.cn /sdkproxy/sendsms .action
2、说明
a.curl -d 把参数传给后面的URL,URL是花钱购买的短信发送接口
b.测试:赋予执行权限后,手工执行 /usr/local/nagios/libexec/sms_send 内容 手机号
|
在nagios中得配置过程 2、在commands.cfg里使用如下配置 #command.cfg # 'notify-host-by-pager' command definition define command{ command_name notify-host-by-pager command_line $USER1$/sms_send "Host $HOSTSTATE$ alert for $HOSTNAME$" $CONTACTPAGER$ }
3、templates.cfg搜联系人报警模板名字generic-contact下增加notify-host-by-pager! host_notification_commands notify-host-by-email,notify-host-by-pager
4、在联系人contact.cfg里做如下联系人定义 define contact{ contact_name oldboy-pager use generic-contact alias Nagios users pager 1891171822-(改成你的) } define contactgroup{ contactgroup_name oldboytraining alias Nagios Administrators members oldboy-pager } 指定联系人属于的组。 5、在nagios服务或主机配置里指定报警的联系人组即可发送短信报警。 define service{ use generic-service host_name 17-client service_description port_80 check_command check_tcp!80 contact_groups oldboytraining } successful!
|