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 OpenNMS is the creation of numerous people and organizations, operating under the umbrella of the OpenNMS project. The source code is published under the GNU Affero GPL, version 3 or later and is Copyright © 2002-2018 The OpenNMS Group, Inc.

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

Please report any omissions or corrections to this document by creating an issue at

What’s New in OpenNMS Horizon 24

  • Added support for browser notifications to notifd. The browser notification can be added to a notification path and desktop notifications will pop-up for currently logged in users if a notice is delivered.

System Requirements

  • Java 8: OpenNMS Horizon 24 requires Java 8 as the runtime environment. To run Horizon 24, we recommend the most recent version of Oracle JDK 8 for your platform.

  • PostgreSQL 9 or higher: Horizon 24 requires Any supported version PostgreSQL 9 or higher. As of this writing, PostgreSQL 9.3 is the earliest version under active support, but OpenNMS is known to work with at least PostgreSQL 9.1 and up.

Breaking Changes

  • Flows are grouped by conversations using applications instead of ports. This changes the way statistics about flows are presented and grouped. Therefore the elasticsearch storage has changed and old data must be converted to the new format. To adopt existing flows, the following command can be used (please be aware that this can take a long time and put your CPU and disk under high stress):

curl -v -X POST -H 'Content-Type: application/json' "http://${ES_HOST}:${ES_PORT}/netflow-*/_update_by_query?refresh=true" -d @- << EOF
  "script": {
    "lang": "painless",
    "source": "ctx._source['netflow.convo_key'] = '[\"' + ctx._source['location'] + '\",' + ctx._source['netflow.protocol'] + ',\"' + ((['netflow.src_addr'], ctx._source['netflow.src_addr'], String::compareTo) < 0) ? ctx._source['netflow.src_addr'] : ctx._source['netflow.dst_addr']) + '\",\"' + ((['netflow.src_addr'], ctx._source['netflow.src_addr'], String::compareTo) < 0) ? ctx._source['netflow.dst_addr'] : ctx._source['netflow.src_addr']) + '\",' + ((ctx._source['netflow.application'] != null) ? ('\"' + ctx._source['netflow.application'] + '\"') : 'null') + ']'"
  "query": {
    "match_all": {}
  • Dhcpd: The Dhcpd plugin (and its configuration) was removed in favor of a Minion-capable implementation. The new DhcpMonitor options can be set in the poller-configuration.xml file.

  • The default parser used for Syslog messages has been switched from the CustomSyslogParser to the RadixTreeSyslogParser.

New Features

Other Improvements

  • list of notable issues not covered elsewhere


Release 24.0.0

Release 24.0.0 is the latest stable release of OpenNMS. It contains a large number of bug fixes and enhancements, most notably adding support for real-time telemetry flow processing. For a high-level overview of what’s changed in OpenNMS 24, see What’s New in OpenNMS 24.

The codename for 24.0.0 is TODO NOT DEFINED YET.

Breaking Changes
  • The NCS-Alarm page and the NCS-Topology-Plugin have been removed. See issue HZN-1422.