What's New in OpenNMS 1.12

From OpenNMS
Jump to: navigation, search

OpenNMS 1.12 is the latest OpenNMS stable series.

Here is a high-level overview of what has changed since 1.10.

Architectural Changes

Java 6 or higher required

OpenNMS 1.10 still supported Java 5, but OpenNMS 1.12 now requires Java 6 or higher. It will run on Oracle's JDK, as well as any modern version of OpenJDK 6, although in all cases a Java 7 VM is recommended.

OSGi 4.3

OpenNMS has begun transitioning to OSGi for managing internal services. In 1.12, the Karaf OSGi container is embedded inside the OpenNMS Jetty daemon so that portions of the web UI such as the new topology maps, geographical maps, NRTG, and the MIB compiler are run from inside the dynamic OSGi environment.

In OpenNMS 1.14, we plan to have all OpenNMS services running inside Karaf as OSGi services.

Spring 3.0

OpenNMS has internally upgraded from Spring 2.5 to Spring 3.0 which brings many new improvements under the covers.

Spring Security 3.1

Authentication to the web UI is controlled by Spring Security. We upgraded across several versions during the development process for 1.12 and these versions required changes to the applicationContext-spring-security.xml file. If you have customized this file in order to integrate with an external authentication service (LDAP, RADIUS, Active Directory, etc.) then you will need to migrate your changes to Spring Security 3.1's format.

Spring Security 3.1 now contains native support for Active Directory so configuration of AD authentication should be much simpler. Please see the following links for more information:

Incompatible Changes

Attributed Removed from Import Files

The 'non-ip-snmp-primary' and 'non-ip-interfaces' attributes in import files were deprecated in 1.10, and have been removed in 1.12. You should edit your import files in $OPENNMS_HOME/etc/imports to remove the attributes, or they will cause a startup issue.

Changes to Web UI Startup

As of OpenNMS 1.12.7, we have replaced the code that creates the OpenNMS web UI with the standard jetty.xml instead.

This means that if you need to do any customization (adding AJP support, changing limits on threads or post sizes, etc.) you can now do so by editing a standard jetty.xml file instead. While most of the simple Jetty configuration properties from $OPENNMS_HOME/etc/opennms.properties are still supported, it is strongly recommended that you instead copy $OPENNMS_HOME/etc/examples/jetty.xml to $OPENNMS_HOME/etc/jetty.xml and edit that, rather than relying on properties from the config file(s).

The majority of users will have to change nothing, but if you have done any configuration changes relating to Jetty, you may need to review them.

New Tools

JMX Config Generator

We've included a new tool for configuring collection of data available through JMX. While OpenNMS has supported JMX data collection for a long time, this tool greatly simplifies configuring that collection.

For details on usage, run "$OPENNMS_HOME/bin/jmx-config-generator" without any arguments.

New Features

Nodes with Active Problems

OpenNMS 1.12 includes a new box that can be added to the main page as a replacement of the "Node with Outages" box.

This new box is based on the active alarms (i.e. unacknowledged) where the severity is greater than 3 (i.e., minor, warning, major and critical). Each row of this box is going to show the following:

  • The node's label.
  • The amount of active alarms on the node.
  • The amount of time that has passed since the oldest active alarm for the node.
  • The higher severity of the active alarms, will be used to color the row.

This feature can be enabled by editing opennms.properties.

Access Point Monitor

A new collection of code for monitoring WiFi access points has been added by Jesse White for DataValet. It includes a monitor daemon, a poller, and a ReST interface.

The idea is to define a special requisitions for the Controllers and the Access Points.

Then the AccessPointMonitor is going to use SNMP to retrieve the status of the APs from the controllers to update their status, so OpenNMS is not going to talk directly with the APs.

To use it, you enable the AccessPointMonitor in $OPENNMS_HOME/etc/service-configuration.xml, create a service and package in $OPENNMS_HOME/etc/access-point-monitor-configuration.xml that defines a grouping of controller(s) and APs, add the special service settings on $OPENNMS_HOME/etc/poller-configuration.xml, enable a new set of automations related with the AccessPointMonitor on $OPENNMS_HOME/etc/vacuumd-configuration.xml, and then will track which access points are available, based on the strategy defined in configuration.

Near Real-Time Graphing

OpenNMS 1.12 adds support for opening a special version of a resource graph which will live-update at a configurable interval. For details, see the NRTG page.

