OpenNMS Meridian Development Team
Tarus Balog <tarus@opennms.org> |
---|
David Hustace <david@opennms.org> |
Benjamin Reed <ranger@opennms.org> |
Copyright © 2004-2020 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 source code is published under the GNU Affero GPL, version 3 or later and is Copyright © 2002-2020 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 http://issues.opennms.org.
OpenNMS Meridian 2020
System Requirements
-
Java 8 through 11: OpenNMS Meridian 2020 runs on JDK 8 through 11. We recommend the most recent version of OpenJDK 11.
-
Default Heap Size: The default heap size is 2GB.
-
PostgreSQL 10 or higher: Meridian 2020 requires any supported version of PostgreSQL 10 or higher.
What’s New in Meridian 2020
Since Meridian 2019, we have refined a number of the features introduced relating to telemetry, correlation, and other underlying APIs.
Meridian 2020 roughly matches the feature set available in Horizon 26.1.
Documentation Updates
Documentation improvements have been made in a number of areas:
-
Docker
-
Grafana PDF Reports
-
Graph Service API
-
Minion
-
Telemetry/flows
-
Thresholding
-
Timeseries Integration
Graph API
A new API has been added for querying graph data, inspired by GraphML. This API consolidates a number of internal APIs for accessing topology, application, BSM, link, and other data.
Kafka and RPC
The RPC APIs for communicating between the OpenNMS core, Minion, and Sentinel have been improved, including adding support for gRPC communication.
It is now possible to configure Kafka to use a single topic for communication rather than one per module.
You can now configure flow data to be enriched with node metadata before being forwarded to Kafka.
Minion and Sentinel
-
The Minion can now be configured using
confd
by creating aminion-config.yaml
file. For details, see the README in the Minion source. -
The Minion Docker container has a number of enhancements:
-
Minion container sizes have been halved.
-
Native ICMP support has been added to improve performance.
-
Dockerized Minion now supports ARM.
-
-
The Jolokia HTTP-JMX bridge has been added to the Minion and Sentinel.
Polling and Monitoring
-
The HTTP POST monitor has been updated to support injecting headers into the request.
-
The poller now does a better job of validating configs on startup/reload.
Provisioning
-
Provisiond has been enhanced to improve performance of scans.
-
Nodes provisioned through new suspect events now get assigned a foreign source.
Telemetry and BMP
-
The flow classification editor now supports CIDR notation for IP address expressions.
-
Support has been added for the BGP Monitoring Protocol (BMP).
Time-Series API
A new experimental internal API has been added for supporting persisting time-series data in a way that doesn’t carry the baggage of the existing persistence APIs which are still heavily influenced by RRDTool.
Web UI Improvements
-
The navbar notification alert now shows everywhere, not just the front page.
-
The "user" menu has been reorganized and cleaned up.
-
The requisitions UI now supports deleting a node from its node page in the editor.
Breaking Changes
Flow Classification
In Meridian 2019, the Flow Classification UI accepted invalid IP address values, e.g., 10,192.1,168.1,5.1-160
.
When upgrading OpenNMS Meridian, existing Flow Classification Rules may be considered invalid. In this case they are silently ignored by the Flo
w Classification Engine.
In order to assure no invalid Flow Classification Rules exist, please run the OSGi shell command opennms-classification:list-invalid-rules
to list a
ll invalid rules.
If there are any invalid rules, you must manually fix them using the Flow Classification UI.
For more details, refer to issue NMS-12422.
Events and Kafka
Events forwarded to Kafka are now keyed by id
rather than uei
.
Karaf Shell Command Changes
All of the custom Karaf shell commands have now been updated to use a common scope of opennms
.
This makes it easier to find and enumerate the commands.
Mapping from previous to new commands is as follows:
Previous Command | New Command |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
*Removed in favor of |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Notable Internal Changes
-
Kafka has been updated to version 2.4.0.
-
Protobuf has been updated to version 3.11.4.
-
The OpenNMS Integration API is now version 0.4.
-
Internally, events are, in most cases, immutable. For the most part, you should see no changes in the external and code places that events are interacted with. They are converted to mutable versions in places where they are often manipulated (like Drools).
Other Improvements
Since Meridian 2020 is based on Horizon 26.1, it contains all the fixes and updates that have occurred since Meridian 2019 was created from the Horizon 25 codebase.
For a more complete list of major changes included in this release, see the "What’s New" documentation for Horizon 26.1.3.
Release Meridian-2020.1.4
Release 2020.1.4 contains an SNMP poller fix and a small enhancement to package dependencies.
Bug
-
When using a custom prefix, the Elasticsearch Forwarder for events and situation-feedback creates a wrong template. (Issue NMS-13030)
Release Meridian-2020.1.3
Release 2020.1.3 is the fourth release in the Meridian 2020 series.
It contains a critical fix to a reporting API bug that could cause OpenNMS to fail to start.
BREAKING: If you created reports in 2020.1.2, they will need to be recreated in 2020.1.3.
The codename for 2020.1.3 is Fjord.
Bug
-
report timezone changes break reading pre-existing reports from Quartz (Issue NMS-13037)
Release Meridian-2020.1.2
Release 2020.1.2 is the third release in the Meridian 2020 series.
It contains a number of bug fixes including a fix for a critical Jetty CVE.
The codename for 2020.1.2 is Skerry.
Bug
-
Timezone inconsistency when generating PDF reports from Grafana dashboards (Issue NMS-12930)
-
RRD files for SNMP data are not created until a Service Restart (Issue NMS-12974)
-
Unable to enable Jaeger tracing in Sentinel (Issue NMS-12998)
-
Update typo in BMP docs (Issue NMS-13002)
-
CVE-2020-27216: Jetty webserver vulnerability (Issue NMS-13009)
-
Null pointer exception whe minion receives traps (Issue NMS-13015)
Release Meridian-2020.1.1
Release 2020.1.1 is the second release in the Meridian 2020 series.
It contains a number of bug fixes and enhancements.
The codename for 2020.1.1 is Tombolo.
Bug
Release Meridian-2020.1.0
Release 2020.1.0 is the first release in the Meridian 2020 series, based on Horizon 26.1.x.
The codename for 2020.1.0 is Archipelago.
Bug
-
HTTP Detector does not accept a response without a reason as valid (Issue NMS-10351)
-
Slack-compatible notification strategies expect "url" for switch name, should be "-url" (Issue NMS-10552)
-
opennms.pid missing when started by Systemd (Issue NMS-12769)
-
Interfaces incorrectly marked as having flows resulting in no data via Helm (Issue NMS-12814)
-
Response Time Summary database report missing latency caluculation (Issue NMS-12837)
-
SslContextFactory needs to be changed to SslContextFactory.Server in jetty.xml (Issue NMS-12847)
-
Wrong startup command for Minion running with Docker and health check issues (Issue NMS-12872)
-
Install guide RHEL instructions are invalid on RHEL 7 (Issue NMS-12891)
Enhancement
-
Update collectors chapter (Issue NMS-12682)
-
Include XML schema for wsman-datacollection-config.xml in assemblies (Issue NMS-12813)
-
Fix CollectdTest mock’ing errors (Issue NMS-12828)
-
Fix JMX datacollection config generator test (Issue NMS-12829)
-
Remove unused import in BsonUtils (Issue NMS-12830)
-
Update mockito/powermock dependencies (Issue NMS-12831)
-
Update Minion installation documentation (Issue NMS-12917)
-
sort custom reports (Issue NMS-12931)
-
Update Copyright notice for 2020 (Issue NMS-12933)