OpenNMS is a complex piece of software, and while the wiki is useful for nuts-and-bolts descriptions of using OpenNMS, it's not really suited for an in-depth OpenNMS book.
This is the beginnings of that book.
- 1 Introduction
- 2 Getting Started
- 3 Features
- 3.1 Service Monitoring
- 3.2 Data Collection
- 3.3 Events and Alarms
- 3.4 Notifications
- 3.5 Discovery
- 3.6 Web Interface
- 4 Integration
This is a short introduction to the OpenNMS Application.
This discusses the main features of OpenNMS.
OpenNMS has a rather long and colorful history.
Monitoring (also known as polling) is where OpenNMS periodically polls the status of
- Nodes, by ICMP ping, and
- Services on those nodes, by either protocol specific pollers which perform a simple test to see if the resource is responding correctly, or a simple TCP/IP port connection to the relevant port.
If there is no response, or it is incorrect, events are generated and passed into the OpenNMS event system.
When you know a monitored piece of equipment is going to be out of action for maintenance, and don't want OpenNMS to see the outage, or maybe want it to be seen, but not notified on, then you want to create a scheduled outage
Data can be collected from a number of sources, stored in aggregated format, checked against defined thresholds, and later displayed in graphical format
Events are the communication bus of OpenNMS. They are generated internally to signal between daemons, and can be injected from outside to cause various actions to occur.
Alarms work to provide a current view of exceptional situations. Reduction is used to coalesce multiple raw events into single "alarm", reducing the cognitive load of the sheer number of events that occur in a modern network, while still keeping the raw events available for tracking purposes. Reduction into an alarm is keyed by any of the event parameters, such as the node, service, time etc.
Notifications are they primary way that OpenNMS tells interested parties of interesting occurrences. Various transport methods are built in (e-mail, SNMP Trap, XMPP and others), and external programs/scripts can be used to implement whatever customised transport is required.
Discovery is the way by which OpenNMS finds nodes (devices with a network address). Discovery can be either automatic or manual, depending on your preference. For smaller networks, manual addition of nodes is feasible, but larger networks will benefit significantly from automatic discovery.