A prototype plugin has been released implimenting the TMForum RAM Release 1.0 Simple Alarm Reporting interface as a service for the OpenNMS open source network management platform. This plugin was used in the Alarm Management for Converged Networks Catalyst . It has been delivered for evaluation to illustrate the features of RAM on a working system. However it is not yet considered production quality. The OpenNMS project welcomes user feedback as to the direction this implementation should take going forwards.
These notes concern release 1.0.2 of the plugin.
The code for the plugin can be obtained by subversion checkout from here; http://openoss.svn.sourceforge.net/svnroot/openoss/tip/sandbox/cgallen/experimental/ramcatalyst/tags/RELEASE_1_0_2
The plugin module can be obtained at OpenNMS_RAM_Plugin Version 1.0.2
The interface is based upon the TMForum RAM Release 1.0 Simple Alarm Reporting profile which only supports the operations listed below. Attempting to access unsupported operations will result in an error response.
NotificationProducer: Subscribe | Allows a client to subscribe for RAM events from OpenNMS. The protocol used is WSNotification. The following events are supported: newAlarmNotification, clearedAlarmNotification |
PausableSubscriptionManager: Unsubscribe | Allows a client to unsubscribe for RAM events from OpenNMS. |
ResourceAlarmRetrievalService : getResourceAlarms | Allows a client to resynchronise by getting all active alarms. Alarm filtering is not supported. If more alarms are returned than can be supported in a single response, an Alarm Iterator reference is returned |
ResourceAlarmIterator: getNextResourceAlarmIteration | Allows a client to iterate through a long list of alarms |
ResourceAlarmIterator: releaseResourceAlarmIterator | Allows a client to release an alarm iterator if the results are no longer required |
The following prerequisit steps are required to get the Interface working;
# TM FORUM INTERFACE log4j.category.org.reflections.Reflections=DEBUG, RAM log4j.category.tipInterfaceTestLog=DEBUG, RAM log4j.category.tipTestNGTestLog=DEBUG, RAM log4j.additivity.OpenNMS.RAMProxy=false log4j.appender.RAM=org.apache.log4j.RollingFileAppender log4j.appender.RAM.MaxFileSize=100MB log4j.appender.RAM.MaxBackupIndex=4 log4j.appender.RAM.File=/opt/opennms/logs/webapp/tipRam.log # NOTE if windows use log4j.appender.RAM.File=C:/Program Files (x86)/OpenNMS/logs/webapp/tipRam.log log4j.appender.RAM.layout=org.apache.log4j.PatternLayout log4j.appender.RAM.layout.ConversionPattern=%d %-5p [%t] %c{1}: %m%n |
Restart OpenNMS and navigate to http://<opennms server address>:8980/RI. You should see the following page;
The interface can be tested using the RAM CTK. For simple testing you can also use the following instructions
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <ns2:getResourceAlarmsRequest xmlns="http://www.tmforum.org/xml/tip/internal/iterator" xmlns:ns2="http://www.tmforum.org/xml/tip/resource/trouble/alarm" xmlns:ns3="http://www.tmforum.org/xml/tip/internal/filter" xmlns:ns4="http://www.tmforum.org/xml/tip/internal/primitives" xmlns:ns5="http://www.tmforum.org/xml/tip/internal/entity" xmlns:ns6="http://www.tmforum.org/xml/tip/internal/extensibility" xmlns:ns7="http://www.tmforum.org/xml/tip/cbe/root/tip/fmk" xmlns:ns8="http://www.tmforum.org/xml/tip/cbe/problem" xmlns:ns9="http://www.tmforum.org/xml/tip/resource/res/tip/nrb" xmlns:ns10="http://www.tmforum.org/xml/tip/internal/exceptions" xmlns:ns11="http://www.tmforum.org/xml/tip/internal/notifications" xmlns:ns12="http://www.tmforum.org/xml/tip/common/notifications" xmlns:ns13="http://www.tmforum.org/xml/tip/cbe/job" xmlns:ns14="http://www.tmforum.org/xml/tip/cbe/base" xmlns:ns15="http://www.tmforum.org/xml/tip/cbe/time/sched" xmlns:ns16="http://www.tmforum.org/xml/tip/cbe/perf"> <maxElements>20</maxElements> </ns2:getResourceAlarmsRequest> </soap:Body> </soap:Envelope> |
For more sophisticated tests you could use the CTK.