SadServers
  • Scenarios
  • Labs
    All Labs Linux & Bash Web Servers Databases Data Processing Docker Kubernetes CI/CD Infrastructure as Code Tooling / Applications
  • Dashboard
  • Solutions
    For Individuals For Businesses
  • Ranking
  • Newsletter
  • Documentation
    FAQ Support Pro Accounts Pro+ Accounts Business Accounts Gift API CLI/TUI Privacy Troubleshooting Interviews
  • Blog
  • Pricing
  • Gift
    Gift Purchase Gift Redeem
  • About
Log In - Sign Up
  1. Labs
  2. RabbitMQ
  3. Cheatsheet

Guide

Concepts and learning path

Troubleshooting

Failure modes and fixes

Cheatsheet

Commands to keep handy

RabbitMQ cheatsheet

Service and ports

CheckDescription
systemctl status rabbitmq-serverBroker service
ss -tlnp | grep 5672AMQP port
ss -tlnp | grep 15672Management UI port
rabbitmq-diagnostics pingNode responding?

rabbitmqctl — status

CommandDescription
rabbitmqctl statusNode info, memory, alarms
rabbitmqctl list_queues name messages consumersQueue depth and consumers
rabbitmqctl list_queues name messages_ready messages_unacknowledgedReady vs unacked
rabbitmqctl list_connectionsActive connections
rabbitmqctl list_consumersWhich queues have consumers
rabbitmqctl list_exchanges name typeExchanges

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)

CommandDescription
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

CommandDescription
rabbitmq-diagnostics check_runningIs app running?
rabbitmq-diagnostics memory_breakdownMemory use by category
rabbitmq-diagnostics check_alarmsMemory/disk alarms active?
tail -f /var/log/rabbitmq/rabbit@hostname.logFollow 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
  • guest only 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

SadServersSadServers

Real-world Linux and DevOps scenarios for hands-on learning and technical assessment.

Uptime Robot ratio (30 days)
Product
  • Scenarios
  • For Individuals
  • For Businesses
  • Pricing
Resources
  • FAQ
  • Blog
  • Newsletter
Company
  • About Us
  • Support
  • Privacy Policy
  • Terms of Service
  • Contact
Connect With Us
info@sadservers.com

Made in Canada 🇨🇦
Updated: 2026-06-13 16:06 UTC – 2d2950a