I have a RedHat AMQ setup with some dummy data in it that I'm trying to capture with Metricbeat. I'm able to capture standard MBean attributes such as java.lang:type=Runtime's 'Uptime'. I'm also able to capture some AMQ data using the following:
- module: jolokia
service.name: "JOLOKIA"
metricsets: ["jmx"]
period: 10s
hosts: ["10.1.43.40:8161"]
namespace: "metrics"
path: "console/jolokia/?ignoreErrors=true&canonicalNaming=false"
username: "admin"
password: "admin"
http_method: 'POST'
jmx.mappings:
- mbean: 'java.lang:type=Runtime'
attributes:
- attr: Uptime
field: uptime
- mbean: 'org.apache.activemq.artemis:broker="0.0.0.0"'
attributes:
- attr: AddressMemoryUsage
field: AddressMemoryUsage
However, I'm unable to get data from other MBeans example of the entire file is below. Note, the data I'm talking about is for MBean 'org.apache.activemq.artemis:broker="0.0.0.0",component=addresses,address="helloworld",subcomponent=queues,routing-type="anycast",queue="helloworld"'
- module: jolokia
service.name: "JOLOKIA"
metricsets: ["jmx"]
period: 10s
hosts: ["10.1.43.40:8161"]
namespace: "metrics"
path: "console/jolokia/?ignoreErrors=true&canonicalNaming=false"
username: "admin"
password: "admin"
http_method: 'POST'
jmx.mappings:
- mbean: 'java.lang:type=Runtime'
attributes:
- attr: Uptime
field: uptime
- mbean: 'java.lang:type=Memory'
attributes:
- attr: HeapMemoryUsage
field: memory.heap_usage
- attr: NonHeapMemoryUsage
field: memory.non_heap_usage
- mbean: 'org.apache.activemq.artemis:broker="0.0.0.0"'
attributes:
- attr: AddressMemoryUsage
field: AddressMemoryUsage
- attr: ConnectionCount
field: ConnectionCount
- attr: TotalConnectionCount
field: TotalConnectionCount
- attr: TotalConsumerCount
field: TotalConsumerCount
- attr: TotalMessageCount
field: TotalMessageCount
- attr: TotalMessagesAcknowledged
field: TotalMessagesAcknowledged
- attr: TotalMessagesAdded
field: TotalMessagesAdded
- attr: Uptime
field: BrokerUptime
- mbean: 'org.apache.activemq.artemis:broker="0.0.0.0",component=addresses,address="helloworld",subcomponent=queues,routing-type="anycast",queue="helloworld"'
attributes:
- attr: MessageCount
field: HelloWorldMessageCount
jmx.application:
jmx.instance:
headers:
Origin: http://10.1.43.40
I captured the logs and I can see the data is being provided in the response, but Metricbeat doesn't seem to understand it.
Mar 26 23:07:21 localhost metricbeat: 2020-03-26T23:07:20.995Z#011DEBUG#011[jolokia.jmx]#011jmx/config.go:499#011Jolokia response body#011{"host": "10.1.43.40:8161", "host": "10.1.43.40:8161", "uri": "http://10.1.43.40:8161/console/jolokia/%3FignoreErrors=true&canonicalNaming=false", "body": "[{\"request\":{\"mbean\":\"java.lang:type=Runtime\",\"attribute\":\"Uptime\",\"type\":\"read\"},\"value\":{\"Uptime\":12887343},\"timestamp\":1585264040,\"status\":200},{\"request\":{\"mbean\":\"java.lang:type=Memory\",\"attribute\":[\"HeapMemoryUsage\",\"NonHeapMemoryUsage\"],\"type\":\"read\"},\"value\":{\"HeapMemoryUsage\":{\"init\":536870912,\"committed\":536870912,\"max\":2147483648,\"used\":164582368},\"NonHeapMemoryUsage\":{\"init\":2555904,\"committed\":69230592,\"max\":-1,\"used\":67068048}},\"timestamp\":1585264040,\"status\":200},{\"request\":{\"mbean\":\"org.apache.activemq.artemis:broker=\\\"0.0.0.0\\\"\",\"attribute\":[\"AddressMemoryUsage\",\"ConnectionCount\",\"TotalConnectionCount\",\"TotalConsumerCount\",\"TotalMessageCount\",\"TotalMessagesAcknowledged\",\"TotalMessagesAdded\",\"Uptime\"],\"type\":\"read\"},\"value\":{\"AddressMemoryUsage\":111280,\"TotalMessageCount\":100,\"ConnectionCount\":0,\"Uptime\":\"18 hours 36 minutes\",\"TotalMessagesAdded\":100,\"TotalMessagesAcknowledged\":0,\"TotalConsumerCount\":0,\"TotalConnectionCount\":2},\"timestamp\":1585264040,\"status\":200},{\"request\":{\"mbean\":\"org.apache.activemq.artemis:address=\\\"helloworld\\\",broker=\\\"0.0.0.0\\\",component=addresses,queue=\\\"helloworld\\\",routing-type=\\\"anycast\\\",subcomponent=queues\",\"attribute\":\"MessageCount\",\"type\":\"read\"},\"value\":{\"MessageCount\":100},\"timestamp\":1585264040,\"status\":200}]", "type": "response"}
Mar 26 23:07:21 localhost metricbeat: 2020-03-26T23:07:20.995Z#011DEBUG#011[jolokia.jmx]#011jmx/data.go:205#011mapping: map[{mbean:java.lang:type=Memory attr:HeapMemoryUsage}:{Attr:HeapMemoryUsage Field:memory.heap_usage Event:} {mbean:java.lang:type=Memory attr:NonHeapMemoryUsage}:{Attr:NonHeapMemoryUsage Field:memory.non_heap_usage Event:} {mbean:java.lang:type=Runtime attr:Uptime}:{Attr:Uptime Field:uptime Event:} {mbean:org.apache.activemq.artemis:broker="0.0.0.0" attr:AddressMemoryUsage}:{Attr:AddressMemoryUsage Field:AddressMemoryUsage Event:} {mbean:org.apache.activemq.artemis:broker="0.0.0.0" attr:ConnectionCount}:{Attr:ConnectionCount Field:ConnectionCount Event:} {mbean:org.apache.activemq.artemis:broker="0.0.0.0" attr:TotalConnectionCount}:{Attr:TotalConnectionCount Field:TotalConnectionCount Event:} {mbean:org.apache.activemq.artemis:broker="0.0.0.0" attr:TotalConsumerCount}:{Attr:TotalConsumerCount Field:TotalConsumerCount Event:} {mbean:org.apache.activemq.artemis:broker="0.0.0.0" attr:TotalMessageCount}:{Attr:TotalMessageCount Field:TotalMessageCount Event:} {mbean:org.apache.activemq.artemis:broker="0.0.0.0" attr:TotalMessagesAcknowledged}:{Attr:TotalMessagesAcknowledged Field:TotalMessagesAcknowledged Event:} {mbean:org.apache.activemq.artemis:broker="0.0.0.0" attr:TotalMessagesAdded}:{Attr:TotalMessagesAdded Field:TotalMessagesAdded Event:} {mbean:org.apache.activemq.artemis:broker="0.0.0.0" attr:Uptime}:{Attr:Uptime Field:BrokerUptime Event:} {mbean:org.apache.activemq.artemis:broker="0.0.0.0",component=addresses,address="helloworld",subcomponent=queues,routing-type="anycast",queue="helloworld" attr:MessageCount}:{Attr:MessageCount Field:HelloWorldMessageCount Event:}]
Mar 26 23:07:21 localhost metricbeat: 2020-03-26T23:07:20.995Z#011DEBUG#011[processors]#011processing/processors.go:186#011Publish event: {
Mar 26 23:07:21 localhost metricbeat: "@timestamp": "2020-03-26T23:07:20.902Z",
Mar 26 23:07:21 localhost metricbeat: "@metadata": {
Mar 26 23:07:21 localhost metricbeat: "beat": "metricbeat",
Mar 26 23:07:21 localhost metricbeat: "type": "_doc",
Mar 26 23:07:21 localhost metricbeat: "version": "7.6.1"
Mar 26 23:07:21 localhost metricbeat: },
Mar 26 23:07:21 localhost metricbeat: "service": {
Mar 26 23:07:21 localhost metricbeat: "type": "jolokia",
Mar 26 23:07:21 localhost metricbeat: "address": "10.1.43.40:8161",
Mar 26 23:07:21 localhost metricbeat: "name": "JOLOKIA"
Mar 26 23:07:21 localhost metricbeat: },
Mar 26 23:07:21 localhost metricbeat: "jolokia": {
Mar 26 23:07:21 localhost metricbeat: "metrics": {
Mar 26 23:07:21 localhost metricbeat: "TotalMessagesAcknowledged": 0,
Mar 26 23:07:21 localhost metricbeat: "TotalConsumerCount": 0,
Mar 26 23:07:21 localhost metricbeat: "TotalConnectionCount": 2,
Mar 26 23:07:21 localhost metricbeat: "ConnectionCount": 0,
Mar 26 23:07:21 localhost metricbeat: "BrokerUptime": "18 hours 36 minutes",
Mar 26 23:07:21 localhost metricbeat: "memory": {
Mar 26 23:07:21 localhost metricbeat: "heap_usage": {
Mar 26 23:07:21 localhost metricbeat: "init": 5.36870912e+08,
Mar 26 23:07:21 localhost metricbeat: "committed": 5.36870912e+08,
Mar 26 23:07:21 localhost metricbeat: "max": 2.147483648e+09,
Mar 26 23:07:21 localhost metricbeat: "used": 1.64582368e+08
Mar 26 23:07:21 localhost metricbeat: },
Mar 26 23:07:21 localhost metricbeat: "non_heap_usage": {
Mar 26 23:07:21 localhost metricbeat: "committed": 6.9230592e+07,
Mar 26 23:07:21 localhost metricbeat: "max": -1,
Mar 26 23:07:21 localhost metricbeat: "used": 6.7068048e+07,
Mar 26 23:07:21 localhost metricbeat: "init": 2.555904e+06
Mar 26 23:07:21 localhost metricbeat: }
Mar 26 23:07:21 localhost metricbeat: },
Mar 26 23:07:21 localhost metricbeat: "AddressMemoryUsage": 111280,
Mar 26 23:07:21 localhost metricbeat: "TotalMessagesAdded": 100,
Mar 26 23:07:21 localhost metricbeat: "uptime": 1.2887343e+07,
Mar 26 23:07:21 localhost metricbeat: "TotalMessageCount": 100
Mar 26 23:07:21 localhost metricbeat: }
Mar 26 23:07:21 localhost metricbeat: },
Mar 26 23:07:21 localhost metricbeat: "ecs": {
Mar 26 23:07:21 localhost metricbeat: "version": "1.4.0"
Mar 26 23:07:21 localhost metricbeat: },
Mar 26 23:07:21 localhost metricbeat: "host": {
Mar 26 23:07:21 localhost metricbeat: "containerized": false,
Mar 26 23:07:21 localhost metricbeat: "name": "mq01",
Mar 26 23:07:21 localhost metricbeat: "hostname": "mq01",
Mar 26 23:07:21 localhost metricbeat: "architecture": "x86_64",
Can anyone help me to resolve this?