网站监控的及时报警方式主要就是短信报警了:
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 ];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'commanddefinition
definecommand{
command_namenotify-host-by-pager
command_line$USER1$/sms_send"Host$HOSTSTATE$alertfor$HOSTNAME$"$CONTACTPAGER$
}

3、templates.cfg搜联系人报警模板名字generic-contact下增加notify-host-by-pager!
host_notification_commandsnotify-host-by-email,notify-host-by-pager

4、在联系人contact.cfg里做如下联系人定义
definecontact{
contact_nameoldboy-pager
usegeneric-contact
aliasNagiosusers
pager1891171822-(改成你的)
}
definecontactgroup{
contactgroup_nameoldboytraining
aliasNagiosAdministrators
membersoldboy-pager
}
指定联系人属于的组。
4、在nagios服务或主机配置里指定报警的联系人组即可发送短信报警。
defineservice{
usegeneric-service
host_name17-client
service_descriptionport_80
check_commandcheck_tcp!80
contact_groupsoldboytraining
}

successful!