- Track queue-based statistics such as queue size, consumer counts, unacknowledged messages, and redelivered messages.
- Monitor node-based metrics including waiting processes, used sockets, and file descriptor usage.
- Observe vhost aliveness and the number of active connections.
- Collect RabbitMQ error and access logs.
Setup
No additional installation is required. The RabbitMQ integration is bundled with the Atatus Infrastructure Agent.Configuration
The agent can collect RabbitMQ metrics in two ways:- RabbitMQ Prometheus Plugin (recommended): serves plain text metrics on port
15692, or15694with TLS. Starting from RabbitMQ v3.8, this plugin ships with RabbitMQ. - RabbitMQ Management Plugin (legacy): serves JSON metrics through the Management API on port
15672.
The Prometheus plugin configuration requires the Atatus Infrastructure Agent v4.1.0 or later for optimal metric scraping.
Metrics
Add the following configuration to/etc/atatus-infra-agent/conf.d/rabbitmq.d/rabbitmq.yaml. The first entry uses the Prometheus plugin and the second uses the Management plugin:
- Enable only one entry. Set
enabled: trueon the plugin you use andenabled: falseon the other. The sample above uses the Management plugin. - For the Prometheus plugin, keep
metrics_path: /metricsandisPrometheus: true. Use port15694inhostsif your RabbitMQ serves Prometheus metrics over TLS. - For the Management plugin, set
rabbitmq_userandrabbitmq_passto a RabbitMQ user that can read the Management API. The defaultguestuser can only connect fromlocalhost, so create a user with themonitoringtag if the agent runs on another host.
Logs
Logs are configured in the same file as metrics. First, turn on log collection for the agent in/etc/atatus-infra-agent/atatus.yml:
logs section to /etc/atatus-infra-agent/conf.d/rabbitmq.d/rabbitmq.yaml. The two default types pick up the standard RabbitMQ log paths: