RabbitMQ cheatsheet
Service and ports
| Check | Description |
|---|---|
systemctl status rabbitmq-server | Broker service |
ss -tlnp | grep 5672 | AMQP port |
ss -tlnp | grep 15672 | Management UI port |
rabbitmq-diagnostics ping | Node responding? |
rabbitmqctl — status
| Command | Description |
|---|---|
rabbitmqctl status | Node info, memory, alarms |
rabbitmqctl list_queues name messages consumers | Queue depth and consumers |
rabbitmqctl list_queues name messages_ready messages_unacknowledged | Ready vs unacked |
rabbitmqctl list_connections | Active connections |
rabbitmqctl list_consumers | Which queues have consumers |
rabbitmqctl list_exchanges name type | Exchanges |
Users and vhosts
rabbitmqctl add_user myuser secret
rabbitmqctl set_permissions -p / myuser ".*" ".*" ".*"
rabbitmqctl set_user_tags myuser administrator
rabbitmqctl list_users
rabbitmqctl list_vhosts
Management plugin (dashboard)
rabbitmq-plugins enable rabbitmq_management
rabbitmq-plugins list
# Browser: http://HOST:15672
# Overview → message rates, alarms
# Queues → Ready / Unacked / Total — watch for steady growth
# Admin → Users, vhosts, policies
HTTP API (scripting)
# Queue overview (needs management plugin)
curl -s -u user:pass http://localhost:15672/api/queues | jq '.[].name, .[].messages'
# Single queue
curl -s -u user:pass http://localhost:15672/api/queues/%2F/myqueue | jq '{messages, consumers}'
Policies
# Max queue length (drop or reject publish when full)
rabbitmqctl set_policy maxlen ".*" '{"max-length":100000}' --apply-to queues
# Message TTL (ms)
rabbitmqctl set_policy ttl "^temp\." '{"message-ttl":3600000}' --apply-to queues
Purge and admin (careful)
| Command | Description |
|---|---|
rabbitmqctl purge_queue QUEUE -p / | Delete all messages in queue |
rabbitmqctl delete_queue QUEUE -p / | Remove queue |
rabbitmqctl close_connection "127.0.0.1:port" "reason" | Force-close connection |
Diagnostics
| Command | Description |
|---|---|
rabbitmq-diagnostics check_running | Is app running? |
rabbitmq-diagnostics memory_breakdown | Memory use by category |
rabbitmq-diagnostics check_alarms | Memory/disk alarms active? |
tail -f /var/log/rabbitmq/rabbit@hostname.log | Follow node log |
Pro tips
- Open the dashboard first — queue graphs expose backlog instantly
- Queue Ready always climbing → add/fix consumers before disk fills
- High Unacked → slow handlers or missing acks; check prefetch
guestonly works from localhost — create users for remote apps- Set max-length or DLX policies before a runaway queue takes the node down
Practice scenarios
Hands-on RabbitMQ scenarios on live Linux VMs: rabbitmq