OpenNMS Meridian Development Team

Tarus Balog <tarus@opennms.org>

David Hustace <david@opennms.org>

Benjamin Reed <ranger@opennms.org>

Copyright © 2004-2018 The OpenNMS Group, Inc.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts and with no Back-Cover Texts. A copy of the license is available at http://www.gnu.org/copyleft/fdl.html OpenNMS is the creation of numerous people and organizations, operating under the umbrella of the OpenNMS project.

The original code base was developed and published under the GPL by the Oculan Corporation until 2002, when the project administration was passed on to Tarus Balog.

The current corporate sponsor of OpenNMS is The OpenNMS Group, which also owns the OpenNMS trademark.

OpenNMS is a derivative work, containing both original code, included code and modified code that was published under the GNU General Public License. Please see the source for detailed copyright notices, but some notable copyright owners are listed below:

  • Copyright © 2002-2018 The OpenNMS Group, Inc.

  • Original code base for OpenNMS version 1.0.0 Copyright © 1999-2001 Oculan Corporation.

  • Mapping code Copyright © 2003 Networked Knowledge Systems, Inc.

  • ScriptD code Copyright © 2003 Tavve Software Company.

Please send any omissions or corrections to this document to Tarus Balog.

1. Changelog

OpenNMS Meridian 2015

Release Meridian-2015.1.10

Release 2015.1.10 is the eleventh release of OpenNMS Meridian 2015. It contains a critical fix for RADIUS support as well as a couple of other smaller fixes. The codename for 2015.1.10 is TAHT (it’s a magical place).

Breaking Changes

A security issue in the RadiusAuthenticatinProvider has been fixed (Issue NMS-10212) This requires changes to the radius.xml file located in ${OPENNMS_HOME}/jetty-webapps/opennms/WEB-INF/spring-security.d. Now instead of providing a bean for the authTypeClass property, it is sufficient to just provide the class name:

Before
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
 xmlns:beans="http://www.springframework.org/schema/beans"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
             http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd">
 <beans:bean id="externalAuthenticationProvider" class="org.opennms.protocols.radius.springsecurity.RadiusAuthenticationProvider">
   <!-- ... -->
   <beans:property name="authTypeClass"><beans:bean class="net.jradius.client.auth.PAPAuthenticator"/></beans:property>
   <!-- ... -->
 </beans:bean>
</beans:beans>
After
<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
            http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.1.xsd">
<beans:bean id="externalAuthenticationProvider" class="org.opennms.protocols.radius.springsecurity.RadiusAuthenticationProvider">
  <!-- ... -->
  <beans:property name="authTypeClass" value="net.jradius.client.auth.PAPAuthenticator"/>
  <!-- ... -->
</beans:bean>
</beans:beans>

Supported values for authTypeClass are:

  • net.jradius.client.auth.TunnelAuthenticator

  • net.jradius.client.auth.PAPAuthenticator

  • net.jradius.client.auth.EAPMSCHAPv2Authenticator

  • net.jradius.client.auth.MSCHAPv2Authenticator

  • net.jradius.client.auth.EAPMD5Authenticator

  • net.jradius.client.auth.CHAPAuthenticator

  • net.jradius.client.auth.MSCHAPv1Authenticator

  • net.jradius.client.auth.RadiusAuthenticator

  • net.jradius.client.auth.EAPAuthenticator

If no value is provided net.jradius.client.auth.PAPAuthenticator is used.

Bug
  • ConcurrentModificationException in DefaultEventHandlerImpl (Issue NMS-8413)

  • Java not found properly when building from Windows CMD proc (Issue NMS-9947)

  • Radius Login Problem (Issue NMS-10212)

Release Meridian-2015.1.9

Release 2015.1.9 is the tenth release of OpenNMS Meridian 2015. It contains a keyboard-navigation fix and a few documentation/date updates. The codename for 2015.1.9 is MIST.

Bug
  • Tweak Mattermost notification docs not to specify a channel (Issue NMS-9362)

  • Inconsistent handling of keyboard navigation on top menu (Issue NMS-9867)

  • Copyright dates need a bump for 2018 (Issue NMS-9871)

Release Meridian-2015.1.8

Release 2015.1.8 is the ninth release of OpenNMS Meridian 2015. It contains a cross-site-scripting security fix. The codename for 2015.1.8 is CHOST.

Bug
  • Multiple XSS vulnerabilities in OpenNMS webapp (Issue NMS-9457)

  • opennms-webapp-remoting JARs are not signed (Issue NMS-9638)

Release Meridian-2015.1.7

Release 2015.1.7 is the eighth release of OpenNMS Meridian 2015. It contains a few small bug fixes. The codename for 2015.1.7 is ROTT.

