服务器 频道

Nagios借助yahoo.cn邮箱实现手机短信报警功能

    按照上面的提示,很容易设置这个功能的。为了使短信提醒符合我们的实际要求,需要对某些项目进行设置。一个是“提示信息选择”,另一个是“提示时间设置”,其设置情况如图1所示:


    点左下方链接“POP3+来信提醒”进行设置(图2)。 

 
    提示信息选择选第3个单选框“您收到[寄件人]发送的邮件:[邮件标题]”,这样设置的目的是因为邮件标题可以很明显的知道故障发生在哪里(标题信息来自Nagios的配置文件);服务器需要24小时监控,所以把“提醒时间设置”相里面的3个复选框全取消。设置完毕后,用一个别的邮箱发个邮件给你的yahoo信箱,片刻手机就会收到短信。

    美中不足,yahoo短信不能支持稍长一点的邮件标题,这是我打yahoo客服电话知道的。登录网站收邮件(不支持pop,我晕),发现来了不少Nagios服务报警邮件,可以没收到任何一个短信,打电话问才知道是标题过长。既然这样,我把标题改短点吧。登录Nagios系统,修改文件 commands.conf,我的文件位置是 /usr/local/nagios/etc/commands.conf,修改内容为:
# 'notify-by-email' command definition define command{ command_name notify-by-email command_line /usr/bin/printf "%b" "***** Nagios 2.9 *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /bin/mail -s "$HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ " $CONTACTEMAIL$ }
    默认的有点长,我把它缩短成上面那个样子,即用红色字体标识的是被减缩的。接着修改文件contacts.conf,把收信人地址改称yahoo.cn邮箱。改完后须重启nagios服务。现在来检验一下效果:把nagios监控的某个服务器的服务停掉几分钟,然后去yahoo邮箱收邮件,正常的话,只要邮件一到信箱短信就跟着来了。

    为了避免诸如发件人的名称为root这样的问题,启用邮件别名似乎更佳一些。

    最后展示一下手机收到的短信的样式:

    你收到[vmail @17k.com]的邮件:[Host UP alert for apache_sery]

    看这个标题我就知道服务器是怎么一个状态。
0
相关文章