WARNING: Version 6.1 of Metricbeat has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Jolokia jmx metricset
editJolokia jmx metricset
editThis functionality is in beta and is subject to change. The design and code is less mature than official GA features and is being provided as-is with no warranties. Beta features are not subject to the support SLA of official GA features.
This is the jmx
metricset of the Jolokia module.
Features and configuration
editTested with Jolokia 1.3.4.
Metrics to be collected from each Jolokia instance are defined in the mapping section with an MBean ObjectName and an array of Attributes to be requested with Elastic field names under which the return values should be saved.
For example: to get the "Uptime" attribute from the "java.lang:type=Runtime" MBean and map it to something like "uptime" (actually "jolokia.jmx.uptime", the prexif is added by beats framework) you have to configure following mapping:
--- - module: jolokia metricsets: ["jmx"] hosts: ["localhost:8778"] namespace: "metrics" jmx.mappings: - mbean: 'java.lang:type=Runtime' attributes: - attr: Uptime field: uptime ---
In case the underlying attribute is an object (e.g. see HeapMemoryUsage attribute in java.lang:type=Memory) its structure will be published to Elastic "as is".
It is possible to configure nested metric aliases by using dots in the mapping name (e.g. gc.cms_collection_time). For examples please refer to the /jolokia/jmx/test/config.yml.
All metrics from a single mapping will be POSTed to the defined host/port and sent to Elastic as a single event. To make it possible to differentiate between metrics from multiple similar applications running on the same host, please configure multiple modules.
It is required to set a namespace in the general module config section.
Limitations
editNo authentication against Jolokia is supported yet. No wildcards in Jolokia requests supported yet. All Jolokia requests have canonicalNaming set to false (details see here: https://jolokia.org/reference/html/protocol.html).
Exposed fields, dashboards, indexes, etc.
editSince this is a very general module that can be tailored for any application that exposes its metrics over Jolokia, it comes with no exposed fields description, dashboards or index patterns.
Fields
editFor a description of each field in the metricset, see the exported fields section.
Here is an example document generated by this metricset:
{ "@timestamp": "2016-05-23T08:05:34.853Z", "beat": { "hostname": "host.example.com", "name": "host.example.com" }, "jolokia": { "testnamespace": { "memory": { "heap_usage": { "committed": 1.09051904e+08, "init": 3.2753408e+07, "max": 6.20756992e+08, "used": 5.8796168e+07 }, "non_heap_usage": { "committed": 3.244032e+07, "init": 2.4576e+07, "max": 2.24395264e+08, "used": 1.7975176e+07 } }, "uptime": 6.1802139e+07 } }, "metricset": { "host": "127.0.0.1:8778", "module": "jolokia", "name": "jmx", "namespace": "testnamespace", "rtt": 115 }, "type": "metricsets" }