Bug
  • The reason parameter for a nodeLostService event is limited to 255 characters (Issue NMS-9550)

  • Remote Poller log path incorrect when using the NSIS installer (Issue NMS-9631)

Release Meridian-2015.1.6

Release 2015.1.6 is the seventh release of OpenNMS Meridian 2015. It contains a few bug fixes. The codename for 2015.1.6 is MVT.

Bug
  • collectd does not unschedule deleted nodes (Issue NMS-5105)

  • Security issue for all admin vaadin applications exposed as OSGI Service (Issue NMS-8431)

  • XSS vulnerability on node error page (Issue NMS-9354)

  • XSS vulnerability with application names (Issue NMS-9355)

  • NullPointerException during nodeScan on devices with broken IP-MIB::ipAddressIfIndex (Issue NMS-9415)

  • "query" parameter allows SQL injection (Issue NMS-9478)

  • Fix ownership of users.xml (Issue NMS-9493)

  • Update copyright date in docs (Issue NMS-9516)

  • users.xml being overwritten on installation (Issue NMS-9573)

Release Meridian-2015.1.5

Release 2015.1.5 is the sixth release of OpenNMS Meridian 2015. It contains a few bug fixes and minor enhancements. The codename for 2015.1.5 is NT.

Bug
  • OpenNMS doesn’t correctly support IPv6 addresses for (jasper) reporting (Issue NMS-5450)

  • Restarting OMNS results in numerous SNMP outage alarms and notifications (Issue NMS-8620)

  • Poller Node Down without outages (Issue NMS-8751)

  • Threshold editor help text unclear about comparison operators (Issue NMS-8826)

  • Invalid graph templates (Issue NMS-8907)

  • Near Real-Time Graphing unable to graph Cisco BDI interfaces (Issue NMS-8908)

  • Copyright bump 2017 (Issue NMS-9060)

  • opennms.conf can break the snmp-request command (Issue NMS-9068)

  • Jsr160ConnectionFactory doesn’t work with IPv6 address (Issue NMS-9071)

  • Migrate RTC related objects to JAXB instead of Castor (Issue NMS-9100)

  • Pollerd continues to monitor deleted nodes (Issue NMS-9112)

  • SNMP client code can get stuck in infinite retry loops (Issue NMS-9164)

  • SyslogParser should not assume UTC timestamps (Issue NMS-9201)

Enhancement
  • SNMP data collection definitions for Cisco ASA5585-SSP-60 devices (Issue NMS-9094)

  • Enhance to MockSnmpAgent to support returning arbitrary SNMP error codes (Issue NMS-9163)

Release Meridian-2015.1.4

Release 2015.1.4 is the fifth release of OpenNMS Meridian 2015. It contains a few bug fixes and minor enhancements. The codename for 2015.1.4 is ULAST.

Bug
  • If a target node is rebooted the RRD/JRB files contains spikes because the sysUpTime check is not working (Issue NMS-7106)

  • SVG maps shows minimum alarm severity color instead of maximum (Issue NMS-8658)

  • Any SNMP error-status > 5 treated as unrecognized, aborts AggregateTracker (Issue NMS-8671)

  • RRDtool 1.6 doesn’t like vames called ds (Issue NMS-8775)

  • Elasticsearch Test Cluster is started even if tests are skipped (Issue NMS-8783)

  • The search page for events is not working as expected (Issue NMS-8790)

  • The "Recent Events" in the node page, shows HTML tags on the message (Issue NMS-8794)

  • Several ICMPv6 tests fail with NoRouteToHostException (Issue NMS-8840)

  • user detection in install is busted on some Linux systems (Issue NMS-8843)

  • Updating assets/categories through ReST affects Forced Unmanaged services. (Issue NMS-8879)

  • wsdl2java in features/ticketing/remedy is causing build failures (Issue NMS-8940)

Enhancement
  • Allow filtering by severity in alarm list (Issue NMS-8851)

  • Expose alarm-list "limit" parameter as a UI control (Issue NMS-8852)

Release Meridian-2015.1.3

Release 2015.1.3 is the fourth release of OpenNMS Meridian 2015. It contains a few bug fixes, including a fix to a XSS vulnerability in the web UI. The codename for 2015.1.3 is LHST.

