RabbitMQ monitoring with Netdata
Collects message broker global and per virtual host metrics.
Following charts are drawn:
Queued Messages
- ready
- unacknowledged
Message Rates
- ack
- redelivered
- deliver
- publish
Global Counts
- channels
- consumers
- connections
- queues
- exchanges
File Descriptors
- used descriptors
Socket Descriptors
- used descriptors
Erlang processes
- used processes
Erlang run queue
- Erlang run queue
Memory
- free memory in megabytes
Disk Space
- free disk space in gigabytes
Per Vhost charts:
Vhost Messages
- ack
- confirm
- deliver
- get
- get_no_ack
- publish
- redeliver
- return_unroutable
Per Queue charts:
Queued Messages
- messages
- paged_out
- persistent
- ready
- unacknowledged
Queue Messages stats
- ack
- confirm
- deliver
- get
- get_no_ack
- publish
- redeliver
- return_unroutable
Configuration
Edit the python.d/rabbitmq.conf
configuration file using edit-config
from the Netdata config
directory, which is typically at /etc/netdata
.
cd /etc/netdata # Replace this path with your Netdata config directory, if different
sudo ./edit-config python.d/rabbitmq.conf
When no configuration file is found, module tries to connect to: localhost:15672
.
socket:
name : 'local'
host : '127.0.0.1'
port : 15672
user : 'guest'
pass : 'guest'
Per-Queue Chart configuration
RabbitMQ users with the "monitoring" tag cannot see all queue data. You'll need a user with read permissions. To create a dedicated user for netdata:
rabbitmqctl add_user netdata ChangeThisSuperSecretPassword
rabbitmqctl set_permissions netdata "^$" "^$" ".*"
See set_permissions for details.
Once the user is set up, add collect_queues_metrics: yes
to your rabbitmq.conf
:
local:
name : 'local'
host : '127.0.0.1'
port : 15672
user : 'netdata'
pass : 'ChangeThisSuperSecretPassword'
collect_queues_metrics : 'yes'
Was this page helpful?
Contribute
- Join our community forum
- Learn how to contribute to Netdata's open-source project
- Submit a feature request