opennms配置短信告警

        近日领导要求配置 opennms,用来监控网络设备的状态,opennms的擅长利用snmp协议自动发现网段内的所有网络设备和服务器,并监控各个端口的状态及其上运行的服务器,对于不想在客户端上安装软件又想监控网络的人来说很方便。软件安装挺简单的,网上有很多教程,这里就不多说了,安装好之后指定一个网段,配置好snmp通信字符串,就会自动扫描并监控了,但是短信报警的配置网上大多都语焉不详,自己折腾了几天搞出来了,分享给大家:

一、短信发送脚本,首先当然是要有个可以发送短信的网关,编写shell脚本访问网关,这步的关键是shell脚本只有两个参数,第一个是号码,第二是短信内容,格式是这样的:shell文件名   #mobilenumber#  #text message#,这个一定要注意,我一开始就是不知道参数如何传递的,怎么都配置不通,在命令行测试能否发送短信,sendsms "mobilenumber" "text message"

二、定义手机号码,进入opennms->Admin->Configure Users,Groups and Roles->Configure Users,配置你需要短信告警的用户,在Numeric PIN填写手机号码,注意这里,我之前填写了Telephone PIN 是不对的,也可以直接修改文件,opennms home dir/etc/users.xml

三、打开报警功能,进入opennms->Admin->Notification Status 改为ON,进入Admin->Configure Notifications,有三个子选项,Configure Event Notifications  配置触发告警的事件,我这里选择的是Node DOWN触发告警,短信内容是默认,也可以修改,Configure Destination Paths配置目标路径,也就是告警要发送给哪些人,ConfigurePath Outages配置一个关键IP地址,当Node Down的情况发生,系统会检测这个IP,如果这个IP没有响应,则不发送告警

四、配置XML文件,和告警有关的文件有四个,在etc目录下,destinationPaths.xml,notifd-configuration.xml,notifications.xml,notificationCommands.xml

     1、destinationPaths.xml文件配置向哪些人发送通知,上面提到也可以在WEB界面配置,建议在web界面配置;

     2、notifd-configuration.xml文件,为通知守护进程配置全局属性,如:处理事件队列和自动发现,默认即可,不需要修改;

     3、notifications.xml文件,配置发送通知IP地址过滤规则,目标路径、主题、内容信息,如下表述一个节点DOWN时的通知配置:

    <notification name="nodeDown" status="on" writeable="yes">
        <uei xmlns="">uei.opennms.org/nodes/nodeDown</uei>
        <rule xmlns="">(IPADDR != '*.*.*.*') &amp;  (isICMP | isSNMP | isHTTP | isFTP | isTelnet )</rule>
        <destinationPath xmlns="">Messages</destinationPath>
        <text-message xmlns="">All services are down on node %nodelabel%.  New Outage records have &#xd;
been created and service level availability calculations will &#xd;
be impacted until this outage is resolved.  &#xd;
        </text-message>
        <subject xmlns="">Notice #%noticeid%: node %nodelabel% down.</subject>
        <numeric-message xmlns="">111-%noticeid%</numeric-message>
    </notification>默认即可,也不用修改;

     4、notificationCommands.xml文件,定义如何达成在desinationPaths.xml中所使用的各种配置通知方式,如我的短信配置如下:

    <command binary="true">
         <name>sms</name>                                                   #这里的name要和desinationPaths.xml文件中指定的 <command xmlns="">sms</command>一样
         <execute>/opt/opennms/bin/sendsms</execute>  #表示执行这个文件发送短信
         <comment>messages send program</comment>
         <argument streamed="false">                                    #表示发送的短信长度超出范围则分条发送
             <switch>-np</switch>
         </argument>
         <argument streamed="false">
             <switch>-tm</switch>
         </argument>
    </command>

五、最后重启opennms测试是否生效!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值