Test Data Collection - JMX

Description

Test JMX data collection

Acceptance / Success Criteria

None

Attachments

2
  • 16 Oct 2014, 12:01 PM
  • 16 Oct 2014, 12:01 PM

Lucidchart Diagrams

Activity

Markus von Rüden October 20, 2014 at 4:56 AM

thumbs up

Jeff Gehlbach October 15, 2014 at 3:24 PM

Verified functionality for this task.

Jeff Gehlbach October 15, 2014 at 3:23 PM

Tested for the basic case of an RMI-based collection by starting with a fresh 1.14.0-snapshot built from source. Added the following service to the "example1" package in collectd-configuration.xml:

<service name="Generic-JVM" interval="30000" user-defined="false" status="on"> <parameter key="port" value="10990"/> <parameter key="retry" value="2"/> <parameter key="timeout" value="3000"/> <parameter key="protocol" value="rmi"/> <parameter key="urlPath" value="/jmxrmi"/> <parameter key="rrd-base-name" value="java"/> <parameter key="ds-name" value="generic-jvm"/> <parameter key="friendly-name" value="generic-jvm"/> <parameter key="collection" value="jsr160"/> <parameter key="thresholding-enabled" value="true"/> </service>

And a collector definition:

<collector service="Generic-JVM" class-name="org.opennms.netmgt.collectd.Jsr160Collector"/>

Added a new package to threshd-configuration.xml:

<package name="generic-jvm"> <filter>IPADDR != '0.0.0.0'</filter> <include-range begin="1.1.1.1" end="254.254.254.254"/> <include-range begin="::1" end="ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff" /> <service name="Generic-JVM" interval="30000" user-defined="false" status="on"> <parameter key="thresholding-group" value="generic-jvm"/> </service> </package>

And a corresponding threshold group to thresholds.xml:

<group name="generic-jvm" rrdRepository="/opt/opennms/share/rrd/snmp/"> <threshold type="high" ds-type="node" value="15.0" rearm="10.0" trigger="1" filterOperator="or" ds-name="ThreadCount"/> </group>

Then started a logstash instance (any Java app would work, it's just what I had close to hand) with a JMX-RMI listener on port 10990:

JAVA_OPTS="-Dcom.sun.management.jmxremote.port=10990 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" bin/logstash -e 'input { stdin { } } output { stdout {} }'

Restarted OpenNMS, requisitioned a node with interface 127.0.0.1 bearing the Generic-JVM service.

Verified expected resource graphs for common JVM MBeans included in the jsr160 collection.

Verified the configured high threshold was exceeded and an event created.

Fixed

Details

Assignee

Reporter

Fix versions

Affects versions

Priority

PagerDuty

Created October 15, 2014 at 11:22 AM
Updated June 3, 2019 at 7:49 AM
Resolved October 15, 2014 at 3:24 PM

Flag notifications