Supported platforms
Prerequisites
- The management plugin enabled on the broker.
- The management port reachable from the internet:
15672for HTTP, usually15671for HTTPS. This is a different port from AMQP (5672). Connections run from CloudThinker Cloud, so a broker on a private network needs one of the options in Reaching private services. - Shell access to the broker (
rabbitmqctl), or your provider’s console, to create a user.
Setup
1
Enable the management plugin
On a self-hosted broker, run:Managed providers usually have it on already. Skip this step if your provider’s console shows a management UI.
2
Create a monitoring user for CloudThinker
Create a dedicated user, tag it The three permission strings are configure, write, and read. Empty configure and write with
monitoring, and give it read permission on each virtual host (vhost) agents should see. A vhost is RabbitMQ’s namespace for queues and exchanges; / is the default one..* read lets the user see everything in the vhost, but it isn’t fully read-only: RabbitMQ lets read permission purge a queue, so this user can still empty one. Deleting queues and exchanges needs configure, which it doesn’t have. Repeat set_permissions for each extra vhost.To keep agents from purging anything, set RABBITMQ_ALLOW_MUTATIONS to Read-only in the next steps.3
Open the network path
Allow inbound traffic from CloudThinker’s egress IPs to With TLS on, use
<host>:15672 (or your TLS management port) in your firewall or security group. These docs don’t publish CloudThinker’s egress IP list: ask your CloudThinker contact, or contact us. On self-hosted brokers, make sure the management listener isn’t bound only to 127.0.0.1.Success state: run this from a machine outside the broker’s network. It returns JSON with rabbitmq_version and cluster_name, which proves both the new user and the network path:https://<host>:15671 instead.4
Add the connection in CloudThinker
In the sidebar, click More → Workspace settings → Connections, stay on the Builtin Connections tab, and select RabbitMQ. Fill in:
- RABBITMQ_USERNAME:
cloudthinker - RABBITMQ_PASSWORD: the password you set
- RABBITMQ_HOST: hostname or IP only, such as
rabbit.internal.example.com - RABBITMQ_MANAGEMENT_PORT:
15672, or your TLS management port - RABBITMQ_USE_TLS: Enabled if the management API serves HTTPS
- RABBITMQ_ALLOW_MUTATIONS: Read-only (recommended). Pick Allow writes only if you need the actions in Write access
- LOG_LEVEL: leave at Info
Connection details
Required permissions
Agent capabilities
Verify the connection
Example prompts
Write access
With RABBITMQ_ALLOW_MUTATIONS set to Allow writes and a user with the right vhost permissions (see Required permissions), agents can:- Purge a queue (drop every message in it)
- Delete a queue or an exchange
- Apply bulk updates to broker definitions (needs
administrator)
Troubleshooting
Connection refused or timed out
Connection refused or timed out
- Check that CloudThinker can reach
<host>:15672(or your TLS management port). - Make sure you opened the management port, not the AMQP port
5672. - On self-hosted brokers, confirm the management listener isn’t bound to
127.0.0.1only.
404 Not Found from the management API
404 Not Found from the management API
The management plugin is off. Run
rabbitmq-plugins enable rabbitmq_management and connect again. On a managed broker, check that the provider exposes the Management HTTP API for your plan.TLS handshake or certificate errors
TLS handshake or certificate errors
RABBITMQ_USE_TLS and RABBITMQ_MANAGEMENT_PORT must agree. Enabled needs the port that serves HTTPS (usually
15671). Disabled needs the plain HTTP port (usually 15672).Host field errors
Host field errors
Put only the hostname or IP in RABBITMQ_HOST. Remove any
http://, https://, path, or :port. TLS and port have their own fields.Some queues or vhosts are missing
Some queues or vhosts are missing
The user lacks read permission on those vhosts. Grant it with
rabbitmqctl set_permissions -p <vhost> cloudthinker "" "" ".*", then ask again.A purge or delete was refused
A purge or delete was refused
Either RABBITMQ_ALLOW_MUTATIONS is Read-only, or the broker user lacks the vhost permission the action needs: read for a purge, configure for a delete. Change whichever you meant to allow. The action still goes through your Approvals.
Security
- Least privilege — grant only the permissions the agents need for your use case; start read-only and widen later.
- Read-only by default — use read-only credentials unless you want agents to make changes through this connection.
- Rotate credentials — rotate keys and tokens on your normal schedule; CloudThinker picks up the new value when you update the connection.
- Revoke on offboarding — remove the credential at the provider when you delete a connection or a teammate leaves.
- Use a dedicated user: create
cloudthinkerfor this connection. Never reuseguestor a personal admin account. - Turn on TLS: with RABBITMQ_USE_TLS set to Enabled, the password and broker data are encrypted between CloudThinker and your broker.
Related
Approvals
Decide which purges and deletes run, wait for a person, or are refused.
Kafka
Connect Kafka for topic health and consumer lag on your streaming side.