JMX exporter ActiveMQ Artemis cluster monitoring

120 Views Asked by At

I have an artemis cluster with 3 nodes. In some times one of nodes cant see other nodes, but it works in standalone mode. In this situation I have 2 brokers (cluster and standalone node).

How I can monitor and alerting this situation? I have jmx-exporter on each node, i find only one atribute in jmx, where i can see members of cluster - it is Topology. But jmx-exporter cant scrape it, I dont know why. I know that value of metric is only numeric, and for tests value set to 1. That is my pattern in rules:

  - pattern: "^org.apache.activemq.artemis<broker=\"([^\"]*)\",\\s*component=cluster-connections,\\s*name=\"([^\"]*)\"><>([^:]*):(.*)"
    attrNameSnakeCase: true
    name: artcluster_$3
    value: 1
    labels:
        a1: $1
        a2: $2
        a3: $3
        a4: $4  

Attributes:

scrape            "Started": true,
scrape            "Address": "",
scrape            "MessagesAcknowledged": 1,
scrape            "MessageLoadBalancingType": "ON_DEMAND",
!DONT scrape      "Topology": "topology on Topology@47f077e3[owner=ClusterConnectionImpl@53887553[nodeUUID=e6b1d33c-a8af-11ed-837e-0242ac110002, connector=TransportConfiguration(name=netty-connector, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory) ?port=61616&host=art-smx03-t, address=, server=ActiveMQServerImpl::name=art-smx03-t]]:\n\te6c92b4c-a8af-11ed-baf9-0242ac110002 => TopologyMember[id=e6c92b4c-a8af-11ed-baf9-0242ac110002, connector=Pair[a=TransportConfiguration(name=netty-connector, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory) ?port=61616&host=app-smx01-t, b=TransportConfiguration(name=netty-connector, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory) ?port=62616&host=art-smx03-t], backupGroupName=art-smx03-t, scaleDownGroupName=null]\n\te5777e6d-a8af-11ed-887a-0242ac110002 => TopologyMember[id=e5777e6d-a8af-11ed-887a-0242ac110002, connector=Pair[a=TransportConfiguration(name=netty-connector, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory) ?port=61616&host=art-smx01-t, b=TransportConfiguration(name=netty-connector, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory) ?port=62616&host=app-smx01-t-], backupGroupName=app-smx01-t, scaleDownGroupName=null]\n\te6b1d33c-a8af-11ed-837e-0242ac110002 => TopologyMember[id=e6b1d33c-a8af-11ed-837e-0242ac110002, connector=Pair[a=TransportConfiguration(name=netty-connector, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory) ?port=61616&host=art-smx03-t, b=TransportConfiguration(name=netty-connector, factory=org-apache-activemq-artemis-core-remoting-impl-netty-NettyConnectorFactory) ?port=62616&host=art-smx01-t], backupGroupName=art-smx01-t, scaleDownGroupName=null]\n\tnodes=6\tmembers=3",
scrape            "MaxHops": 1,
!DONT scrape      "Nodes": {
                                  "e5777e6d-a8af-11ed-887a-0242ac110002": "art-smx01-t",
                                  "e6c92b4c-a8af-11ed-baf9-0242ac110002": "app-smx01-t"
                                         },
scrape            "Name": "smx-art-cluster",
scrape            "DuplicateDetection": true,

All atributes are in one level, numeric, boolean and small text values are working well, and BIG text values jmx-exporter dont scrape. I need Topology atribute for parsing nodes and members from it, its type is java.lang.String, and its not working. But other attr - MessageLoadBalancingType has type java.lang.String, and its working!

jmx-exporter version is 0.18.0

0

There are 0 best solutions below