nagios监控服务短信报警开发及部署细节

网站监控的及时报警方式主要就是短信报警了:
1)邮箱转短信报警。
2)微信,MSN,QQ转手机信息提醒。
3)短信网关报警(本文推荐)
4)短信猫报警。
5)飞信报警。

6)手机邮件客户端直接收邮件提示信息提醒。

说明:其实开发任何程序对于nagios来说都只是一个插件而已,因此,
监控内存,短信报警,以及,开发其他业务类插件的开发和部署方法是一样的。
仅仅是功能和名字不同而已。

1、开发发送手机短信的脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/bin/sh
#created by oldboy 11:56 2009/12/11
#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"
exit1
}
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
}
指定联系人属于的组。
4、在nagios服务或主机配置里指定报警的联系人组即可发送短信报警。
define service{
use generic-service
host_name 17-client
service_description port_80
check_command check_tcp!80
contact_groups oldboytraining
}

successful!

 

你可能感兴趣的:(监控软件)