Test Data Collection - JMX
Description
Acceptance / Success Criteria
Attachments
- 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
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.
Details
Assignee
Jeff GehlbachJeff GehlbachReporter
Matt BrozowskiMatt BrozowskiComponents
Fix versions
Affects versions
Priority
Blocker
Details
Details
Assignee
Reporter
Components
Fix versions
Affects versions
Priority
PagerDuty
PagerDuty Incident
PagerDuty
PagerDuty Incident
PagerDuty

Test JMX data collection