FAQ2021-05-11T18:54:22+00:00
What is OpenNMS?2021-05-11T18:07:41+00:00

OpenNMS is a scalable and highly configurable open-source network management platform with comprehensive fault, performance, and traffic monitoring. It easily integrates with your core business applications and workflows to monitor and visualize everything in your network. OpenNMS is available as two different, completely open source, distributions.

What is the difference between Horizon and Meridian?2021-05-12T00:28:48+00:00

OpenNMS Horizon and Meridian are both fully open source and licensed under the AGPLv3. What's the difference?

Horizon is available to download from our repository on Github for free and releases early and often. Focused on innovation, Horizon contains the latest updates to OpenNMS; however, not all features may be production-ready.

Meridian is a stable version of OpenNMS curated by The OpenNMS Group for production environments. Matured features from Horizon are incorporated into an annual major Meridian release. Updates are designed to be much easier for Meridian than Horizon.

What database(s) does OpenNMS use?2021-05-11T18:10:31+00:00

The core of OpenNMS uses PostgreSQL. It can be on the same server for smaller deployments, but we recommend using a separate cluster for better performance in larger networks.

Depending on which features you configure, you may require other data stores. Our telemetry/flow collection service requires an Elasticsearch cluster. By default, performance metrics are stored in RRD files, and there is an option to replace those with a Cassandra or ScyllaDB cluster.

What is the base operating system required to install OpenNMS?2021-05-11T18:10:52+00:00

Meridian: RHEL +7 or CentOS: 8+

Horizon: RHEL/CentOS 7+, Ubuntu/Debian

What are the requirements for a basic OpenNMS installation?2021-05-11T18:13:34+00:00

For a single-server proof-of-concept with up to a hundred "average" nodes, a good starting point might be:

  • RHEL 8 or CentOS 8 (simplifies dependencies versus RHEL 7)
  • 4 CPU cores
  • 4GB physical memory
  • 100GB disk, preferably SSD

We define a node as any device or service attached to your network.

How many devices and number of alarms can be supported per instance?2021-05-12T00:12:05+00:00

An instance is each individual installation of Meridian or Horizon. While there is no built-in limit on either it is difficult to answer this question with a simple count of nodes and alarms, due to individual network environments.

Scalability in an enterprise monitoring system rests in the amount of work required to monitor the inventory, which is measured in a more granular way. Here are just a few things to consider:

  • Port Monitoring: Y/N and if Y, how many ports to check?
  • Availability monitoring: Y/N, and if Y, how many IP services to monitor with synthetic transactions (ICMP, HTTP, DNS, etc.)?
  • Performance monitoring: Y/N and if Y, how many metrics per device in the inventory to collect?
  • Threshold monitoring: Y/N and if Y, how many IP services and performance metrics to threshold?
  • Flow monitoring: Y/N and if Y, how many flows per second per device?

In addition, one must factor in the frequency of each check and metric collection as well as the desired data retention period. The hardware or VM where you install OpenNMS and the various messaging and persisting dependencies impact the scalability of the deployment as well.

What if I have multiple sites with devices to monitor?2021-05-11T18:19:32+00:00

Not a problem! Deploy OpenNMS in your primary site and then set up our Minion component at remote sitesThe core server will control the Minions to monitor nodes at that site.  All collected data will be rolled up from the Minion to the core OpenNMS instance for a centralized view of your network. If you are collecting flow data for multiple sites, we also have a Sentinel application that can provide horizontal scaling to offload flow processing from your core server. 

What can OpenNMS monitor?2021-05-11T18:37:53+00:00

Almost anything. There are a lot of built-in definitions to monitor and/or collect performance metrics on a variety of systems. If your device is not on this list, there may be some community-contributed configurations or you can easily create your own.

  • ICMP/Ping
  • DNS
  • DHCP
  • HTTP(S)
  • FTP
  • JDBC
  • SNMP
  • SMTP
  • SSH
  • WMI
  • WSMan
  • Cassandra
  • MySQL
  • PostgreSQL
  • MS SQL
  • Oracle
  • VMware
  • Elasticsearch
  • Windows and/or Linux servers
  • NSClient
  • Prometheus
  • 3Com
  • APC
  • Brocade
  • Cisco
  • Dell
  • ExtremeNEtworks
  • F5
  • Fortinet
  • HPE
  • IBM
  • Juniper
  • Mikrotik
  • Netapp
  • Palo Alto
  • Sonicwall
  • ...and many more
What other systems can OpenNMS integrate with?2021-05-11T18:43:16+00:00

