Info
License: Free — part of the universal collection tier.
RabbitMQ¶
The rabbitmq probe monitors a RabbitMQ broker via its built-in HTTP
Management API, reporting queue depth, message throughput, per-node resource
usage, connection counts and exchange statistics.
Quick start¶
# probes.d/10-rabbitmq.yaml — each file under probes.d/ is a YAML array of probes
- name: rabbitmq
type: rabbitmq
params:
endpoint: http://localhost:15672
username: guest
password: ${secret:rabbitmq.password} # OS secret store; inline plaintext is auto-sealed on install
Parameters¶
| Parameter | Must set | Default | Description |
|---|---|---|---|
endpoint |
In practice | http://localhost:15672 |
Base URL of the Management API. Example: http://rabbit.example.com:15672 |
username |
In practice | guest |
Management user |
password |
In practice | guest |
Management user's password. A secret: reference it with ${secret:…}, ${env:…} or ${file:…} rather than writing it in the file |
interval |
No | 60 |
Seconds between collections |
timeout |
No | 10 |
Request timeout in seconds |
instance_name |
No | - | Stable identity of this broker instead of the one derived from the endpoint |
Metrics¶
| Metric | Unit | Description |
|---|---|---|
senhub.rabbitmq.up |
1 | 1 when the Management API answered successfully |
rabbitmq.messages.published |
{message} | Total messages published to the broker |
rabbitmq.messages.delivered |
{message} | Total messages delivered to consumers |
rabbitmq.messages.acknowledged |
{message} | Total messages acknowledged |
rabbitmq.messages.unacknowledged |
{message} | Messages delivered but not yet acknowledged |
rabbitmq.messages.ready |
{message} | Messages ready to be delivered |
rabbitmq.queue.messages.ready |
{message} | Messages ready per queue, tagged with queue / vhost |
rabbitmq.queue.consumers |
{consumer} | Active consumers per queue |
rabbitmq.consumer.count |
{consumer} | Total consumers connected to the broker |
rabbitmq.connection.count |
{connection} | Total client connections |
rabbitmq.node.memory.used |
By | Memory used by the broker process, tagged with node |
rabbitmq.node.disk.free |
By | Free disk space on the node |
rabbitmq.node.fd.used |
{fd} | Open file descriptors on the node |
Operational notes¶
- The
rabbitmq_managementplugin must be enabled:rabbitmq-plugins enable rabbitmq_management. - The default
guestaccount is restricted to localhost connections. For remote monitoring, create a dedicated management user with themonitoringtag. - Metric names align with the OpenTelemetry Collector contrib
rabbitmqreceiverwhere equivalents exist.
Metric reference¶
Every metric this probe can emit. Metric is the OpenTelemetry name the
OTLP, Prometheus and Zabbix outputs derive theirs from. Name is what a
Nagios check and the API metrics= filter match.
PRTG channel is the label PRTG shows, placeholders filled from the
series' tags.
| Metric | Name | PRTG channel | Unit | Description |
|---|---|---|---|---|
senhub.rabbitmq.up |
senhub.rabbitmq.up |
RabbitMQ Up | # | 1 when the Management API answered successfully, 0 otherwise |
rabbitmq.messages.published |
rabbitmq.messages.published |
RabbitMQ Messages Published | # | Total messages published to the broker (message_stats.publish) |
rabbitmq.messages.delivered |
rabbitmq.messages.delivered |
RabbitMQ Messages Delivered | # | Total messages delivered to consumers (message_stats.deliver_get) |
rabbitmq.messages.acknowledged |
rabbitmq.messages.acknowledged |
RabbitMQ Messages Acknowledged | # | Total messages acknowledged by consumers (message_stats.ack) |
rabbitmq.messages.unacknowledged |
rabbitmq.messages.unacknowledged |
RabbitMQ Messages Unacknowledged | # | Current number of messages delivered but not yet acknowledged (queue_totals.messages_unacknowledged) |
rabbitmq.messages.ready |
rabbitmq.messages.ready |
RabbitMQ Messages Ready | # | Current number of messages ready for delivery (queue_totals.messages_ready) |
rabbitmq.consumer.count |
rabbitmq.consumers.total |
RabbitMQ Consumers | # | Total number of consumers across all queues (object_totals.consumers) |
rabbitmq.queue.count |
rabbitmq.queues.total |
RabbitMQ Queues | # | Total number of queues (object_totals.queues) |
rabbitmq.connection.count |
rabbitmq.connections.total |
RabbitMQ Connections | # | Total number of open connections (object_totals.connections) |
rabbitmq.channel.count |
rabbitmq.channels.total |
RabbitMQ Channels | # | Total number of open channels (object_totals.channels) |
rabbitmq.node.memory.used |
rabbitmq.node.memory.used |
RabbitMQ {node} Memory Used | bytes | Bytes of RAM used by the Erlang VM on this node (mem_used) |
rabbitmq.node.disk.free |
rabbitmq.node.disk.free |
RabbitMQ {node} Disk Free | bytes | Bytes of free disk space on the node's data partition (disk_free) |
rabbitmq.node.fd.used |
rabbitmq.node.fd.used |
RabbitMQ {node} File Descriptors Used | # | Number of file descriptors in use by the node (fd_used) |
rabbitmq.node.sockets.used |
rabbitmq.node.sockets.used |
RabbitMQ {node} Sockets Used | # | Number of sockets in use by the node (sockets_used) |
rabbitmq.node.running |
rabbitmq.node.running |
RabbitMQ {node} Running | # | 1 when the node reports running=true, 0 otherwise |
rabbitmq.node.uptime |
rabbitmq.node.uptime |
RabbitMQ {node} Uptime | ms | Time in milliseconds since the Erlang VM on this node started (uptime) |
rabbitmq.queue.messages.ready |
rabbitmq.queue.messages.ready |
RabbitMQ {vhost}/{queue} Messages Ready | # | Messages ready for delivery in this queue (messages_ready) |
rabbitmq.queue.messages.unacknowledged |
rabbitmq.queue.messages.unacknowledged |
RabbitMQ {vhost}/{queue} Messages Unacknowledged | # | Messages delivered to consumers but not yet acknowledged in this queue (messages_unacknowledged) |
rabbitmq.queue.consumers |
rabbitmq.queue.consumers |
RabbitMQ {vhost}/{queue} Consumers | # | Number of consumers subscribed to this queue (consumers) |