Filters
Zo zoek je
  • Gewone woorden vinden namen, teksten en voorbeelden.
  • "twee woorden" vindt precies die zin.
  • --naam of -x vindt een optie.
  • #woord zoekt alleen in commando's.
  • @grep vindt lessen en labs die grep gebruiken.
  • Filters: cat:network · in:labs · in:notes · level:rhcsa · ch:8 · root:yes. Zet ! voor een woord om het weg te laten. OR tussen woorden betekent één ervan.
  • ↑ ↓ bewegen · Enter openen · Esc sluiten · / zoeken

rabbitmqctl

Manage RabbitMQ, the message broker: users, virtual hosts, permissions, queues and health.

Niveau
DevSecOps-service
Groep
Databases en messaging
Root nodig
Ja
Pakket
rabbitmq-server
Ook
rabbitmq, rabbitmq-diagnostics

Dit deel is nog niet vertaald. Je ziet de Engelse tekst.

Wat het doet

RabbitMQ moves messages between services with AMQP (port 5672, TLS 5671). Producers send to exchanges; bindings route messages into queues; consumers read them. It decouples services and absorbs load peaks (orders, e-mails, jobs). rabbitmqctl manages users, vhosts and permissions; rabbitmq-diagnostics checks health; rabbitmq-plugins turns on the management UI (port 15672) and Prometheus metrics (port 15692).

Zo schrijf je het

rabbitmqctl COMMAND [ARGS]
rabbitmq-diagnostics check_running|status|...

Belangrijkste delen

Commands

status
Node status.
list_queues name messages consumers
Queues and their depth.
add_user / change_password / delete_user
Users.
set_user_tags USER administrator|monitoring
UI rights.
add_vhost / list_vhosts
Virtual hosts (separate spaces).
set_permissions -p VHOST USER CONF WRITE READ
Rights (regex).
list_users / list_permissions
Show users / rights.
list_connections / list_channels
Who is connected.
purge_queue NAME
Delete all messages in a queue.
cluster_status
Cluster members.

Opties 4

Meest gebruikt

Flags

-p VHOST
Virtual host.
-n NODE
Target node.
--formatter json|table
Output.
-q
Quiet.

Voorbeelden 10

$ als gewone gebruiker# als root (of met sudo)

  1. 1Run in a container for a lab

    podman run -d --name rmq -p 127.0.0.1:5672:5672 -p 127.0.0.1:15672:15672 docker.io/library/rabbitmq:4.0-management
  2. 2Check health

    rabbitmq-diagnostics check_running
    rabbitmq-diagnostics check_port_connectivity
    rabbitmqctl status | head -30
  3. 3Remove the default guest user, add an admin

    rabbitmqctl add_user admin
    rabbitmqctl set_user_tags admin administrator
    rabbitmqctl delete_user guest
  4. 4One vhost and one user per app (least privilege)

    rabbitmqctl add_vhost shop
    rabbitmqctl add_user shop-app
    rabbitmqctl set_permissions -p shop shop-app '^shop\..*' '^shop\..*' '^shop\..*'
  5. 5Watch queue depth

    rabbitmqctl list_queues -p shop name messages consumers
    watch -n 5 "rabbitmqctl list_queues -p shop name messages"
  6. 6Who is connected

    rabbitmqctl list_connections user peer_host state
  7. 7Turn on Prometheus metrics

    rabbitmq-plugins enable rabbitmq_prometheus
    curl -s localhost:15692/metrics | grep rabbitmq_queue_messages_ready | head
  8. 8Require TLS for clients

    cat /etc/rabbitmq/rabbitmq.conf
    listeners.tcp = none
    listeners.ssl.default = 5671
    ssl_options.cacertfile = /etc/rabbitmq/ca.crt
    ssl_options.certfile = /etc/rabbitmq/server.crt
    ssl_options.keyfile = /etc/rabbitmq/server.key
  9. 9Empty a broken queue (careful)

    rabbitmqctl purge_queue -p shop shop.emails.retry
  10. 10Cluster status

    rabbitmqctl cluster_status

Let op

  • The guest user exists by default; delete it or keep it localhost-only.
  • A growing queue means consumers are down or too slow — alert on queue depth.

Bestanden

/etc/rabbitmq/rabbitmq.conf
Config.
/var/lib/rabbitmq/
Data and the Erlang cookie (keep it secret).
/var/log/rabbitmq/
Logs.

Tips om te onthouden

  • On Kubernetes use the RabbitMQ Cluster Operator.

Exitcodes

0Success.
69Node not running / unavailable.
70Software error.
75Temporary failure (timeout).

Volledige handleiding

Deze pagina legt het commando uit in eenvoudige woorden. De originele handleiding heeft elk detail.

In je terminal: man 8 rabbitmqctl