Steadybit extension-rabbitmq
A Steadybit extension to integrate Rabbitmq into Steadybit.
Learn about the capabilities of this extension in
our Reliability Hub.
Prerequisites
The extension-rabbitmq is using these capacities through management endpoint and ampq endpoint, thus may need elevated
rights on rabbitmq side :
- List Queues
- Get Queue Metrics
- List Vhosts
- List Nodes
- Publish Messages
- Create / Delete Policies
Configuration
| Environment Variable |
Helm value |
Meaning |
Required |
Default |
STEADYBIT_EXTENSION_MANAGEMENT_ENDPOINTS_JSON |
rabbitmq.managementEndpoints |
JSON array describing all RabbitMQ clusters and their management and AMQP endpoints. Each object must include url, username, password, and an amqp object with its own connection parameters. |
yes |
|
|
|
Example:
[{"url":"https://mq-0.ns.svc:15672","username":"admin","password":"s3cr3t","amqp":{"url":"amqps://mq-0.ns.svc:5671","vhost":"/","insecureSkipVerify":false}}] |
|
|
STEADYBIT_EXTENSION_DISCOVERY_INTERVAL_VHOST_SECONDS |
discovery.interval.vhost |
Interval (in seconds) for discovering RabbitMQ cluster nodes. |
no |
30 |
STEADYBIT_EXTENSION_DISCOVERY_INTERVAL_NODE_SECONDS |
discovery.interval.node |
Interval (in seconds) for discovering RabbitMQ vhosts. |
no |
30 |
STEADYBIT_EXTENSION_DISCOVERY_INTERVAL_QUEUE_SECONDS |
discovery.interval.queue |
Interval (in seconds) for discovering RabbitMQ queues. |
no |
120 |
STEADYBIT_EXTENSION_DISCOVERY_ATTRIBUTES_EXCLUDES_VHOSTS |
discovery.attributes.excludes.vhost |
List of Vhost attributes to exclude during discovery. Checked by key equality and supporting trailing "*". |
no |
|
STEADYBIT_EXTENSION_DISCOVERY_ATTRIBUTES_EXCLUDES_QUEUES |
discovery.attributes.excludes.queue |
List of Queue attributes to exclude during discovery. Checked by key equality and supporting trailing "*". |
no |
|
The extension supports all environment variables provided
by steadybit/extension-kit.
Installation
Using Docker
docker run \
--rm \
-p 8083 \
--name steadybit-extension-rabbitmq \
--env STEADYBIT_EXTENSION_MANAGEMENT_ENDPOINTS_JSON='[{"url":"http://localhost:15672","username":"guest","password":"guest","amqp":{"url":"amqp://localhost:5672","vhost":"/"}}]' \
ghcr.io/steadybit/extension-rabbitmq:latest
Using Helm in Kubernetes
helm repo add steadybit-extension-rabbitmq https://steadybit.github.io/extension-rabbitmq
helm repo update
helm upgrade steadybit-extension-rabbitmq \
--install \
--wait \
--timeout 5m0s \
--create-namespace \
--namespace steadybit-agent \
--set 'rabbitmq.managementEndpoints=[{"url":"http://localhost:15672","username":"guest","password":"guest","amqp":{"url":"amqp://localhost:5672","vhost":"/"}}]' \
steadybit-extension-rabbitmq/steadybit-extension-rabbitmq
Register the extension
Make sure to register the extension on the Steadybit platform. Please refer to
the documentation for more
information.
Version and Revision
The version and revision of the extension:
- are printed during the startup of the extension
- are added as a Docker label to the image
- are available via the
version.txt/revision.txt files in the root of the image