Voltha Alarm Management using OpenNMS and Elasticsearch
- Added necessary configuration to run a self-contained instance of
OpenNMS
- Elasticsearch/Logstash is responsible for the interception of voltha
alarms and to forward to OpenNMS
Amendment:
- Cleaned up untouched opennms config files
- Added Dockerfile and scripts to override the default entrypoint script
Change-Id: Id611a330f7274d016281e734ade79d22bfc0356b
diff --git a/compose/opennms/etc/events/voltha.events.xml b/compose/opennms/etc/events/voltha.events.xml
new file mode 100644
index 0000000..c24ae42
--- /dev/null
+++ b/compose/opennms/etc/events/voltha.events.xml
@@ -0,0 +1,113 @@
+<events xmlns="http://xmlns.opennms.org/xsd/eventconf">
+ <!-- output events: Linux -->
+ <event>
+ <uei>uei.opennms.org/vendor/voltha/alarmRaised</uei>
+ <event-label>vOLT-HA - Alarm Raised Event</event-label>
+ <descr>
+ AlarmId: %parm[AlarmId]%<br/>
+ ResourceId: %parm[ResourceId]%<br/>
+ Description: %parm[Description]%<br/>
+ Type: %parm[Type]%<br/>
+ Category: %parm[Category]%<br/>
+ State: %parm[State]%<br/>
+ Severity: %parm[Severity]%<br/>
+ RaisedTime: %parm[RaisedTime]%<br/>
+ ReportedTime: %parm[ReportedTime]%<br/>
+ ChangedTime: %parm[ChangedTime]%<br/>
+ Context: %parm[Context]%<br/>
+ </descr>
+ <logmsg dest='donotpersist'>
+ %parm[Description]%<br/>
+ Type: %parm[Type]%
+ </logmsg>
+ <severity>Warning</severity>
+ <operinstruct></operinstruct>
+ <alarm-data reduction-key="%uei%:%nodeid%:%parm[AlarmId]%:%parm[ResourceId]%:%parm[Type]%:%parm[Category]%" alarm-type="1" auto-clean="false">
+ <update-field field-name="severity" update-on-reduction="true"/>
+ </alarm-data>
+ </event>
+ <event>
+ <uei>uei.opennms.org/vendor/voltha/alarmRaisedCorrelated</uei>
+ <event-label>vOLT-HA - Alarm Raised and Correlated Event</event-label>
+ <descr>
+ AlarmId: %parm[AlarmId]%<br/>
+ ResourceId: %parm[ResourceId]%<br/>
+ Description: %parm[Description]%<br/>
+ Type: %parm[Type]%<br/>
+ Category: %parm[Category]%<br/>
+ State: %parm[State]%<br/>
+ Severity: %parm[Severity]%<br/>
+ RaisedTime: %parm[RaisedTime]%<br/>
+ ReportedTime: %parm[ReportedTime]%<br/>
+ ChangedTime: %parm[ChangedTime]%<br/>
+ Context: %parm[Context]%<br/>
+ </descr>
+ <logmsg dest='logndisplay'>
+ %parm[Description]%<br/>
+ Type: %parm[Type]%
+ </logmsg>
+ <severity>Warning</severity>
+ <operinstruct></operinstruct>
+ <alarm-data reduction-key="%uei%:%nodeid%:%parm[AlarmId]%:%parm[ResourceId]%:%parm[Type]%:%parm[Category]%" alarm-type="1" auto-clean="false">
+ <update-field field-name="severity" update-on-reduction="true"/>
+ </alarm-data>
+ </event>
+ <event>
+ <uei>uei.opennms.org/vendor/voltha/alarmCleared</uei>
+ <event-label>vOLT-HA - Alarm Cleared Event</event-label>
+ <descr>
+ AlarmId: %parm[AlarmId]%<br/>
+ ResourceId: %parm[ResourceId]%<br/>
+ Description: %parm[Description]%<br/>
+ Type: %parm[Type]%<br/>
+ Category: %parm[Category]%<br/>
+ State: %parm[State]%<br/>
+ Severity: %parm[Severity]%<br/>
+ RaisedTime: %parm[RaisedTime]%<br/>
+ ReportedTime: %parm[ReportedTime]%<br/>
+ ChangedTime: %parm[ChangedTime]%<br/>
+ Context: %parm[Context]%<br/>
+ </descr>
+ <logmsg dest='donotpersist'>
+ %parm[Description]%<br/>
+ Type: %parm[Type]%
+ </logmsg>
+ <severity>Normal</severity>
+ <operinstruct></operinstruct>
+ <alarm-data reduction-key="%uei%:%nodeid%:%parm[AlarmId]%:%parm[ResourceId]%:%parm[Type]%:%parm[Category]%"
+ alarm-type="2"
+ clear-key="uei.opennms.org/vendor/voltha/alarmRaised:%nodeid%:%parm[AlarmId]%:%parm[ResourceId]%:%parm[Type]%:%parm[Category]%"
+ auto-clean="true">
+ <update-field field-name="severity" update-on-reduction="true"/>
+ </alarm-data>
+ </event>
+ <event>
+ <uei>uei.opennms.org/vendor/voltha/alarmClearedCorrelated</uei>
+ <event-label>vOLT-HA - Alarm Cleared and Correlated Event</event-label>
+ <descr>
+ AlarmId: %parm[AlarmId]%<br/>
+ ResourceId: %parm[ResourceId]%<br/>
+ Description: %parm[Description]%<br/>
+ Type: %parm[Type]%<br/>
+ Category: %parm[Category]%<br/>
+ State: %parm[State]%<br/>
+ Severity: %parm[Severity]%<br/>
+ RaisedTime: %parm[RaisedTime]%<br/>
+ ReportedTime: %parm[ReportedTime]%<br/>
+ ChangedTime: %parm[ChangedTime]%<br/>
+ Context: %parm[Context]%<br/>
+ </descr>
+ <logmsg dest='logndisplay'>
+ %parm[Description]%<br/>
+ Type: %parm[Type]%
+ </logmsg>
+ <severity>Normal</severity>
+ <operinstruct></operinstruct>
+ <alarm-data reduction-key="%uei%:%nodeid%:%parm[AlarmId]%:%parm[ResourceId]%:%parm[Type]%:%parm[Category]%"
+ alarm-type="2"
+ clear-key="uei.opennms.org/vendor/voltha/alarmRaisedCorrelated:%nodeid%:%parm[AlarmId]%:%parm[ResourceId]%:%parm[Type]%:%parm[Category]%"
+ auto-clean="true">
+ <update-field field-name="severity" update-on-reduction="true"/>
+ </alarm-data>
+ </event>
+</events>