OpenNMS扩展 - 事件配置
2011年04月24日
OpenNMS包括一个强有力的事件通知系统,OpenNMS管理事件通知的进程是eventd。主要有两种类型的事件:由OpenNMS内部产生的事件和通过外部的SNMP trap产生的事件。
当事件产生时,将会设置不同的参数,比如:事件描述,事件的log信息与严重级别,另外,通过eventconf.xml文件配置能够自动加载事件发送参数到一个外部的script.
OpenNMS的事件可以伴随一个通知,特别的事件可能通过页面或Email,SMS等方式发出一个通知。 事件配置的主要文件位于$OPENNMS_HOME/etc与$OPENNMS_HOME/etc/events目录下(本例OPENNMS_HOME为/usr/local/opennms/source/dist)。 这个文件定义通用事件识别码(Universal Event Identifiers或UEIs)以及它们的事件屏蔽(masks),描述,记录文件信息和严重程度。 logmsg operaction autoaction tticket script /usr/local/opennms/source/dist/etc/events/SureTech .events.xml /usr/local/opennms/source/dist/etc/events/3Com.eve nts.xml /usr/local/opennms/source/dist/etc/events/Standard .events.xml MATCH-ANY-UEI OpenNMS defined event: MATCH-ANY-UEI 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. MATCH-ANY-UEI event. Indeterminate /usr/local/opennms/source/dist/etc/events/default. events.xml eventconf.xml包括内部事件与外部事件的配置,内部事件主要是OpenNMS的事件,外部事件是自定义的事件,如企业事件。外部事件主要是通过标签引入。如引入SureTech企业的外部事件: /usr/local/opennms/source/dist/etc/events/SureTech .events.xml 所有的事件由企业分开。当opennms启动时,每个企业事件配置文件会被载入,根据引入文件选择顺序载入,定义在eventconf.xml文件中的事件会被事先加载。最佳实践是将内部事件定义在eventconf.xml中。
注:在eventconf.xml最底端: /usr/local/opennms/source/dist/etc/events/default. events.xml 这个文件包含通用缺省事件,要始终列在最后。
这个文件定义SNMP trap的埠口(port)。 这个文件定义eventd的运行参数,TCP,UDP端口,监听执行的线程数,下一个事件ID,Socket是否设置超时及超时时间。 在事件(events)产生时所呼叫的外部程序称为(actions). 此文件设置控制最多可以同时执行的action数量, 以及等待action执行完毕回传结果的逾时值。 Event模块日志配置。 如:建立SureTech.events.xml id .1.3.6.1.4.1.888.1 generic 6 specific 1 uei.opennms.org/vendor/SureTech/traps/SureTechCPUR esourcesConsuemed SureTech-MIB defined trap event: SureTechCPUResourcesExceedConsuemed An ECC single-bit error has been corrected in one of the memory modules SureTech Event: EEC Single-bit Error Corrected. Normal id .1.3.6.1.4.1.888.% generic 6 uei.opennms.org/vendor/SureTech/traps/EnterpriseDe fault OpenNMS-defined trap event: SureTech EnterpriseDefault 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). Received unformatted enterprise event (enterprise:%id% generic:%generic% specific:%specific%). %parm[##]% args: %parm[all]% Indeterminate 事件文件以标记开始以标记结束。
标签的值可能有如下值:
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 Linkup 一个接口从故障状态变为工作状态 4 authenticationFailure 从SNMP管理进程接收到具有一个无效共同体的报文 5 egpNeighborLoss 一个EGP相邻路由器变为故障状态 6 enterpriseSpecific 代理自定义的事件,需要用后面的"特定代码"来指明 当使用上述类型2、3、5时,在报文后面变量部分的第一个变量应标识响应的接口。
Specific,是企业特定代码(specific-code),指明代理自定义的时间(若trap类型为6),否则为0。
每一个企业事件配置文件中必须要全局事件放置最后,uei以定义企业的事件标签命名"路径",如: uei.opennms.org/vendor/SureTech/traps/EnterpriseDe fault mask value可以使用"%"通配符表示所有的企业事件,如配合所有的SureTech(企业OID为.1.3.6.1.4.1.888)事件: id .1.3.6.1.4.1.888.% generic 6 eventd进程侦听端口5817 ,所以其他进程,甚至那些外部OpenNMS ,可以发送事件到系统中。该标记表示,这些事件不能凌驾于行动的定义在eventconf.xml文件。这样,没有人有权限通过打开"autoaction"进入该OpenNMS机器,也就是说,以root权限在这个机器上才能自动发送事件权利。
本例子中,可通过snmptrap -v 2c -c public 192.168.6.13 "" .1.3.6.1.4.1.888.1.1 在Agent向Manager发送一个SNMP Trap,这样就会在Manager上产生一个SureTech自定义的事件。
如下图所示:
OpenNMS内部事件定义在eventconf.xml文件中,例如一个共同的事件: nodelostservice : http://uei.opennms.org/nodes/nodeLostService OpenNMS-defined node event: nodeLostService A %service% outage was identified on interface %interface%. A new Outage record has been created and service level availability calculations will be impacted until this outage is resolved. %service% outage identified on interface %interface%. Major 每一事件以标记来定义。这个标记里面有不同的定义:
uei
"通用事件标识符",用来唯一标识一个事件。注意:对于内部opennms的事件, uei直接由代码产生而不能修改。
event-label
以纯文本的方式对事件加标签,有时被用来在网页的用户界面。
descr
事件描述。可以嵌入HTML,如果您希望格式的描述更充分。请注意,有要素,如%interface% ,你就可以在该事件描述和日志消息。
logmsg
事件简短的描述或概要的说明。 "dest"属性,可以如下值:
l logndisplay 记录事件在数据库中并在Web UI中显示。
l logonly 记录事件在数据库中,但不显示它。
l suppress 既不在数据库记录事件又不显示它。
l donotpersist 不记录事件在数据库中,但仍然将它传送至opennms的后台程序是监听针对此类型的活动(例如:这可以用来产生通知)。
l discardtraps 这仅适用于陷阱。这将导致trapd抛弃的陷阱,没有创造一个事件。其他opennms的后台程序是监听针对此类型的事件将不会收到此事件。这项功能是第一个可用在opennms 1.3.0 。
severity
表示事件的级别。 Critical This event means numerous devices on the network are affected by the event. Everyone who can should stop what they are doing and focus on fixing the problem. Major A device is completely down or in danger of going down. Attention needs to be paid to this problem immediately. Minor A part of a device (a service, and interface, a power supply, etc.) has stopped functioning. The device needs attention. Warning An event has occurred that may require action. This severity can also be used to indicate a condition that should be noted (logged) but does not require direct action. Normal Informational message. No action required. Cleared This event indicates that a prior error condition has been corrected and service is restored Indeterminate No Severity could be associated with this event. 各种元素可以包括在每一个事件的说明,日志信息,操作说明和自动动作中。并非所有的事件将有元素的值,有些是指SNMP trap。
%uei%
The UEI for the event.
%source%
The source of the event (what process).
%time%
The time of the event.
%nodeid%
The node ID of the device that caused the event.
%interface%
The interface associated with the event.
%service%
The service associated with the event.
%severity%
The severity of the event.
%snmphost%
The host of the SNMP agent that generated the event.
%snmp%
The SNMP information associated with the event.
%id%
The SNMP Enterprise OID for the event.
%generic%
The Generic trap number for the event.
%specific%
The Specific trap number for the event.
%community%
The community string for the trap.
%version%
The SNMP version of the trap.
%operinstruct%
The operator instructions for the event.
%mouseovertext%
The mouse over text for the event.
In version 1.1 and beyond, there are two more parameters available:
%nodelabel%
Returns the node label for the node given in %nodeid% if available.
%interfaceresolv%
Does a reverse lookup on the %interface% and returns its name if available. 除了OpenNMS内部产生事件外,OpenNMS还可以接收SNMP Traps透过trapd进程。这些都是使用标记控制在eventconf.xml文件中(例如:2.1.5自定义事件文件)。这就是与内部事件配置主要的不同之处 一些事件,特别是SNMP Traps,有额外的信息发送给他们即所谓的"variable bindings"或"varbinds"。在ciscoc3800sysaggregatestatuschange事件上面列出的,有四个的他们,他们可以使用parm元素访问。每个参数由一个名称和一个值构成。
%parm[all]%
Will return a space-separated list of all parameter values in the form parmName1="parmValue1" parmName2="parmValue2" etc.
%parm[values-all]%
Will return a space-separated list of all parameter values associated with the event.
%parm[names-all]%
Will return a space-separated list of all parameter names associated with the event.
%parm[]%
Will return the value of the parameter named if it exists.
%parm[##]%
Will return the total number of parameters.
%parm[#]%
Will return the value of parameter number .
每一个事件产生后将会添加到数据库中的events表中。Web UI通过Servlet提交要查询的event返回到Web UI供客户端显示。
注:配置事件相关的XML文件后需重启OpenNMS.
发表评论
-
运行MeeGo SDK 的windows版本
2012-01-20 09:21 725运行MeeGo SDK 的windows版本 2010年11 ... -
关于如何学好游戏3D引擎编程的一些经验
2012-01-20 09:21 876关于如何学好游戏3D引擎编程的一些经验 2010年09月16 ... -
软件实现三维地图引擎的研究
2012-01-20 09:21 914软件实现三维地图引擎 ... -
CUBRID 中的线程模型
2012-01-20 09:21 554CUBRID 中的线程模型 2010 ... -
黄氏礼制文化
2012-01-19 14:23 739黄氏礼制文化 2011年07 ... -
中古史研究的新视角:礼制、宗教与民间社会
2012-01-19 14:23 595中古史研究的新视角:礼 ... -
礼制”思想的阐述
2012-01-19 14:23 640礼制”思想的阐述 2010 ... -
实训报告
2012-01-19 14:23 611实训报告 2011年12月30日 ... -
小奴妹作文集(三)
2012-01-19 14:22 1753小奴妹作文集(三) 2011 ... -
网络游戏脚本及编程
2012-01-17 04:11 1112网络游戏脚本及编程 2010年07月18日 网络游戏脚本 ... -
3dmax简介
2012-01-17 04:11 5783dmax简介 2011年03月22日 3DMAX ... -
3D MAX 常见小问题集合三
2012-01-17 04:10 6443D MAX 常见小问题集合三 ... -
ParticleIllusion基础教程:界面介绍
2012-01-17 04:10 932ParticleIllusion基础教程: ... -
opengl
2012-01-17 04:10 697opengl 2010年11月17日 ... -
各种文件后缀名与打开方式大全
2012-01-16 03:01 892各种文件后缀名与打开 ... -
各种文件后缀名与打开方式大全
2012-01-16 03:01 650各种文件后缀名与打开方式大全 2009年11月27日 ... -
Flash&Flex大全
2012-01-16 03:01 601Flash&Flex大全 2011年02月24日 ... -
WPF是什么
2012-01-16 03:01 615WPF是什么 2009年07月25日 要赢得世界,必须在 ... -
FLASH常用的120个代码分析详解[三].
2012-01-16 03:00 594FLASH常用的120个代码分析详解[三]. 2011年05 ...
相关推荐
openNMS1.6.5源码,最新稳定的版本。OpenNMS是第一个开发在开源模式下的企业级网络管理平台应用。OpenNMS的目标是成为一个真真的分布式、可升级的网络管理平台,尽管它看似一个FCAPS网络管理模型,使之可用于开放...
opennms1.12.5-1官方源码下载
openNMS1.10.3-1源代码。 openNMS是很好用的网络管理工具,完全开源。
opennms配置,功能手册,从opennms网站扒下来的,希望对您有用
用于Internet中基于snmp协议的网络开发包 用于Internet中基于snmp协议的网络开发包
standalone-opennms-1.6.8.jar
NULL 博文链接:https://yinbangmin.iteye.com/blog/2414065
opennms-模块管理器 用于管理 opennms-modules 的 CLI
OpenNMS Javascript API 用于访问OpenNMS网络监视平台的客户端API。 在代码中使用OpenNMS.js API 中提供了有关入门以及如何使用API的。 完整的API列表可在。 使用OpenNMS.js命令行 安装 运行npm install -g ...
opennms 中文 http://www.qoswork.com OpenNMS 官方文档 https://qoswork.github.io/odoc/
厨师食谱,用于管理OpenNMS Horizon的安装和配置。 当前版本支持CentOS 6和7的发行版16、17、18、19、20、21、22、23、24、25、26。 版本号 从OpenNMS Horizon 16开始,该食谱版本的MSB与其支持的OpenNMS ...
配置配置本身并不过分复杂: 将附加的脚本放在 $OPENNMS_HOME/contrib/pagerduty 将 API 密钥从“XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”更改为正确的服务 API 密钥(有关如何添加服务的说明,请参见下文。...
Opennms从源码编译安装指南,很详细,很精准,以助于学习者快速理解opennms
该项目旨在通过引入一个稳定的接口来对其进行编写,从而使其更容易为OpenNMS编写插件和扩展。 然后,OpenNMS和Meridian的版本将实现API的至少一个主要版本。 特征 API的用户当前可以利用以下功能和界面。 有关完整...
OpenNMS-阈值-事件-生成器一种基于当前阈值设置生成良好阈值事件定义(和通知)的工具。 要编译该工具,请使用 Maven: mvn install这将生成一个带有依赖项的 JAR,以便能够轻松执行该工具,例如: java -jar ...
OpenNMS安装、配置[归纳].pdf
OpenNMS的详细图文安装与配置(Ubuntu)!!
opennms-事件使用 Kibana 分析 opennms 事件安装(来自源码) 这是一条骆驼路线,因此它需要 Java、Maven 3、Elasticsearch 和可以访问 opennms 存储其数据的 postgres 数据库的数据库用户。 克隆这个存储库,然后 ...
opennms-ksc-grafana:用于将OpenNMS KSC报表转换为Grafana仪表板的快捷实用程序
OpenNMS-IP-发现-供应-适配器可选的Provisioning Adapter,用于将IP接口的自动发现管理为非托管动机找到想要发现并持久存储数据库中所有IP接口,但仅主动监视受监控的服务的OpenNMS用户和操作员是很常见的,这些服务...