Topology Maps

OpenNMS 1.12 includes a completely new dynamic HTML5 topology map implementation, which can display topology data provided by Linkd, the VMware integration, or anything else that conforms to our new topology API.

For details, see the Topology Maps page.

Geographical Maps

OpenNMS 1.12 also includes a set of geographical maps which can show nodes with address asset information on a world map, including dynamic alarm status. For a node to show up in the geographical maps, it needs a longitude and latitude in its assets, or an address that can be converted to longitude and latitude.

You can reach the geographical map UI by going to http://<your-opennms-ip>/opennms/node-maps or by going to the page of a node that has an address and/or longitude/latitude defined in its asset fields, and following the "View in Geographical Map" link.

Note that this is not the same as the remote poller geographical maps feature that has existed in previous OpenNMS versions. The plan is to merge the two codebases in a future release.

For more details, see the Geographical Maps page.

MIB "Compiler", Events, and Data Collection UI

OpenNMS now includes a GUI for importing and compiling SNMP MIBs to OpenNMS data collection configuration files and events configuration files.

For more detail, and a webcast describing their usage, see Tarus's blog post.

VMware Integration

OpenNMS 1.12 supports a complete integration (polling, data collection, and provisioning) with VMware's vSphere vCenter server. The VMware integration also creates link information so that VM topology can be view in the new topological maps.

For more details, see this white paper.

Syslog Alarm Northbound Interface

The Syslog northbounder is used to send alarm data to a syslog log server.

To configure the northbounder, edit the $OPENNMS_HOME/etc/syslog-northbounder-configuration.xml file. You can configure the format of the messages, as well as 1 or more servers to send the messages to.

Updated Features

Instrumentation Log Reader

The ILR now supports sorting by average persist time.

Trouble Ticketing

New integrations have been added to trouble ticketing:


A number of bug fixes and updates have been made to the Drools correlation engine, most notably the ability to have multiple engine configurations defined, using the $OPENNMS_HOME/etc/drools-engine.d directory.


The JIRA trouble ticket integration has been updated to use the currently-supported REST API for JIRA. To use the JIRA ticket integration, you need to be running JIRA 5.0+ which has full support for the REST API.


Support has been added for the Remedy trouble ticketing system. It can be configured by editing the $OPENNMS_HOME/etc/remedy.properties file.


Performance and Behavior Improvements

Much like 1.10, Provisiond has continued to be tuned and updated, including major updates to ReST interface performance.

Reverse DNS Provisioning Adapter

The reverse DNS provisioning adapter sets the IP hostname on interfaces based on a reverse DNS lookup during provisioning scans.

Event Handling

On large installations, when an event storm comes in it is possible for Eventd to consume all available memory. Eventd can now be configured to have a maximum queue size by setting the queueLength="n" attribute in eventd-configuration.xml, after which it will drop events.


Linkd has gone through many new improvements, including support for LLDP and OSPF.

Support for Many New Devices for Events, Data Collection and Graphing

  • ACME Packet
  • Allot
  • BladeNetwork
  • Cisco TelePresence
  • Ericsson Juniper Networks GGSN
  • Ericsson IPWorks
  • Isilon
  • Pingtel
  • VMware CIM
  • VMware VirtualCenter 2.5
  • VMware vCenter Server 4.1
  • VMware vCenter Server 5.0

Special Characters in SNMP Responses

OpenNMS is better at handling special characters and Unicode text in SNMP responses now.

Split SNMP Graph Configuration

The SNMP graph configuration file (snmp-graph.properties) has now been split up into the $OPENNMS_HOME/etc/snmp-graph.properties.d directory, making it easier to manage modifications and additions to the graphing configuration.

ReST Interfaces

Cleanup and Atom Support

Many cleanups in the ReST interfaces, normalizing responses, using "POST/Redirect/GET" when appropriate. Additionally, most ReST GET calls can now output Atom syndication XML, in addition to the existing JSON and XML interfaces.

DataLinkInterface ReST Interface

It is now possible to manipulate Linkd's data directly, through the DataLinkInterface ReST interface at /opennms/rest/links.

Requisition ReST Improvements

As mentioned earlier, the Requisition ReST interface has huge performance improvements, allowing you to manipulate provisioning requisitions and foreign sources much more quickly.

Upgrade help

You can find upgrade information on the following in our Wiki