nagios监控服务短信报警开发及部署细节
网站监控的及时报警方式主要就是短信报警了:
1)邮箱转短信报警。
2)微信,MSN,QQ转手机信息提醒。
3)短信网关报警(本文推荐)
4)短信猫报警。
5)飞信报警。
6)手机邮件客户端直接收邮件提示信息提醒。
说明:其实开发任何程序对于nagios来说都只是一个插件而已,因此,
监控内存,短信报警,以及,开发其他业务类插件的开发和部署方法是一样的。
仅仅是功能和名字不同而已。
1、开发发送手机短信的脚本
#!/bin/sh#created by oldboy 11:56 2009/12/11#[email protected]#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 ];thenprint_usagefi#FORMAT "Host $HOSTSTATE$ alert for $HOSTNAME$"TITLE=$1CONTACT=$2#send_message method1curl -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.action2、说明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
}
指定联系人属于的组。
4、在nagios服务或主机配置里指定报警的联系人组即可发送短信报警。
define service{
use generic-service
host_name 17-client
service_description port_80
check_command check_tcp!80
contact_groups oldboytraining
}
successful!