In addition to a robust REST API that allows you to easily get data in and out of OpenNMS, we have a direct integration with many other systems and protocols (too many to list here). These include, but are not limited to:

Notifications

  • Email
  • Slack
  • Mattermost
  • Custom scripts (send to your own custom script/webhook)


Ticketing

  • JIRA
  • Remedy
  • TSRM


Telemetry/Flows (requires an Elasticsearch cluster)

  • BMP BGP Monitoring Protocol
  • Junos Telemetry Interface
  • Netflow v5/9/IPFIX/sFlow
  • Cisco NX-OS Telemetry
  • Graphite Telemetry
  • OpenConfig Telemetry


Dashboards/Graphs

  • Grafana


Time Series Storage

  • RRD/JRobin
  • Newts (uses a Cassandra cluster)
Is there artificial intelligence/machine learning (AI/ML) available for OpenNMS?2021-05-11T18:44:21+00:00

OpenNMS ALEC (Architecture for Learning Enabled Correlation) is our 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. It detects network pattern behaviors and generates early warning signals for proactive remediation. It applies statistical and machine learning techniques on multi-dimensional input signals. 

What is the support for SDN or NFV?2021-05-11T18:44:41+00:00

Integration with OpenDaylight and soon we will complete the project for Cisco ACINFV is on our roadmap. 

What continuous integration/continuous deployment practices do you use?2021-05-11T18:45:21+00:00

We use CircleCI to host our CI/CD environment. Our entire platform is based on test-driven development, with as much or more software written in tests than we have in actual software. All of this is verifiable, since the tests, code, and entire CI/CD pipeline are all open source. The build pipeline from issue to pull request to merging to testing to packaging is all process driven and publicly referenceable in the tools that we use: 

  • Jira: issue management and agile development (weekly sprints) 
  • GitHub: source code management and GitHub pull request process flow with Jira and CircleCI 
  • CircleCI: build tool chain that runs a full suite of tests: unit, integration (mock environments), system (dockerized live systems), and smoke (web UI).
     

How do you ensure that there are no regressions with new code additions (and is this automatic)? 

We have been doing test-driven development in the project now for over 10 years, and yes, the intent is to be automatic. Here's a link to the CI/CD: https://circleci.com/gh/OpenNMS/opennms.
 

How do you measure code coverage for tests? 

We integrate with SonarCloud. Here's a report on today's latest code in active development: https://sonarcloud.io/component_measures?id=OpenNMS_opennms&metric=coverage# 

Do you have any vulnerability reports produced by any standard vulnerability tools?2021-05-11T18:45:47+00:00

In addition to the services that GitHub and SonarCloud provide, the OpenNMS community also reports on vulnerabilities. With thousands of users and companies running the software, many in DoD, we have a lot of eyes and vulnerability scans on the software. 

Is there a development kit? What development is permitted?2021-05-11T18:46:39+00:00

Yes. OpenNMS is 100% open source and all tooling is available via open source resources. We also provide all the build tooling for developing against the Java APIs. There is a nice Dplugin API for developing plugins that does not require a full rebuild of OpenNMS or even starting or stopping the system to install the plugin. 

What do you mean by “instance”?2021-05-11T18:47:19+00:00

An instance is each individual installation of Meridian or Horizon. 

What licensing models do you support (per instance or per monitoring object or a combination)?2021-05-11T18:48:24+00:00

OpenNMS features unlimited inventory. OpenNMS Meridian, our enterprise-ready release, is limited only per instance. Installing the software on multiple instances requires a subscription fee per instance. You may monitor as many nodes as possible with each instance.

What does one subscription per management server mean?2021-05-11T18:49:08+00:00

A subscription provides access to the software repository for initial installation and updates. Each instance of the software you are running requires one subscription. The instance places no limit on the number of users or the number of managed entities/elements.

Do you offer per-incident support instead of the Ultra/Prime package?2021-05-11T18:49:24+00:00

We do not currently offer per-incident support.

What is the difference between support and maintenance?2021-05-11T22:34:17+00:00

Almost all commercial software licenses include costs associated for maintenance on the license and support of the software.  Maintenance is what's required for keeping the software updated to the latest version and getting patch updates.  Support is what's generally required for asking questions and getting SLAs on bug reports.  In commercial licensed software, these are combined into a single line item: "Maintenance and Support". 

With OpenNMS, we've separated the notion of Maintenance and Support whereby you can get maintenance without paying for Support.  This gives you access to the private repositories for the software where you'll get all updates to the software.  Support, which requires Maintenance, is an additional set of offerings providing support at various levels and features. 

Go to Top