[collectd] generic JMX plugin

matthew sporleder msporleder at gmail.com
Mon Jul 27 22:04:52 CEST 2009

I'm not really looking for an SNMP solution, specifically, just
something that I can extend just as easily.  (add the definition, find
or add a suitable type, and get rrd's)

That seems like an improvement over what I was able to find with MX4J,
but it just feels like jmx-native would be a cleaner approach since I
wouldn't have to add any new classes to any of my existing

I'm definitely interested in exploring any existing jvm monitoring
being done with collectd.

On Mon, Jul 27, 2009 at 3:39 PM, Benjamin
Coddington<Benjamin.Coddington at uvm.edu> wrote:
> I know you are looking for an snmp solution, but we had a similar problem,
> and handled it with an HttpHandler to expose JMX beans in a REST-ful way.
> Then we slurp up the ones we want with perl in collectd.  I could send along
> what we've done, or check out jfdenise's entry:
> http://blogs.sun.com/jmxnetbeans/entry/restful_access_to_jmx_instrumentation
> Who really did all the hard work.
> Ben
> On 7/27/09 3:01 PM, matthew sporleder wrote:
>> I have a pretty strong need to do some java monitoring and,
>> unfortunately, I can't get all of the information I need through the
>> jvm's built-in snmp interface.  (all the memory info is there, but I
>> don't think I can get database thread pools, message queue depths,
>> hibernate stats, etc)
>> So what I would really like to see is an snmp-style plugin that spoke JMX.
>> Define the<Data>  to collect in terms of the mbean domain, mbean name,
>> and attribute name
>> Then a type, obviously, and the Table feature would be pretty handy as
>> well for getting values that come back in lists.  (although specifying
>> the specific value to get would also be fine)
>> committed=1532428288, init=1610612736, max=1532428288, used=974726808
>> (just part of a javax.management.openmbean.CompositeData jmx answer
>> from mx4j.  Don't even get me started on trying to use the curl plugin
>> on that)
>> The last time I checked, OpenNMS was unable to collect data over JMX
>> if it came back in a complex type, so it must be a somewhat difficult
>> problem.
>> <Data "javaoldgen">
>>   Type "javax.management.openmbean.CompositeData"
>>   Table true
>>   MBdomain "java.lang"
>>   MBname "type=MemoryPool,name=PS Old Gen"
>>   MBattribute "Usage"
>> </Data>
>> Does anyone have something like this already in the works?
>> Matt
>> ref:
>> http://java.sun.com/javase/6/docs/jre/api/management/JVM-MANAGEMENT-MIB.mib
>> http://search.cpan.org/~roland/jmx4perl-0.21/lib/JMX/Jmx4Perl.pm
>> http://blogs.sun.com/jmxetc/entry/what_is_the_jvm_snmp
>> http://www.jroller.com/maximdim/entry/monitoring_jvm_with_mrtg_part
>> _______________________________________________
>> collectd mailing list
>> collectd at verplant.org
>> http://mailman.verplant.org/listinfo/collectd

More information about the collectd mailing list