ワンクリックで
rabbitmq-admin
RabbitMQ 4.1.4 administration including streams, AMQP, topology management, and troubleshooting
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
RabbitMQ 4.1.4 administration including streams, AMQP, topology management, and troubleshooting
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
| name | rabbitmq-admin |
| description | RabbitMQ 4.1.4 administration including streams, AMQP, topology management, and troubleshooting |
| license | MIT |
| compatibility | opencode |
| metadata | {"messaging":"rabbitmq","version":"4.1.4","protocols":"streams,amqp,management"} |
Provide comprehensive guidance for administering RabbitMQ 4.1.4 in the crypto-scout ecosystem, including Streams, AMQP, topology configuration, and operational tasks.
High-throughput, append-only log messaging with:
Traditional message queuing with:
Web-based administration interface:
| Exchange | Type | Purpose |
|---|---|---|
crypto-scout-exchange | direct | Main message routing |
dlx-exchange | direct | Dead letter handling |
| Stream | Retention | Max Size | Segment Size | Purpose |
|---|---|---|---|---|
bybit-stream | 1 day | 2GB | 100MB | Bybit market data |
crypto-scout-stream | 1 day | 2GB | 100MB | CMC/parser data |
Stream retention policy (stream-retention):
.*-stream$| Queue | Type | Arguments | Purpose |
|---|---|---|---|
collector-queue | Classic | lazy, TTL 6h, max 2500, reject-publish, DLX | Control messages |
chatbot-queue | Classic | lazy, TTL 6h, max 2500, reject-publish, DLX | Notifications |
dlx-queue | Classic | lazy, max 10k, TTL 7d | Dead letters |
Queue arguments:
collector-queue / chatbot-queue:
dlx-queue:
| Source | Routing Key | Destination |
|---|---|---|
| crypto-scout-exchange | bybit | bybit-stream |
| crypto-scout-exchange | crypto-scout | crypto-scout-stream |
| crypto-scout-exchange | collector | collector-queue |
| crypto-scout-exchange | chatbot | chatbot-queue |
| dlx-exchange | dlx | dlx-queue |
Declarative topology configuration loaded at startup via:
load_definitions = /etc/rabbitmq/definitions.json
Structure:
{
"vhosts": [{"name": "/"}],
"exchanges": [...],
"queues": [...],
"bindings": [...],
"policies": [...]
}
Key settings:
# Stream configuration
stream.listeners.tcp.1 = 0.0.0.0:5552
stream.advertised_host = crypto_scout_mq
stream.advertised_port = 5552
# Definitions
load_definitions = /etc/rabbitmq/definitions.json
# Resource limits
disk_free_limit.absolute = 2GB
vm_memory_high_watermark.relative = 0.6
# Management
management.tcp.ip = 0.0.0.0
management.rates_mode = basic
# Cluster (single node)
cluster_formation.peer_discovery_backend = classic_config
cluster_formation.classic_config.nodes.1 = rabbit@crypto_scout_mq
RABBITMQ_ERLANG_COOKIE=secret_cookie
Stored in secret/rabbitmq.env with 600 permissions.
# Check status
rabbitmq-diagnostics -q ping
rabbitmq-diagnostics -q status
# Start/stop (inside container)
rabbitmqctl stop
rabbitmqctl start_app
# List users
rabbitmqctl list_users
# Add user using helper script
./script/rmq_user.sh -u username -p 'password' -t administrator
# Add user manually
rabbitmqctl add_user username 'password'
rabbitmqctl set_user_tags username administrator
rabbitmqctl set_permissions -p / username ".*" ".*" ".*"
# Change password
rabbitmqctl change_password username 'new_password'
# Delete user
rabbitmqctl delete_user username
# List queues
rabbitmqctl list_queues name messages consumers
# List queues with memory
rabbitmqctl list_queues name memory messages
# Purge queue
rabbitmqctl purge_queue queue_name
# Delete queue
rabbitmqctl delete_queue queue_name
# List streams
rabbitmqctl list_streams name retention_policy
# Stream consumer tracking
rabbitmqctl list_stream_consumers stream_name
# Stream publisher info
rabbitmqctl list_stream_publishers stream_name
# Using helper script
./script/rmq_compose.sh status
# Basic health
rabbitmq-diagnostics -q ping
# Listeners
rabbitmq-diagnostics -q listeners
# Alarms
rabbitmq-diagnostics -q alarms
# Memory
rabbitmq-diagnostics -q memory
# Overview
rabbitmq-diagnostics -q overview
# List connections
rabbitmqctl list_connections peer_host peer_port state user
# List channels
rabbitmqctl list_channels connection peer_pid user
# List consumers
rabbitmqctl list_consumers
# Verify port exposure (container network only for AMQP/Streams)
podman inspect crypto-scout-mq | grep -A 5 "PortBindings"
# Management UI localhost only
management.tcp.ip = 127.0.0.1
# Principle of least privilege
rabbitmqctl set_permissions -p / user "^bybit-.*" "^bybit-.*" "^bybit-.*"
# Remove default user
rabbitmqctl delete_user guest
# Secure Erlang cookie
cd crypto-scout-mq
COOKIE=$(openssl rand -base64 48 | tr -dc 'A-Za-z0-9' | head -c 48)
printf "RABBITMQ_ERLANG_COOKIE=%s\n" "$COOKIE" > secret/rabbitmq.env
chmod 600 secret/rabbitmq.env
# Check if running
podman ps | grep crypto-scout-mq
# Check logs
podman logs crypto-scout-mq
# Verify ports
podman exec crypto-scout-mq rabbitmq-diagnostics -q listeners
# Check user exists
rabbitmqctl list_users | grep username
# Reset password
rabbitmqctl change_password username 'new_password'
# Check permissions
rabbitmqctl list_permissions -p /
# Memory breakdown
rabbitmq-diagnostics -q memory
# Top queues by memory
rabbitmqctl list_queues name memory | sort -k2 -n | tail
# Connections
rabbitmqctl list_connections name peer_host memory_reduction
# Check plugin
rabbitmq-plugins list | grep stream
# Verify stream listeners
rabbitmq-diagnostics -q listeners | grep 5552
# Check stream existence
rabbitmqctl list_streams
| Script | Purpose | Usage |
|---|---|---|
./script/network.sh | Create network | ./script/network.sh |
./script/rmq_compose.sh | Manage service | ./script/rmq_compose.sh up -d |
./script/rmq_user.sh | User management | ./script/rmq_user.sh -u admin -p 'pass' -t administrator |
Use this skill when: