DrDroid
Resource Cheatsheet

RabbitMQ

Quick reference guide and commands for RabbitMQ.

Download PDF

Connection

rabbitmqctl status
Check server status

rabbitmq-plugins enable rabbitmq_management
Enable management plugin

rabbitmqadmin --host=HOST --port=PORT --username=USER --password=PASS list queues
Connect to server using management CLI

Queue Management

rabbitmqctl list_queues
List all queues

rabbitmqctl list_queues name messages_ready messages_unacknowledged
Show queue stats

rabbitmqctl purge_queue QUEUE_NAME
Purge all messages from a queue

rabbitmqadmin declare queue name=QUEUE_NAME
Create a new queue

Exchange Management

rabbitmqctl list_exchanges
List all exchanges

rabbitmqadmin declare exchange name=EXCHANGE_NAME type=direct/fanout/topic/headers
Create a new exchange

rabbitmqadmin delete exchange name=EXCHANGE_NAME
Delete an exchange

Binding Management

rabbitmqctl list_bindings
List all bindings

rabbitmqadmin declare binding source=EXCHANGE_NAME destination=QUEUE_NAME routing_key=KEY
Create a binding

User Management

rabbitmqctl add_user USERNAME PASSWORD
Add a new user

rabbitmqctl list_users
List all users

rabbitmqctl set_user_tags USERNAME administrator
Give a user admin privileges

rabbitmqctl set_permissions -p / USERNAME ".*" ".*" ".*"
Grant user permissions

Cluster Management

rabbitmqctl cluster_status
Show cluster status

rabbitmqctl join_cluster rabbit@HOSTNAME
Join a node to a cluster

rabbitmqctl forget_cluster_node rabbit@HOSTNAME
Remove a node from cluster

Monitoring

rabbitmqctl list_connections
List all connections

rabbitmqctl list_channels
List all channels

rabbitmqctl list_consumers
List all consumers

rabbitmqctl environment
Show environment information

Troubleshooting

rabbitmqctl report
Generate a server report

rabbitmqctl eval 'rabbit_diagnostics:maybe_stuck().'
Check for stuck processes

rabbitmqctl shutdown
Gracefully shutdown the node