Monitoring ActiveMQ Artemis

The ActiveMQ Artemis sensor is automatically installed after you install the Instana agent on the host where the ActiveMQ is running.

You can view monitored hosts and metrics that are related to ActiveMQ Artemis in the Instana UI after you configure the sensor. For more information about the configuration of the sensor, see Configuring.

Support information

To make sure that the ActiveMQ Artemis sensor is compatible with your current setup, check the following support information sections:

Supported versions and support policy

The ActiveMQ Artemis sensor supports ActiveMQ Artemis versions from 2.0.0 to 2.36.x. The sensor also supports JBoss ActiveMQ 7 and later.

The following table shows the latest supported version and support policy:

Technology Support policy Latest technology version Latest supported version
ActiveMQ Artemis On demand 2.52.x 2.52.x

For more information about the support policy, see Support strategy for sensors.

Supported client-side tracing

Instana supports client-side tracing for Java.

Enabling JMX

If JMX is not enabled, the following message is displayed in the Instana UI:

Jmx is not enabled.
You can enable it in activemq config by setting the broker property useJmx to true.

You can enable JMX access by using one of the following options:

Option 1: Enable JMX by removing authorization

You can enable JMX access by removing <authorisation> element from /apache-artemis/bin/myinstance/etc/management.xml.

Option 2: Enable JMX without removing authorization

To enable JMX without removing authorization, append the following variables to /bin/mybroker/etc/artemis.profile, and then restart ActiveMQ Artemis:

# Enable JMX for monitoring
JAVA_ARGS="$JAVA_ARGS -Dcom.sun.management.jmxremote=true"
JAVA_ARGS="$JAVA_ARGS -Dcom.sun.management.jmxremote.port=1099"
JAVA_ARGS="$JAVA_ARGS -Dcom.sun.management.jmxremote.rmi.port=1099"
JAVA_ARGS="$JAVA_ARGS -Dcom.sun.management.jmxremote.ssl=false"
JAVA_ARGS="$JAVA_ARGS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_ARGS="$JAVA_ARGS -Djava.rmi.server.hostname=localhost"

Configuring

To enable in-depth metric monitoring, add the queues that you want to monitor to the <agent_install_dir>/etc/instana/configuration.yaml agent configuration file. You can also configure custom polling rate by adding poll_rate in the same file as shown in the following configuration:


com.instana.plugin.activemqartemis:
  poll_rate: 1 # Value is in seconds. Default value is 1 second.
  monitorQueues:
    - 'test-queue'
    - 'DLQ'
 
Note: The ActiveMQ Artemis sensor can monitor up to 100 queues per broker. Make sure that the number of queues that are specified does not exceed this limit.

Configuring the polling rate

Note: Instana ActiveMQ Artemis sensor 1.0.9 and later support configuring the polling rate to reduce data ingestion. This feature is supported on self-hosted Instana backend 311 and later.

You can configure how often Instana polls ActiveMQ Artemis to collect data and metrics by using the poll_rate parameter in the agent configuration.yaml file as shown in the following example:

com.instana.plugin.activemqartemis:
  poll_rate: 1 # values are in seconds. Default value is 1 second.

Viewing metrics

To view the metrics, complete the following steps:

  1. From the navigation menu in the Instana UI, select Infrastructure.
  2. Click a specific monitored host.

You can see a host dashboard with all the collected metrics and monitored processes.

Configuration data

  • Version
  • Broker Name
  • Node ID
  • Ports
  • Memory Limit
  • Addresses
  • Queues
  • Transport Acceptors

Performance metrics

Broker wide

Metric Description Granularity
Messages Added Number of messages that are added to the broker and is collected from activemq.artemis:broker#TotalMessagesAdded. 1 second
Messages Acknowledged Number of messages that are acknowledged (and removed) from the broker and is collected from activemq.artemis:broker#TotalMessagesAcknowledged. 1 second
Messages Expired Number of messages that are expired on the broker and is collected from the sum of subcomponent=queues#MessagesExpired for all queues. 1 second
Messages stopped Number of messages that are stopped on the broker to exceeding the max delivery attempts and is collected from the sum of subcomponent=queues#MessagesKilled for all queues. 1 second
Message Count Message count on all queues and is collected from the sum of subcomponent=queues#MessageCount for all queues. 1 second
Total Connections Number of total connections on the broker and is collected from activemq.artemis:broker#ConnectionCount. 1 second
Total Consumers Number of total consumers on the broker and is collected from activemq.artemis:broker#TotalConsumerCount. 1 second
Memory Usage Percentage of memory limit that is used by all addresses on broker and is collected from activemq.artemis:broker#AddressMemoryUsagePercentage. 1 second

Queues

Metric Description Granularity
Message Count Number of messages currently in this queue (includes scheduled, paged, and in-delivery messages) and is collected from subcomponent=queues#MessageCount. 1 second
Messages Added Number of messages that are added to the queue and is collected from subcomponent=queues#MessagesAdded. 1 second
Messages Acknowledged Number of messages that are acknowledged (and removed) from the queue and is collected from subcomponent=queues#MessagesAcknowledged. 1 second
Messages Expired Number of messages that are expired on this queue and is collected from subcomponent=queues#MessagesExpired. 1 second
Messages stopped Number of messages that are stopped on this queue due to exceeding the max delivery attempts and is collected from subcomponent=queues#MessagesKilled. 1 second

Health Signatures

Each sensor has a curated knowledgebase of health signatures that are evaluated continuously against the incoming metrics and are used to raise issues or incidents that depend on user impact.

Built-in events trigger issues or incidents based on failing health signatures on entities, and custom events trigger issues or incidents based on the thresholds of an individual metric of any entity.

For information about built-in events for the ActiveMQ Artemis sensor, see Built-in events reference.