OpenNMS扩展 - 事件配置
1. 概述(Overview)
OpenNMS包括一个强有力的事件通知系统,OpenNMS管理事件通知的进程是eventd。主要有两种类型的事件:由OpenNMS内部产生的事件和通过外部的SNMP trap产生的事件。
当事件产生时,将会设置不同的参数,比如:事件描述,事件的log信息与严重级别,另外,通过eventconf.xml文件配置能够自动加载事件发送参数到一个外部的script.
OpenNMS的事件可以伴随一个通知,特别的事件可能通过页面或Email,SMS等方式发出一个通知。
2. 事件(Events)
2.1 配置文件(Configuration File)
事件配置的主要文件位于$OPENNMS_HOME/etc与$OPENNMS_HOME/etc/events目录下(本例OPENNMS_HOME为/usr/local/opennms/source/dist)。
2.1.1 eventconf.xml
这个文件定义通用事件识别码(Universal Event Identifiers或UEIs)以及它们的事件屏蔽(masks),描述,记录文件信息和严重程度。
xml version="1.0"?>
<events xmlns="http://xmlns.opennms.org/xsd/eventconf">
<global>
<security>
<doNotOverride>logmsgdoNotOverride>
<doNotOverride>operactiondoNotOverride>
<doNotOverride>autoactiondoNotOverride>
<doNotOverride>tticketdoNotOverride>
<doNotOverride>scriptdoNotOverride>
security>
global>
<event-file>/usr/local/opennms/source/dist/etc/events/SureTech.events.xmlevent-file>
<event-file>/usr/local/opennms/source/dist/etc/events/3Com.events.xmlevent-file>
<event-file>/usr/local/opennms/source/dist/etc/events/Standard.events.xmlevent-file>
<event>
<uei>MATCH-ANY-UEIuei>
<event-label>OpenNMS defined event: MATCH-ANY-UEIevent-label>
<descr>
<p>This UEI will never be generated, but exists
so that notifications can match any UEI for a
particular filter rule. Useful to see all events for
a particular node via notifications.
</p>
descr>
<logmsg dest='logonly'>
MATCH-ANY-UEI event.
logmsg>
<severity>Indeterminateseverity>
event>
<event-file>/usr/local/opennms/source/dist/etc/events/default.events.xmlevent-file>
events>
eventconf.xml包括内部事件与外部事件的配置,内部事件主要是OpenNMS的事件,外部事件是自定义的事件,如企业事件。外部事件主要是通过<event-file>标签引入。如引入SureTech企业的外部事件:
<event-file>/usr/local/opennms/source/dist/etc/events/SureTech.events.xmlevent-file>
所有的事件由企业分开。当opennms启动时,每个企业事件配置文件会被载入,根据引入文件选择顺序载入,定义在eventconf.xml文件中的事件会被事先加载。最佳实践是将内部事件定义在eventconf.xml中。
注:在eventconf.xml最底端:
<event-file>/usr/local/opennms/source/dist/etc/events/default.events.xmlevent-file>
这个文件包含通用缺省事件,要始终列在最后。
2.1.2 trapd-configuration.xml (daemon)
这个文件定义SNMP trap的埠口(port)。
xml version="1.0"?>
<trapd-configuration snmp-trap-port="162" new-suspect-on-trap="true"/>
2.1.3 eventd-configuration.xml (daemon)
这个文件定义eventd的运行参数,TCP,UDP端口,监听执行的线程数,下一个事件ID,Socket是否设置超时及超时时间。
<EventdConfiguration
TCPPort="5817"
UDPPort="5817"
receivers="5"
getNextEventID="SELECT nextval('eventsNxtId')"
socketSoTimeoutRequired="yes"
socketSoTimeoutPeriod="3000">
EventdConfiguration>
2.1.4 actiond-configuration.xml (daemon)
在事件(events)产生时所呼叫的外部程序称为(actions). 此文件设置控制最多可以同时执行的action数量, 以及等待action执行完毕回传结果的逾时值。
xml version="1.0"?>
<actiond-configuration
max-outstanding-actions="10"
max-process-time="120000">
actiond-configuration>
2.1.5 events.archiver.properties, events-archiver-configuration.xml
Event模块日志配置。
2.1.5自定义事件文件(企业事件)
如:建立SureTech.events.xml
<events>
<event>
<mask>
<maskelement>
<mename>idmename>
<mevalue>.1.3.6.1.4.1.888.1mevalue>
maskelement>
<maskelement>
<mename>genericmename>
<mevalue>6mevalue>
maskelement>
<maskelement>
<mename>specificmename>
<mevalue>1mevalue>
maskelement>
mask>
<uei>
uei.opennms.org/vendor/SureTech/traps/SureTechCPUResourcesConsuemed
uei>
<event-label>
SureTech-MIB defined trap event:
SureTechCPUResourcesExceedConsuemed
event-label>
<descr>
<p>An ECC single-bit error has been corrected in one
of the memory modules</p><table> </table>
descr>
<logmsg dest='logndisplay'>
<p>SureTech Event: EEC Single-bit Error
Corrected.</p>
logmsg>
<severity>Normalseverity>
event>
<event>
<mask>
<maskelement>
<mename>idmename>
<mevalue>.1.3.6.1.4.1.888.%mevalue>
maskelement>
<maskelement>
<mename>genericmename>
<mevalue>6mevalue>
maskelement>
mask>
<uei>
uei.opennms.org/vendor/SureTech/traps/EnterpriseDefault
uei>
<event-label>
OpenNMS-defined trap event: SureTech EnterpriseDefault
event-label>
<descr>
<p>This is the default event format used when an
enterprise specific event (trap) is received from a SureTech
device for which no format has been configured (i.e. no
event definition exists).</p>
descr>
<logmsg dest='logndisplay'>
Received unformatted enterprise event (enterprise:%id%
generic:%generic% specific:%specific%). %parm[##]% args:
%parm[all]%
logmsg>
<severity>Indeterminateseverity>
event>
events>
事件文件以
l uei
l source
l host
l snmphost
l nodeid
l interface
l service
l id
l specific
l generic
l community
例子中的menname是取id,即企业OID=.1.3.6.1.4.1.888.1,generic值为6表现根据企业特定的MIB即1来产生事件。
Generic是trap类型,共分为表4中的7种。
trap类型 |
名字 |
说明 |
0 |
coldStart |
代理进行了初始化 |
1 |
warmStart |
代理进行了重新初始化 |
2 |
linkDown |
一个接口从工作状态变为故障状态 |
3 |
border-right: black 1pt solid; pa
|