Skip to content
System types · Built-in All levels

ActiveMQ Artemis

The built-in ActiveMQ Artemis system type — detection prefixes, the Prometheus-scrape setup that produces the metrics, starter checks for queue backlog and address memory, and tuning notes.

SLSluicio team 4 min read Updated Jul 2026

ActiveMQ Artemis is Apache’s high-performance message broker — the successor to ActiveMQ Classic, common wherever JMS-style messaging runs. Operationally it worries you in the same places as any broker: queues backing up, consumers going missing, and — Artemis-specifically — an address hitting its memory limit and switching into its configured full-address policy (paging, blocking or dropping). This system type covers all three.

Key: artemis · applied automatically to services emitting artemis-prefixed metrics.

Artemis exposes metrics through the community artemis-prometheus-metrics-plugin, which registers a Prometheus endpoint on the broker’s web port. Scrape it with the Collector’s prometheus receiver:

otel-collector-config.yaml (receivers)
receivers:
prometheus/artemis:
config:
scrape_configs:
- job_name: artemis
scrape_interval: 30s
metrics_path: /metrics
static_configs:
- targets: ["artemis:8161"]

The full walkthrough — enabling the plugin in broker.xml, the export pipeline, reading the queue and dead-letter signals — is in Monitor ActiveMQ Artemis queue depth.

Metrics whose names start with artemisartemis_message_count, artemis_consumer_count, artemis_address_memory_usage, and the rest of the plugin’s export.

CheckConditionSeverityWhy it matters
Queue backlogMore than 5,000 messages on a queue (artemis_message_count)WarningConsumers aren’t keeping up — the earliest sign an integration is falling behind.
No consumersA queue has messages but zero consumers (artemis_consumer_count)WarningNothing is draining the queue — usually a crashed or disconnected consumer.
Address memory highAn address’s memory usage approaching its configured limitWarningAt the limit, Artemis applies the address-full policy — paging to disk, blocking producers, or dropping messages.
  • Backlog threshold. As with any queue, derive the number from the drain rate of the specific queue, and give the rule a duration so a normal burst doesn’t page anyone.
  • Address memory is the check most worth an early look: what “high” means depends entirely on your max-size-bytes settings per address in broker.xml. Align the threshold with the addresses that block producers rather than page.
  • Dead-letter growth isn’t a starter check here because the DLQ is just another queue in Artemis — add your own rule on artemis_message_count for your dead-letter address (default DLQ), alerting on any sustained increase. The Artemis guide shows the pattern.