RabbitMQ Receiver
This receiver fetches stats from a RabbitMQ node using the RabbitMQ Management Plugin.
🚧 This receiver is in BETA. Configuration fields and metric data model are subject to change.
Prerequisites
This receiver supports RabbitMQ versions 3.8
and 3.9
.
The RabbitMQ Management Plugin must be enabled by following the official instructions.
Also, a user with at least monitoring level permissions must be used for monitoring.
Configuration
The following settings are required:
The following settings are optional:
Example Configuration
receivers:
rabbitmq:
endpoint: http://localhost:15672
username: otelu
password: ${env:RABBITMQ_PASSWORD}
collection_interval: 10s
metrics: # Enable node metrics by explicitly setting them to true
rabbitmq.node.disk_free:
enabled: true
rabbitmq.node.disk_free_limit:
enabled: true
rabbitmq.node.disk_free_alarm:
enabled: true
rabbitmq.node.mem_used:
enabled: true
rabbitmq.node.mem_limit:
enabled: true
rabbitmq.node.mem_alarm:
enabled: true
rabbitmq.node.fd_used:
enabled: true
rabbitmq.node.fd_total:
enabled: true
rabbitmq.node.sockets_used:
enabled: true
rabbitmq.node.sockets_total:
enabled: true
rabbitmq.node.proc_used:
enabled: true
rabbitmq.node.proc_total:
enabled: true
rabbitmq.node.disk_free_details.rate:
enabled: true
rabbitmq.node.fd_used_details.rate:
enabled: true
rabbitmq.node.mem_used_details.rate:
enabled: true
rabbitmq.node.proc_used_details.rate:
enabled: true
rabbitmq.node.sockets_used_details.rate:
enabled: true
The full list of settings exposed for this receiver are documented in config.go with detailed sample configurations in testdata/config.yaml. TLS config is documented further under the opentelemetry collector's configtls package.
Metrics
This receiver collects RabbitMQ node-level metrics from the /api/nodes
endpoint. Metrics are categorized into the following groups:
- Memory usage:
rabbitmq.node.mem_used
, rabbitmq.node.mem_limit
, rabbitmq.node.mem_alarm
- Disk space:
rabbitmq.node.disk_free
, rabbitmq.node.disk_free_limit
, rabbitmq.node.disk_free_alarm
- File descriptors & sockets:
rabbitmq.node.fd_used
, rabbitmq.node.sockets_used
, etc.
- Process & scheduling:
rabbitmq.node.proc_used
, rabbitmq.node.run_queue
, rabbitmq.node.context_switches
- Garbage collection & I/O:
rabbitmq.node.gc.num
, rabbitmq.node.io_read_avg_time
, etc.
- Cluster & node metadata:
rabbitmq.node.uptime
, rabbitmq.node.processors
, etc.
Details about the metrics produced by this receiver and full list of supported metrics can be found in metadata.yaml