Amazon ActiveMQ Monitoring in ObserveOps
Overview
The Amazon ActiveMQ integration with ObserveOps (formerly known as AIOps) collects operational telemetry from Amazon MQ brokers running Apache ActiveMQ. It monitors broker state, queue and topic performance, message throughput, consumer activity, and resource utilization across your managed message broker deployments.
These metrics help operations teams identify message backlogs, detect broker resource pressure, and ensure reliable message delivery across your applications.
Prerequisites
- Amazon MQ is enabled in the target AWS account and region with at least one ActiveMQ broker deployed.
- The IAM role or user used for integration has read access to Amazon MQ resources (
mq:DescribeBroker,mq:ListBrokers,cloudwatch:GetMetricData). - Required Amazon MQ and CloudWatch API endpoints are reachable from ObserveOps.
- The AWS account is added in discovery with correct credentials and region configuration.
List of Supported KPIs
Broker
| Metric | Description | Type |
|---|---|---|
| aws.mq.state | Current operational state of the ActiveMQ broker. | String |
| aws.mq.action.required | Indicates whether a maintenance action is required on the broker. | Boolean |
| aws.mq.instances | Number of broker instances in the deployment. | Count |
| aws.mq.queues | Total number of queues configured on the broker. | Count |
| aws.mq.topics | Total number of topics configured on the broker. | Count |
| aws.mq.connections | Total number of active connections to the broker. | Count |
| aws.mq.open.transactions | Number of open transactions on the broker. | Count |
Queue
| Metric | Description | Type |
|---|---|---|
| aws.mq.queue | Name identifier of an individual queue. | String |
| aws.mq.queue.size | Number of messages currently in the queue. | Count |
| aws.mq.queue.consumers | Number of consumers attached to the queue. | Count |
| aws.mq.queue.messages.inflight | Number of messages dispatched to consumers but not yet acknowledged. | Count |
| aws.mq.queue.enqueue.latency.ms | Average time in milliseconds for messages to be enqueued. | Milliseconds |
| aws.mq.queue.messages.expired | Number of messages that expired before being consumed. | Count |
| aws.mq.queue.enqueued | Total number of messages enqueued since broker start. | Count |
| aws.mq.queue.dequeued | Total number of messages dequeued since broker start. | Count |
| aws.mq.queue.memory.percent | Percentage of the queue memory limit currently in use. | Percent |
Topic
| Metric | Description | Type |
|---|---|---|
| aws.mq.topic | Name identifier of an individual topic. | String |
| aws.mq.topic.consumers | Number of consumers subscribed to the topic. | Count |
| aws.mq.topic.enqueue.latency.ms | Average time in milliseconds for messages to be enqueued to the topic. | Milliseconds |
| aws.mq.topic.messages.expired | Number of messages on this topic that expired before delivery. | Count |
| aws.mq.topic.memory.percent | Percentage of the topic memory limit currently in use. | Percent |
Messaging
| Metric | Description | Type |
|---|---|---|
| aws.mq.messages | Total number of messages currently pending across all destinations. | Count |
| aws.mq.consumers | Total number of active consumers on the broker. | Count |
| aws.mq.producers | Total number of active producers on the broker. | Count |
| aws.mq.burst.balance | Remaining burst balance for the broker instance. | Count |
Performance
| Metric | Description | Type |
|---|---|---|
| aws.mq.cpu.percent | CPU utilization of the broker host as a percentage. | Percent |
| aws.mq.heap.memory.percent | Heap memory utilization of the broker JVM as a percentage. | Percent |
| aws.mq.store.percent | Percentage of the persistent message store currently in use. | Percent |
| aws.mq.temp.store.percent | Percentage of the temporary message store currently in use. | Percent |
| aws.mq.network.in.bytes.per.sec | Inbound network throughput to the broker in bytes per second. | Bytes/s |
| aws.mq.network.out.bytes.per.sec | Outbound network throughput from the broker in bytes per second. | Bytes/s |
| aws.mq.cpu.credit.balance | Remaining CPU credits available for the broker instance. | Count |
| aws.mq.established.connections | Number of established TCP connections to the broker. | Count |
| aws.mq.inactive.durable.topic.subscribers | Number of durable topic subscribers that are currently inactive. | Count |
| aws.mq.journal.files.full.recovery | Number of journal files requiring full recovery. | Count |
| aws.mq.journal.files.fast.recovery | Number of journal files currently in fast recovery. | Count |
| aws.mq.volume.read.ops.per.sec | EBS volume read operations per second for the broker storage. | Count |
| aws.mq.volume.write.ops.per.sec | EBS volume write operations per second for the broker storage. | Count |
| aws.mq.job.scheduler.store.percent | Percentage of the job scheduler store currently in use. | Percent |