Bug
  • Syslogd may not associate messages with new nodes without a restart (Issue NMS-7236)

  • No event for Informational syslog (Issue NMS-7934)

  • The categories ReST end point returns HTTP 500 when querying it with a browser. (Issue NMS-8637)

  • Database Reports Are Emailed When "Email report" is Unchecked (Issue NMS-8654)

  • Custom Resource graphs draw magenta lines if "Blue" is selected (Issue NMS-8655)

  • SVG maps shows minimum alarm severity color instead of maximum (Issue NMS-8658)

  • Site status view gives a 400 error for aggregate view for node downs (Issue NMS-8700)

  • XSS vulnerability in display of SNMP sysName and trap varbind values (Issue NMS-8722)

  • Trapd JMX trap counters don’t count traps (Issue NMS-8744)

Release Meridian-2015.1.2

Release 2015.1.2 is the third release of OpenNMS Meridian 2015. It contains a number of bug fixes and new device support since 2015.1.1. The codename for 2015.1.2 is EASST.

Breaking Changes
  • Graph definition errors AERA (Issue LTS-199)

  • OEM graph for Storage Utilization fails due to '::' (Issue NMS-8519)

Bug
  • Topology-UI shows LLDP links not correct (Issue NMS-8003)

  • JNA ping code reuses buffer causing inconsistent reads of packet contents (Issue NMS-8126)

  • Install -dis on "SocketException:Too many open files" on centos:latest docker (Issue NMS-8200)

  • All the defined Statsd’s reports are being executed even if they are disabled. (Issue NMS-8274)

  • An error on threshd-configuration.xml breaks Collectd when reloading thresholds configuration (Issue NMS-8304)

  • JdbcCollector does not close database connections correctly (Issue NMS-8488)

  • HW ENTITY_MIB plugin is not showing all information for certain devices (Issue NMS-8506)

  • Requisitioned IP interfaces never have ipHostName set (Issue NMS-8593)

Configuration
  • Distributed/Geographical Maps do not show images anymore (Issue NMS-8597)

Enhancement
  • Create a command line tool for compiling all the report template files. (Issue LTS-198)

  • Backport Configuration from Meridian 2016 to Meridian 2015 (Issue LTS-202)

  • Copyright bump on asciidoc docs (Issue NMS-8219)

  • Alphabetize nodes in surveillance category listing (Issue NMS-8535)

Release Meridian-2015.1.1

Release 2015.1.1 is the second release of OpenNMS Meridian 2015. It contains a number of bug fixes as well as a few security fixes over 2015.1.0. The codename for 2015.1.1 is UTC.

