What is OpenNMS?

OpenNMS is an open-source network monitoring platform that helps you visualize and monitor everything on your local and distributed networks. OpenNMS offers comprehensive fault, performance, traffic monitoring, and alarm generation in one place.

Highly customizable and scalable, OpenNMS integrates with your core business applications and workflows.

OpenNMS is available as two open source distributions

Meridian

An optimized, stable version of OpenNMS, via a subscription, that maximizes the platform’s value and minimizes the effort required to maintain it.

Keep reading about Meridian

Horizon

Free, community-based, quick release distribution that contains all of the newest features developed for the platform.

Keep reading about Horizon

Features

Full inventory management
Flexible provisioning system provides many ways to interoperate with configuration management systems.

Extensive data collection
Works with many industry-standard data collection protocols (14) with no need to write or maintain third-party plugins: SNMP, JSON, WinRM, XML, SQL, JMX, SFTP, FTP, JDBC, HTTP, HTTPS, VMware, WS-Management, Prometheus.

Robust traffic management
Supports four flow protocols (NetFlow v.5/9, IPFIX, sFlow). 300,000+ flows/sec. Deep-dive analysis, enterprise reporting.

Digital experience monitoring
Use the OpenNMS Minion to monitor a service's latency and availability from different perspectives.

Robust configuration
Configure most features through the web UI or XML scripting, including thresholding, provisioning, event and flow management, service monitoring, and performance measurement.

Scalability
Monitor hundreds of thousands of devices using a distributed and tiered system.

Enterprise reporting and visualization
Customizable dashboards that you can export as a PDF. Resource graphs, database reports, charts. Define and customize complex layered topologies to integrate topology maps into your service problem management workflow.

OpenNMS Components in their ecosystem

OpenNMS Components

As the edges of enterprise networks expand, it can be difficult to keep pace with network monitoring requirements in a distributed environment. Highly distributed networks present issues such as security, privacy, reachability, and latency that make the monitoring, collection, and processing of large volumes of data difficult.

Scalability with OpenNMS Sentinel

Sentinel provides scalability for data processing, including flows, SNMP traps, syslog messages, and streaming telemetry. It also supports thresholding for streaming telemetry if you are using OpenNMS Newts. If you are using Minions or looking for scalable flow processing, you need Sentinel.

Sentinel is a Karaf container that handles data processing for OpenNMS and Minion, spawning new containers as necessary to deal with increased data volume.

Dashboard Visualization with OpenNMS plugin for Grafana

OpenNMS plugin for Grafana (formerly known as Helm) helps you create flexible dashboards to display and customize fault management and performance management data from OpenNMS Horizon and Meridian. Working with Grafana analytics, you can view the data you want to see, such as alarms, outages, and KPIs .

The plugin provides NetFlow visualizations, trends and predictions using Holt Winters, and extreme scale when dealing with large sets of time series data. Dynamic computation for data requests means your browser memory isn't exhausted and your egress costs are reduced if your data is in the cloud.

Specify your datasource and the URL of your OpenNMS instance, and start creating dashboards to view and interact with your data in one place. Aggregate data from multiple OpenNMS instances to monitor multiple deployments.

Remote Monitoring with OpenNMS Minion

A minion is an instance of the Karaf OSGi service that enables OpenNMS to monitor devices and services in locations that OpenNMS cannot reach. Minions communicate with these remote devices while OpenNMS performs coordination and task delegation.

Minions can operate behind a firewall and/or network address translation (NAT) as long as they can communicate with OpenNMS via ActiveMQ or Apache Kafka.

Alarm Triage with ALEC

The Architecture for Learning Enabled Correlation (ALEC) is a framework that uses artificial intelligence and machine learning to group related alarms so you can better manage the more complex situations they might represent.

ALEC uses temporal clustering techniques, machine learning algorithms and deep-learning technology with topology data to group related alarms into a high-level situation. ALEC can’t identify the cause of the problem, but it can indicate that alarms that happened at the same time on the same node might be related.

Note: ALEC is a community plugin. As such, it's available to all users and customers, but does not qualify for SLA-backed support unless specific arrangements for an exception are in place with OpenNMS Support.

Streaming Telemetry and Flows

The OpenNMS project codenamed Drift supports streaming telemetry and forensics via flows. Parse and enrich incoming data with metadata like location, node, and service, then persist it to flow persistence storage.

Listens for Netflow, IPFIX, and sFlow packages.

Handles up to 300,000 flows per second.

Alternate Storage with Newts

Newts (New-Fangled Time Series Datastore) is a time series data store based on Apache Cassandra. Use it as an alternative persistence strategy instead of JRobin or RRDtool.