Horizon Past Releases
Learn more about our previous Horizon releases, the features introduced in each, and get access to release notes and documentation.
Horizon 31
A sneak peek of our new cloud services
Our 31st major Horizon release includes features and enhancements—and a preview of the future—to help you get started quicker, focus your monitoring efforts, and connect to hosted services.
Cloud services connector
The Cloud Services Connector is your gateway to OpenNMS-hosted cloud services. With Horizon 31, you're invited to couple your deployment of Horizon with the OpenNMS Portal to preview our hosted time series database, Time Series DB.
New hardware Appliance
OpenNMS Minion Appliance makes observing your infrastructure easier and more trustworthy than ever. Previously available only as a virtual appliance, we're happy to announce Minion Appliance as dedicated, physical hardware with:
- Zero-trust architecture, through a TPM chip, encryption, & secure boot
- Predictable performance for Minion data collection
- Automatic updates
- Fleet management—deploy and govern multiple appliances in parallel.
OpenNMS Minion Appliance fits where you need it, with 2 form factors: Mini and 1U.
OpenNMS Time Series DB
OpenNMS Time Series DB is a hosted cloud service that gives you the freedom to scale as your needs change. Optimized for OpenNMS metric collection and streaming telemetry, Time Series DB provides everything you need to store and persist your performance metrics without maintaining software, managing hardware, or underutilizing resources.
For a limited time, Horizon users can connect to Time Series DB via the Cloud Services Connector to view time series summary data and benefit from greater flexibility and lower administrative burden.
Quick Start Guide
Excited about Horizon, but aren't sure where to start? Our Quick Start Guide gives you step-by-step directions to set up basic monitoring. Built with minimal configuration in mind, this guide takes you from first-time login through provisioning, data collection, and performance visualization in 9 easy steps.
Once you're ready for more, plunge into the "Deep Dive" section for additional configs.
Horizon 30
Official plugin API for custom plugin development
The OpenNMS Plugin API (formerly OIA) provides a stable base to build plugins to extend the configuration of OpenNMS, consume its outputs, and expose expanded functionality.
OpenNMS has always provided many integration points, offering flexibility for building the monitoring solution an organization needs. The Plugin API identifies, documents, and provides ongoing compatibility guarantees for those integration points, so plugin creators can write code that targets a set of interfaces and works with a broad range of OpenNMS releases.
NetFlow thresholding
OpenNMS administrators can now define more fine-grained monitoring of network circuits by leveraging NetFlow data to help detect traffic anomalies. For instance, if VOIP or streaming video traffic is consuming excessive bandwidth, Horizon can help spot the pattern. By defining threshold values based on business requirements, users can know when a particular application is using more bandwidth than expected in real time.
Distributed flow threshold evaluation lets organizations keep up with increasing flow volumes without the need to grow the core OpenNMS Horizon application tier.
New device provisioning configuration experience
Horizon 30 features a new way to configure the core provisioning subsystem, providing both a new user interface and a powerful API back end.
Synchronize inventory against external sources – including HTTP and DNS – and tune the subsystems's performance via the web UI or the REST API. The web UI eliminates command-line tasks while also providing real-time validation of inputs for front-end users. The the new API back end gives even more power and flexibility to advanced users.
Back-up your network device configuration
OpenNMS now persists configuration information from network devices so that users can review the configuration history.
Users can manage device configuration backups, including viewing backup history for a single device and downloading either individual or multiple configurations. Filter, search, and compare configurations at different points in time for a specific device, and manually perform a device configuration backup from one interface as needed.
View and sort backup status to see all failed backups, and initiate manual backups with a single click after selecting all failed devices.
Event-sourced data collection
OpenNMS can now persist metrics embedded in autonomous messages sent to OpenNMS, such as SNMP traps and syslog messages, for visualization and thresholding.
OpenNMS has always been great at receiving and processing events, and collecting and persisting time-series metrics. For situations when a valuable metric is available in the form of an SNMP trap, syslog message, or other event source, OpenNMS can now extract and persist those metrics alongside ones gathered by more traditional methods. Event-sourced data collection bridges data collection and streaming telemetry, enabling extraction of performance metrics from the fault-management domain and presents that metric data as if it had been collected from the performance management components.
Helm 8.0 release
Grafana dashboards built using OpenNMS Helm 8.0 now incorporate filtering by monitoring location, swapping of ingress and egress flow metrics, and wildcard support to display data more dynamically than before.
*Helm is now OpenNMS Plugin for Grafana
ALEC topology provider
OpenNMS' Architecture for Learning-Enabled Correlation (ALEC) add-on provides a new way to visualize the correlations it has found. Users can now view correlated situations and their constituent alarms on the topology map, as well as in list form.
As part of our continuing work to improve the documentation, we created procedures that describe the upgrade process, including pre-upgrade housekeeping tasks, backup guidelines, and a basic upgrade procedure.
Future iterations will include more complex upgrade scenarios. Access this crucial information all in one place, for a smoother experience the next time you upgrade Horizon.
UI access for log and configuration files
OpenNMS administrators can now view OpenNMS log files directly from the web UI. In addition, administrators with appropriate permissions can edit OpenNMS configuration files directly from the web UI.
While power users won't be forgetting how to use "tail -f" any time soon, accessing logs and editing config files directly in the UI makes for an easier experience.
Horizon 29
Support for Cortex and improved streaming analytics for flows
Enhancements to Nephron, our streaming analytics plugin for flows, provide improved flow processing, persistence, and performance:
- Persist flows to Cortex
- Improved Elasticsearch persistence to support batching updates
- Streamlined metadata to eliminate redundancy, so less data is stored per update
- Better performance when processing large rulesets as a result of updates to the classification engine
Polling and metadata improvements
Threshold metadata and the wsman-config.xml file now use stricter error validation when evaluating their respective config files. This reduces the likelihood of user error and limits potential damage that could otherwise occur.
Kafka producer payloads now contain additional useful resource metadata including ID, label, name, index, type, and type label. Resource metadata in producer payloads provides richer information and a more complete story about alarms, metrics, and inventory information to external systems that integrate our feed.
You can now optionally persist monitor status to RRD so that it can be retrieved using the Measurements API. Storing the status of a service monitor allows you to query the current status and the status history using the Measurements API.
Run as non-root by default
Reduce required permissions and improve security now that OpenNMS runs by default as the OpenNMS user rather than as root. Running as an unprivileged user significantly mitigates the risk in the event of system compromise.
OpenNMS now monitors itself
OpenNMS now ships with a single node 'localhost' with interface '127.0.0.1' to provision a node that represents itself for better OpenNMS metrics.
Add location information to nodes
Use the new GeoIP Provisioning Adapter to enrich a node's asset data with location information. It uses the GeoIP2 Databases from MaxMind to look up longitude/latitude values for a given IP address.
Improved layer-2 network topology with MikroTik LLDP discovery
LLDP discovery with MikroTik devices running RouterOS or Cloud Hosted Router OS enables OpenNMS to discover network links terminated on such devices, which it was previously unable to do. The result is a more complete picture of layer-2 network topology in networks that incorporate these devices.
Horizon 28
Visualize flows traffic by quality of service (QoS)
Network traffic prioritization is easier when you can visualize flows by QoS. You can quickly verify that your configuration for priority traffic works as specified, and make changes as needed to ensure optimal service performance.
Able to handle up to 300,000 data points per second with flows, and configurable to handle more, OpenNMS processes, aggregates, and exposes this data for improved streaming analytics. OpenNMS’ Helm plugin for Grafana allows you to create flexible dashboards to view this data as time series or tabular views.
Helm now includes options to filter flows traffic by ToS/DSCP (Differentiated Services Code Point). Using the Deep-Dive Flows Dashboard, simply select the DSCP value (or combination of values) from a drop-down list for the QoS you want to visualize (class selector, IP precedence, assured forwarding, expedited forwarding). The ECN (explicit congestion notification) drop-down allows you to further filter on this value to see which flows use ECN-capable transports, and congestion reports for them.
Documentation migration
We migrated our documentation to the Antora platform, with a new UI and rebrand.
View documentation for all components and plugins in one place, with top-level links to additional help through training videos and community tools like Discourse and Mattermost.
New documentation search functionality allows you to easily find the answers you need.
Location-aware requisitions from DNS
Configure OpenNMS to create provisioning requisitions from DNS that are associated with a monitoring location.
Administrative users can add a location-aware DNS requisition during provisioning so that imported nodes will have the proper Minion location set.
May 12 saw the unveiling of our brand refresh, including our new Open Gyroscope symbol and color palette.
We’ve applied this fresh, updated look across all of our projects.
Horizon 27
Application perspective monitoring: Monitor digital experience from different perspectives
A key part of OpenNMS’ distributed monitoring solution, Application Perspective Monitoring (APM) monitors the digital experience (DEM) of services and application systems from different perspectives such as geographical locations (countries, regions, buildings) or a cloud application from the client’s viewpoint.
APM integrates seamlessly with our Minion component to monitor your entire network. When a service is not responsive, OpenNMS generates an outage alert that includes the corresponding perspective that identified the outage.
If the New York operations center can see the availability of a service hosted in Houston that is accessed by users in Seattle, you can identify the perspective from which an outage occurs for more effective troubleshooting and network reliability.
Metadata
Leverage dynamic configuration to use metadata with provisioning, threshold evaluation, and notifications:
Provisioning: persist node, service, and interface metadata to the database during provisioning
Threshold evaluation: streamline threshold creation for single-DS and expression-based thresholds
Notifications: use node-, interface-, and service-level metadata in notifications
gNMI support for OpenConfig
gNMI and OpenConfig offer a new way to expose data from routers and other tools that vendors are adopting for their devices. OpenNMS connects and establishes a tunnel to these devices, and retrieves and streams metrics every 30 seconds by default. Currently available only on the OpenNMS core, a future release will provide the same feature on Minion.
Vendor support for gNMI includes Juniper, Arista, and Cisco.
Improved documentation
We've started to restructure our documentation to offer a more task-based approach to using OpenNMS. The Admin Guide includes updated chapters on users and provisioning, while the Installation Guide features a streamlined chapter on installing and configuring a Minion.
Flow performance enhancements
Better aggregate flow metrics and enhanced DNS enrichment for improved performance. Aggregate flow queries support resolving hostnames, if available. Sink RPC APIs now expose metrics to Karaf for tracing and performance tuning.
Central search functionality
We’ve made it easier to find nodes, KSC reports, and actions in the web UI, with a search bar available on the top of every page.
Horizon 26
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.
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
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.
Flow data can now be configured to be enriched with node metadata before being forwarded to Kafka.
Minion and sentinel
- The Minion can now be configured using confd by creating a minion-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.
Horizon 25
New: Docker Containers
Docker containers are now built automatically as part of our CI process. The horizon Docker container now runs as non-root by default.
Thresholding
We heard there was #toomuchxml, so we migrated threshold configuration from XML files to a key/value store in the PostgreSQL database.
Thresholds can now be be scaled out to multiple Sentinel instances, written as a plugin using our new OpenNMS Integration API (OIA), managed though the Karaf command line interface, and applied to streaming telemetry data for push-based metrics.
Traffic analysis
A wise person once said, "Build better Flow reporting and the data will come knocking on your dashboard."
We've made our start by introducing hostname resolution in Flow data, grouping Flow support by monitoring locations, and customizing Flow protocol definitions with priorities. Users can now build Flow dashboards for specific applications over time using the Grafana-based Helm plugin, which features a brand new histogram panel. The new Top Talkers report helps identify noisy nodes on your network.
Grafana reporting
Yeaahhh... if you could get PDF reporting to me by this afternoon, that would be great...
We love Grafana almost as much as we love old Office Space jokes, so we've made additional improvements in the integration between OpenNMS and Grafana with a new Web UI component that allows users to run and schedule reports of their Grafana dashboards, rendered as PDFs, using timezone aware report templates.
Improved metadata support
Enrich inventory data such as nodes, interfaces, and monitored services with arbitrary key/value pairs called meta-data, which can now be used in thresholding.
...that's so meta.
Infrastructure
The new CircleCI continuous integration pipeline sparks joy as we thank Bamboo for its service and let it go, increasing build process efficiency and transparency.
Our test infrastructure now includes and automatically publishes Docker Container images. We introduced and migrated all system and browser tests to the TestContainer framework. All pull requests now provide container images and RPMS as build artifacts, which improves testing.
Misc
- We upgraded the event correlation engine to Drools 7.2.40
- OpenNMS now supports advanced SNMP profiles that can detect SNMP configurations in complex heterogenous networks
- Show and delete measurements from the Karaf CLI using the new opennms-measurement command