15672) — the same API the RabbitMQ management UI uses — so no AMQP client setup is required.
Supported Platforms
| Platform | Support |
|---|---|
| Self-hosted RabbitMQ | 3.8+ with the management plugin enabled |
| Managed RabbitMQ | CloudAMQP and other providers exposing the Management HTTP API |
Prerequisites
- A RabbitMQ broker reachable from CloudThinker on its management port (default
15672, or15671for HTTPS). - The management plugin enabled. On self-hosted brokers:
- A broker user with the
monitoringoradministratortag, so the Management HTTP API returns queue, node, and cluster data.
The
monitoring tag is enough for all read and health-check capabilities. Only grant administrator if you want the agent to run the gated write operations (purge/delete queues, delete exchanges, update definitions) — these always require in-app approval. See Required Permissions.Setup
Enable the Management Plugin
On a self-hosted broker, enable the management plugin and confirm it is listening:Managed providers such as CloudAMQP expose the Management HTTP API by default — skip to the next step.
Create a Monitoring User
Create a dedicated user for CloudThinker and tag it The
monitoring:monitoring tag grants read access to all queues, exchanges, nodes, and cluster health across virtual hosts.Confirm Network Access
Ensure CloudThinker can reach the broker at
<host>:15672 (or <host>:15671 for TLS). Open the management port on your firewall or security group for CloudThinker’s egress.Add Connection in CloudThinker
Navigate to Connections → RabbitMQ and enter:
- Username: the broker user (e.g.
cloudthinker) - Password: the user’s password
- Host: the broker hostname or IP (host only — no scheme or port)
- Management Port: the management API port (default
15672) - Use TLS: enable for an HTTPS management API and AMQPS
- Log Level: connector log verbosity (
infoby default)
Connection Details
| Field | Description | Default |
|---|---|---|
| RABBITMQ_USERNAME | Broker user with the monitoring or administrator tag | — |
| RABBITMQ_PASSWORD | Password for the broker user | — |
| RABBITMQ_HOST | Broker hostname or IP (no scheme, no port) | — |
| RABBITMQ_MANAGEMENT_PORT | Management HTTP API port | 15672 |
| RABBITMQ_USE_TLS | Disabled for HTTP + AMQP, Enabled for HTTPS + AMQPS | Disabled |
| LOG_LEVEL | Connector log verbosity: debug, info, warn, error | info |
The management API listens on
15672 for HTTP and 15671 for HTTPS. When you enable Use TLS, set Management Port to your TLS management port.Required Permissions
The connecting user needs a management tag so the HTTP API returns broker data:| Tag | What It Unlocks |
|---|---|
monitoring | Read access to queues, exchanges, bindings, connections, channels, nodes, cluster, and health checks — covers all monitoring and diagnostic capabilities. |
administrator | Everything monitoring provides, plus the gated write operations (purge/delete queue, delete exchange, update definition). |
Write Operations Require Approval
This connection has four mutative tools enabled. They are always gated behind in-app approval — the agent must request your confirmation before any of them run:delete_queue— delete a queuepurge_queue— drop all messages in a queuedelete_exchange— delete an exchangeupdate_definition— modify broker definitions
administrator tag with write permissions on the target virtual host.
Agent Capabilities
Once connected, Tony can:| Capability | Description |
|---|---|
| Queue Depth & Message Rates | Snapshot queue depth, ready vs. unacked, and publish/deliver rates |
| Consumer Lag | Identify queues with high consumer lag or zero consumers |
| Dead-Letter Analysis | Inspect dead-letter queues for poison messages and error patterns |
| Cluster & Node Health | Check node status, local and global alarms, and quorum-critical queues |
| Alarm & Certificate Checks | Detect brokers in alarm and certificates nearing expiration |
| Gated Write Operations | Purge or delete queues, delete exchanges, and update definitions — each requires in-app approval |
Example Prompts
Troubleshooting
Connection refused or timeout
Connection refused or timeout
- Verify the broker is reachable from CloudThinker at
<host>:15672(or your TLS management port). - Confirm the management port — not the AMQP port
5672— is open on your firewall or security group. - For self-hosted brokers, ensure RabbitMQ is bound to an accessible interface, not just
127.0.0.1.
404 Not Found on the management API
404 Not Found on the management API
The management plugin is not enabled. Run
rabbitmq-plugins enable rabbitmq_management and retry. On managed providers, confirm the Management HTTP API is exposed for your instance.401 Unauthorized
401 Unauthorized
TLS handshake or certificate errors
TLS handshake or certificate errors
- Make sure Use TLS matches the broker: enable it only when the management API serves HTTPS (typically port
15671). - If Use TLS is enabled but the port serves plain HTTP (or vice versa), the connection fails — align the toggle and Management Port.
Empty or partial results
Empty or partial results
- The
monitoringuser may lack permissions on some virtual hosts. Grant read permissions on the vhosts you want visible:rabbitmqctl set_permissions -p <vhost> <user> "" "" ".*".
Security Best Practices
- Least-privilege tag — Use a
monitoring-tagged user for read-only investigation; reserveadministratorfor when gated writes are needed. - Dedicated user — Create a separate CloudThinker user instead of reusing the
guestor admin account. - Strong passwords — Use a complex, unique password and rotate it regularly.
- TLS encryption — Enable Use TLS so management API traffic is encrypted in transit.
- Network restrictions — Restrict the management port to CloudThinker’s egress via firewall rules or security groups; keep brokers off the public internet.
- Approval-gated writes — Destructive operations always require in-app approval; review each request before confirming.
Related
Tony Agent
Database-focused monitoring and optimization agent
Kafka Connection
Setup instructions for Apache Kafka streaming