The Platform

OpenNMS is an enterprise-grade, integrated, open-source platform to build network monitoring solutions. Goals include accelerating time to production by supporting industry standard network management protocols, agents, and a programmable provisioning system. The OpenNMS community helps to make interoperable network monitoring solutions.

An event-driven architecture allows flexible workflow integration in existing monitoring and management stacks. OpenNMS normalizes device- and vendor-specific messages and protocol-specific performance measurements. Based on open source technologies, the data are accessible through a powerful ReST API and can be used in high level management workflow applications.

Notifications

Send alerts to on-call system engineers using a variety of implemented notification strategies. Extend the platform by using the native Java API or run scripts on the underlying operating system.

  • Use E-Mail with SMTP/s protocol
  • Slack and Mattermost (and other Slack-compatible) teams via outbound webhook integration
  • Jabber and XMPP as direct message or in XMPP chatrooms
  • Support for Microblog notifications via Identica / StatusNet / Twitter
  • Run external scripts
  • Extend the Java native notification strategy API

Ticketing Integration

Building monitoring application stacks requires strong integration capabilities. With the OpenNMS platform there are several possibilities to forward monitoring information to integrate in management workflows. Leverage from open source with using pre-built integrations or build your own ticketing integration.

  • Request Tracker (RT) integration
  • BMC Remedy integration
  • OTRS integration
  • IBM Tivoli Service Request Manager (TSRM) integration
  • Atlassian JIRA integration
  • Extensible Ticketing API

Alarm Forwarding

Underlying monitoring events can be used to generate high level alarms. Streams of normalized alarms can be forwarded to external applications to integrate in management workflows.

  • JMS Alarm Northbound implementation
  • AMQP Alarm Northbound implementation
  • Forward alarms into ElasticSearch for analysis
  • Send alarms via Syslog or SNMP trap protocol to legacy management solutions
  • Extensible Northbound API

Southbound Integration

Gather performance measurements and log messages from network applications and devices supporting industry standard management protocols. Synthetic polling framework to test from IP stack over management agents to applications.

  • IPv4 and IPv6 network reachability over ICMP
  • Test generic TCP connection
  • Test status and resources provided from management agents (SNMP, JMX, WMI, WS-Management, NRPE, NSClient++)
  • Collect performance measurements from open protocols and management agents (SNMP, JMX, WMI, WS-Management, NSClient++, HTTP, XML, JSON, JDBC)
  • Receive SNMP Traps and Syslog messages and convert to high-level alarms using correlation mechanisms

Framework Overview

The rich and open source-friendly Java ecosystem enables building a powerful monitoring application stack. OpenNMS persists monitoring and node inventory information in PostgreSQL.

Java-based Framework

The database schema is version controlled with Liquibase which allows easier updates and maintenance. OpenNMS uses Hibernate as data persistence for PostgreSQL.

With OpenNMS you have a choice of different time series databases:

  • RRDtool: for maximal compatibility and small and medium sized performance data collections
  • JRobin: Java based RRD storage for maximum platform independence and small and medium sized performance data collections
  • NewTS: For maximal scalability and medium to large performance data collections