Bug
  • Database reports fail with 500 error (Issue LTS-184)

  • Forecasting reports fail to render when datasource includes "inf" (Issue LTS-185)

  • Default JMX Config Generator Throw Error (Issue LTS-187)

  • JMX Config Generator Does Not Run in PoweredBy Branch (Issue LTS-191)

  • When removing nodes from a provisioning group, the removed nodes may still be referenced in KSC reports; thus resulting in errors accessing those reports until the nodes are manually removed. (Issue NMS-4399)

  • JMX Config Tool CLI is not packaged correctly (Issue NMS-5946)

  • NRTG is throwing ConcurrentModificationException (Issue NMS-6536)

  • IfIndex not updated in ipinterface table on change (Issue NMS-6567)

  • Event Translator cant translate events with update-field data present (Issue NMS-7024)

  • Remove the logging directories from the DEB package (Issue NMS-7192)

  • IllegalArgumentException on ipnettomediatable (Issue NMS-7358)

  • 1.12.9-2 rpm install broken (Issue NMS-7398)

  • KSC Reports with non-existing resources generate exceptions on the WebUI (Issue NMS-7400)

  • Double footer in resource graph page (Issue NMS-7412)

  • queued creates its own category for loggings (Issue NMS-7485)

  • Queued daemon seems to ignore loglevel (Issue NMS-7510)

  • XML Collector is not working as expected for node-level resources (Issue NMS-7516)

  • Some parameters logged out of order since slf4j conversion (Issue NMS-7603)

  • Compass can’t make a POST request from FILE URLs in some cases (Issue NMS-7616)

  • The PSM doesn’t work with IPv6 addresses if the ${ipaddr} placeholder is used on host or virtual-host (Issue NMS-7626)

  • Timeline image links are not working with services containing spaces (Issue NMS-7629)

  • Match event params for auto-ack of Notification (Issue NMS-7631)

  • include-url doesn’t work on poller packages (Issue NMS-7633)

  • Node resources are deleted when provisiond aborts a scan (Issue NMS-7636)

  • Default date width in Database Reports is too small (Issue NMS-7637)

  • The global variable org.opennms.rrd.queuing.category is set to OpenNMS.Queued and should be queued (Issue NMS-7642)

  • Fixing Logging Prefix/Category on several classes (Issue NMS-7644)

  • XML data collection with HTTP POST requests is not working (Issue NMS-7650)

  • Improving exception handling on the XML Collector (Issue NMS-7651)

  • Logging not initialized but used on Drools Rule files. (Issue NMS-7695)

  • NumberFormatException in LldpUtils (Issue NMS-7697)

  • Hibernate exception in AlarmDetailsDashlet (Issue NMS-7698)

  • 'More…​' event link on /opennms/element/service.jsp encodes URL incorrectly (Issue NMS-7714)

  • Log messages for the Correlation Engine appear in manager.log (Issue NMS-7729)

  • SeleniumMonitor with PhantomJS driver needs gson JAR (Issue NMS-7748)

  • Cannot edit some Asset Info fields (Issue NMS-7750)

  • The command /opt/opennms/bin/ilr doesn’t work (Issue NMS-7760)

  • nodeCategoryChanged event on already-down node makes extra nodeDown events (Issue NMS-7761)

  • Incorrect unit divisor in LM-SENSORS-MIB graph definitions (Issue NMS-7766)

  • OpenNMS won’t start anymore with 512MB of Heap Size (Issue NMS-7783)

  • Some weak cipher suites allowed in example jetty.xml HTTPS config (Issue NMS-7812)

  • The reload config for Collectd might throws a ConcurrentModificationException (Issue NMS-7824)

  • NPE on "manage and unmanage services and interfaces" (Issue NMS-7828)

  • "No session" error during startup in EnhancedLinkdTopologyProvider (Issue NMS-7835)

  • Fix for NMS-6567 prevents interfaces from acquiring SNMP interface records on rescan (Issue NMS-7838)

  • Counter variables reported as strings (like Net-SNMP extent) are not stored properly when using RRDtool (Issue NMS-7839)

  • Slow LinkdTopologyProvider/EnhancedLinkdTopologyProvider in bigger enviroments (Issue NMS-7846)

  • distributed details page broken (Issue NMS-7855)

  • Cisco Packets In/Out legend label wrong (Issue NMS-7857)

  • Enlinkd CDP code fails to parse hex-encoded IP address string (Issue NMS-7858)

  • IpNetToMedia Hibernate exception in enlinkd.log (Issue NMS-7861)

  • HttpClient ignores socket timeout (Issue NMS-7877)

  • RTC Ops Board category links are broken (Issue NMS-7884)

  • Remedy Integration: the custom code added to the Alarm Detail Page is gone. (Issue NMS-7890)

  • Statsd PDF export gives class not found exception (Issue NMS-7897)

  • JMX Configgenerator Web UI throws NPE when navigating to 2nd page. (Issue NMS-7900)

  • Alarm detail filters get mixed up on the ops board (Issue NMS-7917)

  • Exception Decoding LLDP ChassisId When type is NetworkAddress (Issue NMS-7931)

  • Bouncycastle JARs break large-key crypto operations (Issue NMS-7959)

  • JSoup doesn’t properly parse encoded HTML character which confuses the XML Collector (Issue NMS-7963)

  • MBean attribute names are restricted to a specifix max length (Issue NMS-7964)

  • RMI should only bind to localhost by default. (Issue NMS-7971)

  • The ICMP monitor can fail, even if valid responses are received before the timeout (Issue NMS-7974)

  • JMX Configuration Generation misbehavior on validation error (Issue NMS-7977)

  • JMX configuration generator throws NoClassDefFoundError exception (Issue HZN-432)

  • Migrate the JMX Configuration Generator (webUI) to Vaadin 7 (Issue HZN-417)

Enhancement
  • Interactive JMX data collection configuration UI (Issue NMS-4364)

  • Improve links for SLA categories on start page (Issue NMS-7713)

Release Meridian-2015.1.0

Release 2015.1.0 is the first release of OpenNMS Meridian 2015. It is based on OpenNMS Horizon 14.0.3, the Bootstrap GUI shipped in OpenNMS Horizon 15, and many smaller bug fixes.

The codename for 2015.1.0 is Greenwich.

2. Known Issues and Caveats

Here is the list of known issues in this release of OpenNMS:

2.1. Current Release

There are no known issues in the current release.

3. Supported Systems

3.1. Supported Systems

OpenNMS is written almost entirely in Java, and should be able to run on nearly any system that supports the Sun Java Virtual Machine.

OpenNMS Meridian is officially supported out-of-the-box, with native installation packages, on the following platforms:

  • Red hat Enterprise Linux 5 and higher

  • CentOS 5 and higher

3.2. 3rd-Party Dependencies

OpenNMS Meridian requires Java 7 JDK or greater, and PostgreSQL 8.4 or greater. OpenNMS Meridian also requires RRDtool 1.4. An appropriate build of RRDtool and JRRD should be installed automatically when you install OpenNMS Meridian.