网站地图    收藏   

主页 > 系统 > linux系统 >

nagios 使用MSN 发报警消息 - Linux操作系统:Ubuntu

来源:自学PHP网    时间:2015-04-14 11:51 作者: 阅读:

[导读] 公司管理的服务器太多了!在年前部属了cacti,但cacti只能做事后分析的工作,而实时报警功能不强,在部属cacti前就在监控PC上安装了nagios,只是一直没有时间详细研究!目前在我们的几...

公司管理的服务器太多了!在年前部属了cacti,但cacti只能做事后分析的工作,而实时报警功能不强,在部属cacti前就在监控PC上安装了nagios,只是一直没有时间详细研究!目前在我们的几百台服务器上都使用脚本自动化管理!然后发报警邮件!
这段时间有点时间下来研究nagios,从今天开始就将我近段时间研究的结果记录下来!为以后再部属好查寻,做一下资料!
今天主要记录下昨天研究成功的基础nagios上报警使用MSN消息的方式!

1、准备MSN 机器人登陆使用的MSN帐号、接收报警消息的MSN帐号,两个一定要相互加为好友的关系;

2、MSN 机器人使用PHP 类:sendMsg
下载sendMsg安装,只需要将sendMsg目录放在web 根目录下就可以,配置好MSN注册使用的MSN帐号、密码;配置接收人的MSN帐号:

    $senderUser=MSN帐号;
    $senderPass=密码;
    $sendToList = array(接受消息人1,接受消息人2);


配置好上面消息后可以测试:
在IE中打开以面的链接,那么在MSN报警接收MSN帐户就可以接收到下面的中文消息:

http://noc.chinarenservice.com/msn/index.php?SendMess=我打死你


 

3、 commands.cfg 配置

[root@TS263 servers]# less /usr/local/nagios/etc/servers/commands.cfg
###################################### Msn Alert #########################################################
# notify-by-msn command definition
define command{
        command_name    notify-host-by-msn
        command_line    /usr/bin/printf "%b" "***** Nagios 1.0 ***** Notification Type: $NOTIFICATIONTYPE$ Service: $SERVICEDESC$ Host: $HOSTALIAS$ Address: $HOSTADDRESS$ State: $SERVICESTATE$ Date/Time: $DATETIME$ Additional Info: $OUTPUT$" > /usr/local/nagios/msnhost.out | $USER1$/messagehost.sh
        }
# notify-service-by-msn command definition
define command{
        command_name    notify-service-by-msn
        command_line    /usr/bin/printf "%b" "***** Nagios ***** Notification Type: $NOTIFICATIONTYPE$ Service: $SERVICEDESC$ Host: $HOSTALIAS$ Address: $HOSTADDRESS$ State: $SERVICESTATE$ Date/Time: $LONGDATETIME$ Additional Info: $SERVICEOUTPUT$" > /usr/local/nagios/msnservice.out | $USER1$/messageservice.sh
        }
[root@TS263 servers]# less /usr/local/nagios/libexec/messageservice.sh
#!/bin/bash
message=`cat /usr/local/nagios/msnservice.out`
wget -qO- http://noc.chinarenservice.com/msn/index.php?SendMess="$message"

4、添加一个MSN接收消息的联系人

[root@TS263 servers]# less /usr/local/nagios/etc/servers/contacts.cfg
define contact{
        contact_name                    freeke2
        alias                           freeke2
        use                             generic-contact
        service_notification_period     24x7
        host_notification_period        24x7
        service_notification_options    w,u,c,r
        host_notification_options       d,u,r
        service_notification_commands   notify-service-by-msn
        host_notification_commands      notify-host-by-msn
        email                           myfreeke@gmail.com
        pager                           15920094782
        address1                        myfreeke@gmail.com
        address2                        555-555-5555
        }
添加上面的联系人后,注意在联系人组中也需要添加上该联系人

[root@TS263 servers]# less /usr/local/nagios/etc/servers/contactgroup.cfg
define contactgroup{
        contactgroup_name admin
        alias Nagios Administrators
        members support,freeke2
        }

然后在service  配置是添加上contact_groups admin 就可以正常使用MSN报警功能了。效果就像上面的图一下接收报警信息!

配置nagios使用MSN,问了不少人,由于自己不懂shell和写代码,以至于自己在这上面郁闷了非常长的一段时间!

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论