abhilashthale.tech
  • Home
  • Modern Blog
  • BlogCategories
    • coding
    • other
    • n
  • Images to Pdf
  • My Files
  • Shares Average
  • About Me
  • Server Stats
  • Day
  • Night
  • Birds
  • Waves
  • Net
  • Dots
  • Halo
  • Rings
  • Fog
  • Clouds

    Rabbitmq Command Cheat Sheet

    by abhilashthale - Oct. 7, 2026

    RABBITMQ COMMAND CHEAT SHEET

     

    ==================================================

     

    1. SERVICE MANAGEMENT

       ==================================================

     

    Start:

    systemctl start rabbitmq-server

     

    Stop:

    systemctl stop rabbitmq-server

     

    Restart:

    systemctl restart rabbitmq-server

     

    Status:

    systemctl status rabbitmq-server

     

    Enable at boot:

    systemctl enable rabbitmq-server

     

    Enable + start:

    systemctl enable --now rabbitmq-server

     

    ==================================================

    2. BASIC HEALTH

     

    Check RabbitMQ alive:

    rabbitmq-diagnostics ping

     

    Node status:

    rabbitmq-diagnostics status

     

    Check listeners:

    rabbitmq-diagnostics listeners

     

    Check alarms:

    rabbitmq-diagnostics alarms

     

    ==================================================

    3. CLUSTER

     

    Cluster status:

    rabbitmqctl cluster_status

     

    Stop RabbitMQ application:

    rabbitmqctl stop_app

     

    Start RabbitMQ application:

    rabbitmqctl start_app

     

    Join cluster:

    rabbitmqctl join_cluster rabbit@rabbit1

     

    Leave/reset node:

    rabbitmqctl stop_app

    rabbitmqctl reset

    rabbitmqctl start_app

     

    IMPORTANT:

    reset removes the node's existing cluster membership/data.

    Use carefully.

     

    ==================================================

    4. USERS

     

    Add user:

    rabbitmqctl add_user appuser 'StrongPassword'

     

    List users:

    rabbitmqctl list_users

     

    Change password:

    rabbitmqctl change_password appuser 'NewPassword'

     

    Delete user:

    rabbitmqctl delete_user appuser

     

    ==================================================

    5. USER TAGS

     

    Administrator:

    rabbitmqctl set_user_tags appuser administrator

     

    Monitoring:

    rabbitmqctl set_user_tags appuser monitoring

     

    Remove tags:

    rabbitmqctl set_user_tags appuser

     

    ==================================================

    6. VHOSTS

     

    Create:

    rabbitmqctl add_vhost /production

     

    List:

    rabbitmqctl list_vhosts

     

    Delete:

    rabbitmqctl delete_vhost /production

     

    ==================================================

    7. PERMISSIONS

     

    Set permissions:

     

    rabbitmqctl set_permissions -p /production appuser "." "." ".*"

     

    Order:

     

    configure

    write

    read

     

    List permissions:

     

    rabbitmqctl list_permissions -p /production

     

    List user's permissions:

     

    rabbitmqctl list_user_permissions appuser

     

    Clear permissions:

     

    rabbitmqctl clear_permissions -p /production appuser

     

    ==================================================

    8. EXCHANGES

     

    List exchanges:

     

    rabbitmqctl list_exchanges

     

    Create using rabbitmqadmin:

     

    rabbitmqadmin declare exchange 

    name=smsapp 

    type=topic 

    durable=true

     

    Direct:

     

    rabbitmqadmin declare exchange 

    name=my.direct 

    type=direct 

    durable=true

     

    Fanout:

     

    rabbitmqadmin declare exchange 

    name=my.fanout 

    type=fanout 

    durable=true

     

    Headers:

     

    rabbitmqadmin declare exchange 

    name=my.headers 

    type=headers 

    durable=true

     

    ==================================================

    9. QUEUES

     

    List queues:

     

    rabbitmqctl list_queues

     

    Detailed queue information:

     

    rabbitmqctl list_queues 

    name messages messages_ready messages_unacknowledged

     

    Create queue:

     

    rabbitmqadmin declare queue 

    name=sms.email 

    durable=true

     

    Delete queue:

     

    rabbitmqadmin delete queue name=sms.email

     

    ==================================================

    10. BINDINGS

     

    List bindings:

     

    rabbitmqctl list_bindings

     

    Create direct binding:

     

    rabbitmqadmin declare binding 

    source=my.direct 

    destination=sms.email 

    destination_type=queue 

    routing_key=sms.email

     

    Create topic binding:

     

    rabbitmqadmin declare binding 

    source=smsapp 

    destination=sms.email 

    destination_type=queue 

    routing_key=sms.email

     

    Topic wildcard:

     

    routing_key='sms.*'

     

    or:

     

    routing_key='sms.#'

     

    IMPORTANT:

     

    Direct exchange:

    Exact match.

     

    Topic exchange:

     

    * = one word

     

    = zero or more words

     

    ==================================================

    11. PUBLISH MESSAGE

     

    Publish:

     

    rabbitmqadmin publish 

    exchange=smsapp 

    routing_key=sms.email 

    payload="Hello RabbitMQ"

     

    Default exchange:

     

    rabbitmqadmin publish 

    exchange= 

    routing_key=sms.email 

    payload="Hello"

     

    ==================================================

    12. CONSUMERS

     

    List consumers:

     

    rabbitmqctl list_consumers

     

    Useful for checking:

     

    - queue

    - consumer

    - channel

    - ACK mode

    - prefetch

    - consumer state

     

    ==================================================

    13. CONNECTIONS

     

    List connections:

     

    rabbitmqctl list_connections

     

    Useful information:

     

    - user

    - vhost

    - peer host

    - peer port

    - state

    - channels

     

    ==================================================

    14. CHANNELS

     

    List channels:

     

    rabbitmqctl list_channels

     

    Useful for:

     

    - channel count

    - connection

    - consumer information

    - unacked messages

    - channel state

     

    ==================================================

    15. QUEUE MONITORING

     

    Basic:

     

    rabbitmqctl list_queues

     

    Important:

     

    rabbitmqctl list_queues 

    name messages messages_ready messages_unacknowledged

     

    Meaning:

     

    messages

    = total messages

     

    messages_ready

    = waiting for consumers

     

    messages_unacknowledged

    = delivered but not ACKed

     

    ==================================================

    16. POLICIES

     

    List policies:

     

    rabbitmqctl list_policies

     

    Set policy example:

     

    rabbitmqctl set_policy my-policy 

    "^sms." 

    '{"message-ttl":60000}' 

    --apply-to queues

     

    Delete:

     

    rabbitmqctl clear_policy my-policy

     

    ==================================================

    17. PARAMETERS

     

    List parameters:

     

    rabbitmqctl list_parameters

     

    Used for things such as:

     

    - federation upstreams

    - other dynamic configuration

     

    ==================================================

    18. FEDERATION

     

    Check plugin:

     

    rabbitmq-plugins list | grep federation

     

    Enable:

     

    rabbitmq-plugins enable rabbitmq_federation

     

    Enable management federation UI/plugin if needed:

     

    rabbitmq-plugins enable rabbitmq_federation_management

     

    List parameters:

     

    rabbitmqctl list_parameters

     

    Federation status:

     

    rabbitmqctl federation_status

     

    Set upstream example:

     

    rabbitmqctl set_parameter federation-upstream clusterA 

    '{"uri":"amqp://user:password@192.168.241.131:5672/%2f","prefetch-count":1000,"reconnect-delay":5}'

     

    Federation policy example:

     

    rabbitmqctl set_policy federate-sms 

    "^smsapp$" 

    '{"federation-upstream-set":"all"}' 

    --priority 10 

    --apply-to exchanges

     

    ==================================================

    19. PLUGINS

     

    List plugins:

     

    rabbitmq-plugins list

     

    Enable plugin:

     

    rabbitmq-plugins enable PLUGIN_NAME

     

    Disable:

     

    rabbitmq-plugins disable PLUGIN_NAME

     

    ==================================================

    20. TLS / NETWORK

     

    Check listening ports:

     

    ss -lntp

     

    Filter RabbitMQ ports:

     

    ss -lntp | grep -E 

    '4369|5671|5672|15671|15672|25672'

     

    Check RabbitMQ listeners:

     

    rabbitmq-diagnostics listeners

     

    Test AMQP port:

     

    nc -zv 192.168.241.131 5672

     

    Test AMQP TLS:

     

    nc -zv 192.168.241.131 5671

     

    Test Erlang distribution:

     

    nc -zv 192.168.241.131 25672

     

    Check EPMD:

     

    epmd -names

     

    ==================================================

    21. TLS CERTIFICATE TESTING

     

    AMQP TLS:

     

    openssl s_client 

    -connect 192.168.241.131:5671 

    -showcerts

     

    With hostname/SNI:

     

    openssl s_client 

    -connect rabbitmq.example.com:5671 

    -servername rabbitmq.example.com

     

    ==================================================

    22. LOGS

     

    Follow RabbitMQ logs:

     

    journalctl -u rabbitmq-server -f

     

    Recent logs:

     

    journalctl -u rabbitmq-server

     

    Last 100 lines:

     

    journalctl -u rabbitmq-server -n 100

     

    Since today:

     

    journalctl -u rabbitmq-server --since today

     

    ==================================================

    23. RESOURCE / ALARM TROUBLESHOOTING

     

    Check alarms:

     

    rabbitmq-diagnostics alarms

     

    Check node status:

     

    rabbitmq-diagnostics status

     

    Check disk:

     

    df -h

     

    Check memory:

     

    free -h

     

    Check processes:

     

    ps -ef | grep rabbitmq

     

    ==================================================

    24. QUORUM QUEUE

     

    Create quorum queue:

     

    rabbitmqadmin declare queue 

    name=sms.quorum 

    durable=true 

    arguments='{"x-queue-type":"quorum"}'

     

    List queues and type:

     

    rabbitmqctl list_queues name type

     

    ==================================================

    25. DLX / DLQ

     

    Create DLX:

     

    rabbitmqadmin declare exchange 

    name=sms.dlx 

    type=direct 

    durable=true

     

    Create DLQ:

     

    rabbitmqadmin declare queue 

    name=sms.dlq 

    durable=true

     

    Bind DLQ:

     

    rabbitmqadmin declare binding 

    source=sms.dlx 

    destination=sms.dlq 

    destination_type=queue 

    routing_key=dead

     

    Create main queue with DLX:

     

    rabbitmqadmin declare queue 

    name=sms.email 

    durable=true 

    arguments='{"x-dead-letter-exchange":"sms.dlx","x-dead-letter-routing-key":"dead"}'

     

    ==================================================

    26. RETRY QUEUE

     

    Retry queue:

     

    rabbitmqadmin declare queue 

    name=sms.retry 

    durable=true 

    arguments='{"x-message-ttl":30000,"x-dead-letter-exchange":"smsapp","x-dead-letter-routing-key":"sms.email"}'

     

    Meaning:

     

    30,000 ms = 30 seconds TTL.

     

    After expiry:

    retry queue

    ↓

    main exchange

    ↓

    main queue

     

    ==================================================

    27. RABBITMQADMIN

     

    List queues:

     

    rabbitmqadmin list queues

     

    List queue details:

     

    rabbitmqadmin list queues 

    name messages messages_ready messages_unacknowledged

     

    List exchanges:

     

    rabbitmqadmin list exchanges

     

    List bindings:

     

    rabbitmqadmin list bindings

     

    List connections:

     

    rabbitmqadmin list connections

     

    List consumers:

     

    rabbitmqadmin list consumers

     

    ==================================================

    28. RABBITMQCTL vs RABBITMQADMIN

     

    rabbitmqctl:

    Main CLI for RabbitMQ node administration.

     

    Examples:

     

    rabbitmqctl cluster_status

    rabbitmqctl list_users

    rabbitmqctl list_queues

    rabbitmqctl list_connections

     

    rabbitmqadmin:

    Management HTTP/API-oriented administration tool.

     

    Examples:

     

    rabbitmqadmin declare queue

    rabbitmqadmin declare exchange

    rabbitmqadmin declare binding

    rabbitmqadmin publish

     

    ==================================================

    29. FAST TROUBLESHOOTING COMMAND FLOW

     

    RabbitMQ problem:

     

    1. Is it alive?

     

    rabbitmq-diagnostics ping

     

    2. Node status?

     

    rabbitmq-diagnostics status

     

    3. Cluster?

     

    rabbitmqctl cluster_status

     

    4. Listeners?

     

    rabbitmq-diagnostics listeners

     

    5. Alarms?

     

    rabbitmq-diagnostics alarms

     

    6. Queue?

     

    rabbitmqctl list_queues 

    name messages messages_ready messages_unacknowledged

     

    7. Consumers?

     

    rabbitmqctl list_consumers

     

    8. Connections?

     

    rabbitmqctl list_connections

     

    9. Channels?

     

    rabbitmqctl list_channels

     

    10. Logs?

     

    journalctl -u rabbitmq-server -f

     

    11. Network?

     

    ss -lntp

    nc -zv <host> <port>

     

    12. Disk?

     

    df -h

     

    13. Memory?

     

    free -h

     

    ==================================================

    30. MOST IMPORTANT COMMANDS TO MEMORIZE

     

    rabbitmq-diagnostics ping

    rabbitmq-diagnostics status

    rabbitmq-diagnostics listeners

    rabbitmq-diagnostics alarms

     

    rabbitmqctl cluster_status

     

    rabbitmqctl list_queues

    rabbitmqctl list_consumers

    rabbitmqctl list_connections

    rabbitmqctl list_channels

    rabbitmqctl list_bindings

    rabbitmqctl list_exchanges

     

    rabbitmqctl list_users

    rabbitmqctl list_vhosts

    rabbitmqctl list_permissions -p /

     

    rabbitmqctl list_policies

    rabbitmqctl list_parameters

     

    rabbitmqctl federation_status

     

    rabbitmq-plugins list

     

    journalctl -u rabbitmq-server -f

    ss -lntp

    df -h

    free -h

     

    ==================================================

    FAST MEMORY TRICK

     

    HEALTH:

    ping → status → listeners → alarms

     

    CLUSTER:

    cluster_status

     

    QUEUE:

    list_queues

     

    CONSUMER:

    list_consumers

     

    CONNECTION:

    list_connections

     

    CHANNEL:

    list_channels

     

    ROUTING:

    list_exchanges → list_bindings

     

    SECURITY:

    list_users → list_vhosts → list_permissions

     

    FEDERATION:

    list_parameters → federation_status

     

    NETWORK:

    ss → nc → epmd

     

    LOGS:

    journalctl

     

    RESOURCES:

    alarms → free → df

abhilashthale.tech