From OpenNMS
The Data Collection features of OpenNMS is highly useful in providing a variety of views into the performance parameters of your network and servers. Specific uses include
- identifying short term performance issues, especially those that are intermittent or periodic in nature
- identifying long term trends for capacity planning
- noticing immediate problems that require resolution (e.g. resource exhaustion issues)
Contents |
Collection
OpenNMS has a variety of data collection mechanisms:
- SNMP (v1, v2 and v3)
- JMX - (Java Managment Extensions)
- NSClient/Nagios Agent - Windows Perfmon counters.
- HTTP - extraction of data values from arbitrary HTTP requests
SNMP
SNMP is the most common, with agents being extremely common. Most modern Operating Systems have an SNMP agent, as do most "managed" network devices, and a large number of other network connected devices such as UPSes. Using the MIB (Management Infomation Base) for the device (a text file), you can identify and begin collecting any useful values (numeric or string).
The out of the box configuration includes numerous commonly available and useful SNMP OIDs, which will be automatically collected if found to be available on monitored equipment.
JMX
JMX performance data can be collected from any Java 1.5 Virtual Machine that has the JMX feature enabled. The canonical case is to monitor the virtual machine on which OpenNMS itself is running, and/or the Tomcat webapplication server which is serving the web interface; however, any JMX accessible agent can be collected from. Any numerical JMX data value can be collected and stored.
NSClient
With the installation of the NSClient agent (the Nagios Agent), any normal Microsoft Windows(tm) Perfmon counters can be collected. The out of the box configuration currently includes a small collection of values that have so far been found to be useful. More will be added as they are identified and contributed.
HTTP
The HTTP data collector provides the ability to fetch any URL via HTTP, and extract data values from it via carefully constructed regular expressions. This is often useful as a method for collecting otherwise hard to access data values; existing web pages can be used, or if necessary, simple CGI pages can be constructed to return locally available values.
Storage
Data is stored in RRDtool or JRobin format; both are "Round-robin database" formats which store a fixed number of datapoints in a round-robin fashion providing consistent data storage size (the full size is allocated when the storage file is created, and never increases). These data storage formats also provide aggregation for older data to minimise data storage requirements. The RRD format is useful when you desire to integrate with other tools which require RRDtool format. However it is deprecated in OpenNMS, and new installations of recent releases default to JRobin, which has performance advantages.
Graphing
Graphing uses standard RRDTool style graphs (provided by JRobin graph facilities if using JRobin for storage). Out of the box configuration includes graphs for the standard collected data points. Graphs can be customised, and new graphs by editing of a simple format text file. Ad-Hoc graphs can be created using the web interface, allowing specific one-off views to be created as required.
Thresholds
Thresholds can be configured on any of these collected values. A threshold can be configured to trigger if a value is exceeded, if a value underflows, or if it changes more than a certain percentage between two collection points. When a threshold is triggered events are generated, and subsequently possibly notifications (if configured). Using this, situations such as
- extended raised CPU usage,
- limited free disk space, or
- significant jumps in resource usage (using relative change thresholds)
can be detected and notified.
Response times
Response times (in ms) of various polled services are also collected and stored in the same manner, and can be viewed in graph form. This can be useful in determining responsiveness of services, possibly warning of building performance issues.






