---
title: ActiveMQ XML
description: Collect metrics for brokers and queues, producers and consumers, and more.
breadcrumbs: Docs > Integrations > ActiveMQ XML
---

# ActiveMQ XML
Supported OS Integration version5.5.0
## Overview{% #overview %}

Get metrics from ActiveMQ XML in real time to:

- Visualize and monitor ActiveMQ XML states.
- Be notified about ActiveMQ XML failovers and events.

**Minimum Agent version:** 6.0.0

## Setup{% #setup %}

### Installation{% #installation %}

The ActiveMQ XML check is included in the [Datadog Agent](https://app.datadoghq.com/account/settings/agent/latest) package, so you don't need to install anything else on your servers.

### Configuration{% #configuration %}

Follow the instructions below to configure this check for an Agent running on a host. For containerized environments, see the Containerized section.

{% tab title="Host" %}
#### Host{% #host %}

To configure this check for an Agent running on a host:

1. Edit `activemq_xml.d/conf.yaml`, in the `conf.d/` folder at the root of your [Agent's configuration directory](https://docs.datadoghq.com/agent/guide/agent-configuration-files.md#agent-configuration-directory) with your stats `url`. See the [sample activemq_xml.d/conf.yaml](https://github.com/DataDog/integrations-core/blob/master/activemq_xml/datadog_checks/activemq_xml/data/conf.yaml.example) for all available configuration options.

**Note**: The ActiveMQ XML integration can potentially emit [custom metrics](https://docs.datadoghq.com/developers/metrics/custom_metrics.md), which may impact your [billing](https://docs.datadoghq.com/account_management/billing/custom_metrics.md). By default, there is a limit of 350 metrics. If you require additional metrics, contact [Datadog support](https://docs.datadoghq.com/help/).

1. [Restart the Agent](https://docs.datadoghq.com/agent/guide/agent-commands.md#start-stop-and-restart-the-agent).

##### Log collection{% #log-collection %}

1. Collecting logs is disabled by default in the Datadog Agent, enable it in your `datadog.yaml` file:

   ```yaml
   logs_enabled: true
   ```

1. Add this configuration block to your `activemq_xml.d/conf.yaml` or `activemq.d/conf.yaml` file to start collecting your ActiveMQ logs:

   ```yaml
   logs:
     - type: file
       path: "<ACTIVEMQ_BASEDIR>/data/activemq.log"
       source: activemq
       service: "<SERVICE_NAME>"
     - type: file
       path: "<ACTIVEMQ_BASEDIR>/data/audit.log"
       source: activemq
       service: "<SERVICE_NAME>"
   ```

1. [Restart the Agent](https://docs.datadoghq.com/agent/guide/agent-commands.md#start-stop-and-restart-the-agent).

{% /tab %}

{% tab title="Containerized" %}
#### Containerized{% #containerized %}

For containerized environments, see the [Autodiscovery with JMX](https://docs.datadoghq.com/agent/guide/autodiscovery-with-jmx.md?tab=containerizedagent) guide.
{% /tab %}

### Validation{% #validation %}

[Run the Agent's status subcommand](https://docs.datadoghq.com/agent/guide/agent-commands.md#agent-status-and-information) and look for `activemq_xml` under the Checks section.

## Data Collected{% #data-collected %}

### Metrics{% #metrics %}

|  |
|  |
| **activemq.queue.consumer\_count**(gauge)              | The number of consumers of a queue.                                                                                    |
| **activemq.queue.count**(gauge)                        | The number of queues.                                                                                                  |
| **activemq.queue.dequeue\_count**(gauge)               | The total number of messages sent to a queue since the last restart.*Shown as message*                                 |
| **activemq.queue.enqueue\_count**(gauge)               | The total number of messages removed from a queue (acknowledged by consumer) since the last restart.*Shown as message* |
| **activemq.queue.size**(gauge)                         | The size of a queue.                                                                                                   |
| **activemq.subscriber.count**(gauge)                   | The number of subscribers.                                                                                             |
| **activemq.subscriber.dequeue\_counter**(gauge)        | The number of messages sent to and acknowledged by the client.*Shown as message*                                       |
| **activemq.subscriber.dispatched\_counter**(gauge)     | The number of messages sent to the client.*Shown as message*                                                           |
| **activemq.subscriber.dispatched\_queue\_size**(gauge) | The number of messages dispatched that are awaiting acknowledgement.*Shown as message*                                 |
| **activemq.subscriber.enqueue\_counter**(gauge)        | The number of messages that matched the subscription.*Shown as message*                                                |
| **activemq.subscriber.pending\_queue\_size**(gauge)    | The number of messages pending delivery.*Shown as message*                                                             |
| **activemq.topic.consumer\_count**(gauge)              | The number of consumers of a topic.                                                                                    |
| **activemq.topic.count**(gauge)                        | The number of topics.                                                                                                  |
| **activemq.topic.dequeue\_count**(gauge)               | The total number of messages sent to a topic since the last restart.*Shown as message*                                 |
| **activemq.topic.enqueue\_count**(gauge)               | The total number of messages removed from a topic (acknowledged by consumer) since the last restart.*Shown as message* |
| **activemq.topic.size**(gauge)                         | The size of a topic.                                                                                                   |

### Events{% #events %}

The ActiveMQ XML check does not include any events.

### Service Checks{% #service-checks %}

The ActiveMQ XML check does not include any service checks.

## Troubleshooting{% #troubleshooting %}

Need help? Contact [Datadog support](https://docs.datadoghq.com/help/).

## Further Reading{% #further-reading %}

- [ActiveMQ XML blog](https://www.datadoghq.com/blog/monitor-activemq-metrics-performance)
