JMX CompositeDataSupport and Array


(Michael T.) #1

Hi,

Using the logstash jmx plugin, I'm retrieving a CompositeDataSupport Object which is then pushed to Elasticsearch. The problem is that the value pushed is not an array converted as a String but more something which looks like the address of the object in memory.

I was wondering how will it be possible to map this as an ArrayType in ElasticSearch.

Details:
This is the value of the metric_value_string field which ends up in the repository

[J@4b043fe8

And the following text describes the structure of the objects

javax.management.openmbean.CompositeDataSupport(
compositeType=javax.management.openmbean.CompositeType(
name=SESSION_COUNT,items=((
itemName=per hour, itemType=javax.management.openmbean.ArrayType(name=[J,dimension=1,elementType=javax.management.openmbean.SimpleType(name=java.lang.Long),primitiveArray=true)),
(itemName=per minute, itemType=javax.management.openmbean.ArrayType(name=[J,dimension=1,elementType=javax.management.openmbean.SimpleType(name=java.lang.Long),primitiveArray=true)),
(itemName=per second, itemType=javax.management.openmbean.ArrayType(name=[J,dimension=1,elementType=javax.management.openmbean.SimpleType(name=java.lang.Long),primitiveArray=true)),
(itemName=per week, itemType=javax.management.openmbean.ArrayType(name=[J,dimension=1,elementType=javax.management.openmbean.SimpleType(name=java.lang.Long),primitiveArray=true)))),contents={per hour=[0, ... , 111], per minute=[111, ... , 111], per second=[111,  ..., 111], per week=[0, ... , 0]})"

#2

Sadly, this is currently not supported in the jmx input, I registered https://github.com/logstash-plugins/logstash-input-jmx/issues/8 to keep track of adding support for these missing additional types.
Thanks.


(system) #3