The RabbitMQ team’s official recommendation for production monitoring is Prometheus combined with Grafana. The right tool to get RabbitMQ metrics into that stack depends on your RabbitMQ version, your deployment environment, and whether you want to manage your own Prometheus infrastructure or use a managed service. This guide covers every option that works with Prometheus and Grafana today, what each one gives you, and when to use each.
Key Takeaways
- The built-in rabbitmq_prometheus plugin (shipped since RabbitMQ 3.8) is the officially recommended and lowest-overhead option. It is the right choice for all currently supported RabbitMQ deployments.
- The community rabbitmq_exporter by kbudde is explicitly limited to RabbitMQ 3.x. The maintainer documented this in issue #383: “This exporter only works with RabbitMQ 3. Please use the official exporter for RabbitMQ 4 or newer”.
- RabbitMQ 3.13 reached the end of community support on January 31, 2026. The currently supported releases are 4.3 (latest, released April 23, 2026) and 4.2.x (community support until July 31, 2026).
- Grafana Cloud’s RabbitMQ integration (updated February 2026 to support RabbitMQ 4.x) bundles scrape config, pre-built dashboards, and alert rules. It is the fastest path to a working stack if you already use Grafana Cloud.
- Amazon MQ for RabbitMQ enabled the Prometheus plugin by default on all 4.2 brokers in April 2026. If you run Amazon MQ for RabbitMQ 4.2+, the metrics endpoint is already active.
- On Kubernetes, the RabbitMQ Cluster Operator enables the rabbitmq_prometheus plugin automatically on every node. No manual plugin configuration is needed.
The Options at a Glance
| Tool | Type | RabbitMQ version support | Overhead | Best for |
| rabbitmq_prometheus plugin | Built-in, official | 3.8+ (all supported versions) | Low | All production deployments |
| kbudde/rabbitmq_exporter | Community, unofficial | RabbitMQ 3.x only | Medium (polls Management API) | Legacy RabbitMQ 3.x deployments only |
| Grafana Cloud RabbitMQ integration | Managed | 3.8+, including 4.x | Low (uses rabbitmq_prometheus) | Teams already on Grafana Cloud |
| Prometheus Operator + ServiceMonitor | Kubernetes-native | 3.8+ | Low | Kubernetes deployments |
| Amazon MQ + Prometheus | Managed AWS | Amazon MQ 4.2+ | None (enabled by default) | Teams running RabbitMQ on Amazon MQ |
| Datadog RabbitMQ integration | Commercial SaaS | 3.x and 4.x | Low-medium | Teams already on Datadog |
Option 1: The Built-in rabbitmq_prometheus Plugin
The rabbitmq_prometheus plugin ships with every RabbitMQ installation from 3.8 onward and is the approach the RabbitMQ team explicitly recommends for production. It runs inside the broker process, exposes metrics on port 15692 at /metrics, and has low overhead because it reads directly from internal broker state rather than polling the Management HTTP API.
Enable it:
rabbitmq-plugins enable rabbitmq_prometheusVerify:
curl http://localhost:15692/metrics | head -20Two endpoints available:
/metrics returns aggregated cluster-level metrics and is the standard scrape target. /metrics/detailed returns per-queue and per-consumer metrics with rabbitmq_detailed_ prefixed names and requires specifying metric families as query parameters:
GET /metrics/detailed?family=queue_coarse_metrics&family=queue_consumer_count
The detailed endpoint is the correct approach for per-queue alerting. The /metrics endpoint alone does not carry queue-name labels.
Prometheus scrape config:
scrape_configs:
- job_name: rabbitmq
scrape_interval: 15s
static_configs:
- targets:
- rabbitmq-node1:15692
- rabbitmq-node2:15692
- rabbitmq-node3:15692
- job_name: rabbitmq-detailed
scrape_interval: 30s
metrics_path: /metrics/detailed
params:
family:
- queue_coarse_metrics
- queue_consumer_count
static_configs:
- targets:
- rabbitmq-node1:15692
- rabbitmq-node2:15692
- rabbitmq-node3:15692Official Grafana dashboards:
Import these from Grafana Labs using the IDs below. They are maintained by the RabbitMQ team.
| Dashboard | Grafana ID | Purpose |
| RabbitMQ-Overview | 10991 | Daily operations: queues, message rates, node health |
| RabbitMQ-Quorum-Queues-Raft | 11340 | Raft consensus state for quorum queues |
| Erlang-Distribution | 11352 | Inter-node communication health |
| Erlang-Memory-Allocators | 11350 | BEAM VM memory, useful for debugging regressions |
| RabbitMQ-Stream | 14798 | Stream protocol metrics |
Option 2: kbudde/rabbitmq_exporter (RabbitMQ 3.x Only)
The kbudde/rabbitmq_exporter is a community-maintained Go binary that polls the RabbitMQ Management HTTP API and exposes results on port 9419 in Prometheus format. It predates the built-in plugin and was widely used before RabbitMQ 3.8.
Important limitation: The exporter only works with RabbitMQ 3.x. The maintainer stated this explicitly in issue #383 on the project’s GitHub repository: “This exporter only works with RabbitMQ 3. Please use the official exporter for RabbitMQ 4 or newer.” For any deployment running RabbitMQ 4.x, use the built-in plugin instead.
Note also that RabbitMQ 3.13 reached the end of community support on January 31, 2026. If you are still on RabbitMQ 3.x, upgrading to a supported 4.x release is strongly advisable before choosing a long-term monitoring approach.
Docker setup (RabbitMQ 3.x deployments only):
docker run -d \
--name rabbitmq-exporter \
--net=container:my-rabbitmq \
-e RABBIT_URL=http://localhost:15672 \
-e RABBIT_USER=guest \
-e RABBIT_PASSWORD=guest \
-e PUBLISH_PORT=9419 \
kbudde/rabbitmq-exporterPrometheus scrape config:
scrape_configs:
- job_name: rabbitmq-exporter
scrape_interval: 30s
static_configs:
- targets:
- rabbitmq-host:9419The exporter has a corresponding Grafana dashboard (ID 10120) on Grafana Labs built specifically for its metric naming conventions.
Option 3: Grafana Cloud RabbitMQ Integration
Grafana Cloud provides a managed RabbitMQ integration that bundles the scrape configuration, pre-built dashboards, and alert rules into a single install. The integration was updated in February 2026 to add support for RabbitMQ 4.x.
What it includes:
- Grafana Alloy configuration that scrapes the rabbitmq_prometheus plugin endpoint
- 5 pre-built dashboards covering overview, queue health, node health, Erlang VM, and alerts
- 4 pre-configured Prometheus alert rules for queue depth, consumer count, memory, and disk
Setup path:
- In Grafana Cloud, go to Connections and search for Apache RabbitMQ
- Follow the Configuration Details tab to install Grafana Alloy on each RabbitMQ host
- Click Install to add the pre-built dashboards and alert rules
Alloy scrape config (added automatically or manually):
prometheus.scrape "rabbitmq" {
targets = [
{"__address__" = "rabbitmq-host:15692"},
]
forward_to = [prometheus.remote_write.grafana_cloud.receiver]
job_name = "integrations/rabbitmq"
}This is the fastest path to a complete RabbitMQ monitoring setup if your team already uses Grafana Cloud. The trade-off is that data leaves your infrastructure and flows to Grafana’s managed platform, and usage above the free tier incurs costs.
Option 4: Kubernetes with the RabbitMQ Cluster Operator
On Kubernetes, the RabbitMQ Cluster Operator enables the rabbitmq_prometheus plugin automatically on every broker node in every managed cluster. No manual plugin configuration is needed.
The operator exposes port 15692 on each pod. To scrape with Prometheus Operator, create a ServiceMonitor targeting each pod individually. Do not point the scrape job at a load-balanced Service for the detailed metrics endpoint, because detailed metrics for a queue are only served by the node hosting that queue’s leader replica.
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: rabbitmq
namespace: monitoring
spec:
selector:
matchLabels:
app.kubernetes.io/component: rabbitmq
namespaceSelector:
matchNames:
- rabbitmq
endpoints:
# Standard aggregated metrics
- port: prometheus
interval: 15s
# Per-queue detailed metrics
- port: prometheus
interval: 30s
path: /metrics/detailed
params:
family:
- queue_coarse_metrics
- queue_consumer_countOption 5: Amazon MQ for RabbitMQ
Amazon MQ for RabbitMQ enabled the Prometheus plugin by default on all 4.2 brokers in April 2026. The metrics endpoint is active without any configuration on all Amazon MQ for RabbitMQ 4.2 brokers across all AWS regions.
You can integrate the endpoint with Amazon Managed Service for Prometheus, self-hosted Prometheus, or Grafana Cloud by pointing a scrape job at the broker endpoint. This makes Prometheus-based monitoring accessible on managed RabbitMQ deployments without running your own broker infrastructure.
Option 6: Commercial Platforms
Commercial observability platforms support RabbitMQ monitoring via the Management HTTP API or the Prometheus plugin endpoint. They provide pre-built dashboards and alert policies, but they add cost and vendor dependency on top of what the open-source stack provides for free.
| Platform | How it collects RabbitMQ metrics | RabbitMQ-specific dashboards | Pricing model |
| Datadog | Agent polls Management API; also supports Prometheus endpoint | Pre-built dashboards for queue, node, and exchange health | Per-host plus per-product; costs grow with scale |
| New Relic | Prometheus remote write or direct OTel collector | Dashboards via Flex integration | Per GB ingested plus per user seat |
| Grafana Cloud | Scrapes rabbitmq_prometheus plugin via Alloy agent | 5 pre-built dashboards, 4 alert rules | Free tier, then per active series and GB |
For most teams already running Prometheus and Grafana, the open-source stack with the built-in plugin and official dashboards is the full solution. Commercial platforms make sense when RabbitMQ monitoring is one of many integrations you are consolidating into a single vendor platform that your team already pays for.
How to Choose
| If you are running… | Use this |
| RabbitMQ 4.3 (current), self-hosted | Built-in rabbitmq_prometheus plugin + official Grafana dashboards |
| RabbitMQ 4.2.x, self-hosted | Built-in rabbitmq_prometheus plugin |
| RabbitMQ 3.x (end of community support since Jan 2026) | Upgrade to a supported 4.x release. If migration is not yet possible, the kbudde exporter works for 3.x only |
| Kubernetes with RabbitMQ Cluster Operator | Plugin is auto-enabled. Add a ServiceMonitor |
| Amazon MQ for RabbitMQ 4.2+ | Prometheus plugin enabled by default. Point Prometheus or Grafana at the endpoint |
| Already on Grafana Cloud | Grafana Cloud RabbitMQ integration (updated February 2026 for 4.x support) |
| Already on Datadog or New Relic | Use that platform’s native RabbitMQ integration alongside your existing stack |
What Prometheus and Grafana Cannot Tell You Alone?
Prometheus and Grafana give you complete visibility into the broker: queue depth, message rates, consumer counts, node memory, and disk pressure. What they do not give you is visibility into why a queue is building up. A growing queue depth can mean consumers have crashed, each message is taking too long to process, or a downstream dependency the consumer calls has slowed down. Those three root causes look identical on any queue depth chart.
CubeAPM integrates directly with the RabbitMQ Prometheus plugin through the OpenTelemetry Collector and correlates broker metrics with distributed traces and logs from your producer and consumer services. When a queue depth alert fires, CubeAPM shows which consumer instance is falling behind, how long each message takes end-to-end through the system, and which downstream call is responsible. The Prometheus alert tells you something is wrong. CubeAPM tells you what and where. It runs self-hosted inside your own infrastructure at $0.15/GB ingestion pricing, so no data leaves your environment.
Summary
The right RabbitMQ monitoring tool for Prometheus and Grafana is almost always the built-in rabbitmq_prometheus plugin, combined with the official Grafana dashboards maintained by the RabbitMQ team. It ships with every installation from 3.8 onward, has the lowest overhead, and is the only option explicitly supported for RabbitMQ 4.x.
The kbudde exporter is legacy tooling for 3.x deployments only, and RabbitMQ 3.x itself reached the end of community support in January 2026. Managed options from Grafana Cloud and Amazon MQ reduce setup work if you are already on those platforms.
| Tool | RabbitMQ version | Overhead | Managed | When to use |
| rabbitmq_prometheus plugin | 3.8+, all supported 4.x | Low | No | Default choice for all modern deployments |
| kbudde/rabbitmq_exporter | 3.x only (unsupported) | Medium | No | Legacy 3.x deployments that cannot yet upgrade |
| Grafana Cloud integration | 3.8+, 4.x | Low | Yes | Teams already on Grafana Cloud |
| RabbitMQ Cluster Operator | 3.8+, 4.x | Low | No | Kubernetes deployments |
| Amazon MQ Prometheus | 4.2+ | None | Yes (AWS) | Amazon MQ for RabbitMQ 4.2+ |
| Datadog / New Relic | 3.x and 4.x | Low-medium | Yes | Teams already on these platforms |
Disclaimer: Plugin availability, dashboard IDs, version support, and platform feature details are verified against RabbitMQ 4.3 documentation (rabbitmq.com/docs/monitoring), the kbudde/rabbitmq_exporter GitHub repository (issue #383), Grafana Cloud integration documentation (updated February 2026), and the Amazon MQ Prometheus release announcement (April 2026) as of May 2026.
Also read:
How to Monitor ActiveMQ with Prometheus
What Are the Key ActiveMQ Metrics to Monitor for Performance?
RabbitMQ Alerts: How to Alert on RabbitMQ Queue Depth and Consumer Count





