JMX configuration options
editJMX configuration options
editcapture_jmx_metrics
(
[1.11.0]
Added in 1.11.0.
)
editReport metrics from JMX to the APM Server
Can contain multiple comma separated JMX metric definitions:
object_name[<JMX object name pattern>] attribute[<JMX attribute>:metric_name=<optional metric name>]
-
object_name
:For more information about the JMX object name pattern syntax, see the
ObjectName
Javadocs. -
attribute
:The name of the JMX attribute. The JMX value has to be either a
Number
or a composite where the composite items are numbers. This element can be defined multiple times. An attribute can contain optional properties. The syntax for that is the same as forObjectName
.-
metric_name
:A property within
attribute
. This is the name under which the metric will be stored. Setting this is optional and will be the same as theattribute
if not set. Note that all JMX metric names will be prefixed withjvm.jmx.
by the agent.
-
The agent creates labels
for each JMX key property such as type
and name
.
The JMX object name pattern supports wildcards. The attribute definition does NOT support wildcards, but a special definition attribute[*]
is accepted (from 1.44.0) to mean match all possible (numeric) attributes for the associated object name pattern
The definition object_name[*:type=*,name=*] attribute[*]
would match all possible JMX metrics
In the following example, the agent will create a metricset for each memory pool name
(such as G1 Old Generation
and G1 Young Generation
)
object_name[java.lang:type=GarbageCollector,name=*] attribute[CollectionCount:metric_name=collection_count] attribute[CollectionTime]
The resulting documents in elasticsearch look similar to these (metadata omitted for brevity):
{ "@timestamp": "2019-08-20T16:51:07.512Z", "jvm": { "jmx": { "collection_count": 0, "CollectionTime": 0 } }, "labels": { "type": "GarbageCollector", "name": "G1 Old Generation" } }
{ "@timestamp": "2019-08-20T16:51:07.512Z", "jvm": { "jmx": { "collection_count": 2, "CollectionTime": 11 } }, "labels": { "type": "GarbageCollector", "name": "G1 Young Generation" } }
The agent also supports composite values for the attribute value.
In this example, HeapMemoryUsage
is a composite value, consisting of committed
, init
, used
and max
.
object_name[java.lang:type=Memory] attribute[HeapMemoryUsage:metric_name=heap]
The resulting documents in elasticsearch look similar to this:
{ "@timestamp": "2019-08-20T16:51:07.512Z", "jvm": { "jmx": { "heap": { "max": 4294967296, "init": 268435456, "committed": 268435456, "used": 22404496 } } }, "labels": { "type": "Memory" } }
Default | Type | Dynamic |
---|---|---|
|
List |
true |
Java System Properties | Property file | Environment |
---|---|---|
|
|
|