RabbitMQ Config Generator

Design production-oriented rabbitmq.conf files for durable messaging, clustering, and strict management UI security.

RabbitMQ Version

Networking & Security

Default is 5672. Set to 'none' to disable plaintext AMQP.

Management & Telemetry

Default is 15672.

Resource Limits

Fraction of RAM (0.4 = 40%). RabbitMQ blocks publishers if it exceeds this.

e.g., 50MB, 2GB. RabbitMQ blocks publishers if disk drops below this.

rabbitmq.conf
1

Overview

RabbitMQ is the most widely deployed open-source message broker. Configuring rabbitmq.conf correctly is essential for preventing out-of-memory crashes, securing the Management UI, and ensuring reliable message delivery across clustered nodes.

Resource Limits

Configure memory watermarks and disk free limits to prevent broker crashes under heavy load.

Clustering

Set up peer discovery backends for Kubernetes, AWS, or static configs, and handle network partitions.

Management UI

Secure the HTTP API and Management Dashboard, and load pre-configured definitions.json files.

Production Checklist

  • Delete the Guest User: In production, immediately delete the default 'guest' user and create dedicated users with strict virtual host (vhost) permissions.
  • Enable Prometheus: Always enable the rabbitmq_prometheus plugin to export critical metrics (queue depth, memory, file descriptors) to Grafana.
  • Use TLS for AMQP: If clients connect over the internet, enable TLS on port 5671 and disable plaintext AMQP on port 5672.
  • Backup Definitions: Use the management.load_definitions feature to treat your exchanges, queues, and bindings as Infrastructure as Code.