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_queuesnamemessagesconsumers- Queues and their depth.
add_user/change_password/delete_user- Users.
set_user_tagsUSERadministrator|monitoring- UI rights.
add_vhost/list_vhosts- Virtual hosts (separate spaces).
set_permissions-pVHOSTUSERCONFWRITEREAD- Rights (regex).
list_users/list_permissions- Show users / rights.
list_connections/list_channels- Who is connected.
purge_queueNAME- Delete all messages in a queue.
cluster_status- Cluster members.
Opties 4
Meest gebruikt
Niets past bij dit filter.
Voorbeelden 10
$ als gewone gebruiker# als root (of met sudo)
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-management2Check health
rabbitmq-diagnostics check_running rabbitmq-diagnostics check_port_connectivity rabbitmqctl status | head -303Remove the default guest user, add an admin
rabbitmqctl add_user admin rabbitmqctl set_user_tags admin administrator rabbitmqctl delete_user guest4One 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\..*'5Watch queue depth
rabbitmqctl list_queues -p shop name messages consumers watch -n 5 "rabbitmqctl list_queues -p shop name messages"6Who is connected
rabbitmqctl list_connections user peer_host state7Turn on Prometheus metrics
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.key9Empty a broken queue (careful)
rabbitmqctl purge_queue -p shop shop.emails.retry10Cluster status
rabbitmqctl cluster_status
Niets past bij dit filter.
Let op
- The
guestuser 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
0 | Success. |
69 | Node not running / unavailable. |
70 | Software error. |
75 | Temporary failure (timeout). |