1RABBITMQCTL(8) BSD System Manager's Manual RABBITMQCTL(8)
2
4 rabbitmqctl — tool for managing RabbitMQ nodes
5
7 rabbitmqctl [-q] [-s] [-l] [-n node] [-t timeout] command
8 [command_options]
9
11 RabbitMQ is an open source multi-protocol messaging broker.
12
13 rabbitmqctl is a command line tool for managing a RabbitMQ server node.
14 It performs all actions by connecting to the target RabbitMQ node on a
15 dedicated CLI tool communication port and authenticating using a shared
16 secret (known as the cookie file).
17
18 Diagnostic information is displayed if connection failed, the target node
19 was not running, or rabbitmqctl could not authenticate to the target node
20 successfully. To learn more, see the RabbitMQ CLI Tools guide:
21 https://www.rabbitmq.com/cli.html
22 and RabbitMQ Networking guide:
23 https://www.rabbitmq.com/networking.html
24
26 -n node
27 Default node is "rabbit@target-hostname", where target-hostname
28 is the local host. On a host named "myserver.example.com", the
29 node name will usually be "rabbit@myserver" (unless
30 RABBITMQ_NODENAME has been overridden). The output of "hostname
31 -s" is usually the correct suffix to use after the "@" sign. See
32 rabbitmq-server(8) for details of configuring a RabbitMQ node.
33
34 -q, --quiet
35 Quiet output mode is selected. Informational messages are
36 reduced when quiet mode is in effect.
37
38 -s, --silent
39 Silent output mode is selected. Informational messages are
40 reduced and table headers are suppressed when silent mode is in
41 effect.
42
43 --no-table-headers
44 Do not output headers for tabular data.
45
46 --dry-run
47 Do not run the command. Only print information message.
48
49 -t timeout, --timeout timeout
50 Operation timeout in seconds. Not all commands support timeouts.
51 Default is infinity.
52
53 -l, --longnames
54 Must be specified when the cluster is configured to use long
55 (FQDN) node names. To learn more, see the RabbitMQ Clustering
56 guide:
57 https://www.rabbitmq.com/clustering.html
58
59 --erlang-cookie cookie
60 Shared secret to use to authenticate to the target node. Prefer
61 using a local file or the RABBITMQ_ERLANG_COOKIE environment
62 variable instead of specifying this option on the command line.
63 To learn more, see the RabbitMQ CLI Tools guide:
64 https://www.rabbitmq.com/cli.html
65
67 help [-l] [command_name]
68
69 Prints usage for all available commands.
70
71 -l, --list-commands
72 List command usages only, without parameter explanation.
73
74 command_name
75 Prints usage for the specified command.
76
77 version
78
79 Displays CLI tools version
80
81 Nodes
82 await_startup
83
84 Waits for the RabbitMQ application to start on the target node
85
86 For example, to wait for the RabbitMQ application to start:
87
88 rabbitmqctl await_startup
89
90 reset
91
92 Returns a RabbitMQ node to its virgin state.
93
94 Removes the node from any cluster it belongs to, removes all data
95 from the management database, such as configured users and
96 vhosts, and deletes all persistent messages.
97
98 For reset and force_reset to succeed the RabbitMQ application
99 must have been stopped, e.g. with stop_app.
100
101 For example, to resets the RabbitMQ node:
102
103 rabbitmqctl reset
104
105 rotate_logs
106
107 Instructs the RabbitMQ node to perform internal log rotation.
108
109 Log rotation is performed according to lager settings specified
110 in configuration file.
111
112 Note that there is no need to call this command in case of exter‐
113 nal log rotation (e.g. from logrotate(8)), because lager detects
114 renames and automatically reopens log files.
115
116 For example, this command starts internal log rotation process:
117
118 rabbitmqctl rotate_logs
119
120 Rotation is performed asynchronously, so there is no guarantee
121 that it will be completed when this command returns.
122
123 shutdown
124
125 Shuts down the node, both RabbitMQ and its runtime. The command
126 is blocking and will return after the runtime process exits. If
127 RabbitMQ fails to stop, it will return a non-zero exit code.
128 This command infers the OS PID of the target node and therefore
129 can only be used to shut down nodes running on the same host (or
130 broadly speaking, in the same operating system, e.g. in the same
131 VM or container)
132
133 Unlike the stop command, the shutdown command:
134
135 · does not require a pid_file to wait for the runtime process
136 to exit
137
138 · returns a non-zero exit code if RabbitMQ node is not running
139
140 For example, this will shut down a locally running RabbitMQ node
141 with default node name:
142
143 rabbitmqctl shutdown
144
145 start_app
146
147 Starts the RabbitMQ application.
148
149 This command is typically run after performing other management
150 actions that required the RabbitMQ application to be stopped,
151 e.g. reset.
152
153 For example, to instruct the RabbitMQ node to start the RabbitMQ
154 application:
155
156 rabbitmqctl start_app
157
158 stop [pid_file]
159
160 Stops the Erlang node on which RabbitMQ is running. To restart
161 the node follow the instructions for "Running the Server" in the
162 installation:
163 https://rabbitmq.com/download.html guide.
164
165 If a pid_file is specified, also waits for the process specified
166 there to terminate. See the description of the wait command for
167 details on this file.
168
169 For example, to instruct the RabbitMQ node to terminate:
170
171 rabbitmqctl stop
172
173 stop_app
174
175 Stops the RabbitMQ application, leaving the runtime (Erlang VM)
176 running.
177
178 This command is typically run prior to performing other manage‐
179 ment actions that require the RabbitMQ application to be stopped,
180 e.g. reset.
181
182 For example, to instruct the RabbitMQ node to stop the RabbitMQ
183 application:
184
185 rabbitmqctl stop_app
186
187 wait pid_file, wait --pid pid
188
189 Waits for the RabbitMQ application to start.
190
191 This command will wait for the RabbitMQ application to start at
192 the node. It will wait for the pid file to be created if pidfile
193 is specified, then for a process with a pid specified in the pid
194 file or the --pid argument, and then for the RabbitMQ application
195 to start in that process. It will fail if the process terminates
196 without starting the RabbitMQ application.
197
198 If the specified pidfile is not created or erlang node is not
199 started within --timeout the command will fail. Default timeout
200 is 10 seconds.
201
202 A suitable pid file is created by the rabbitmq-server(8) script.
203 By default this is located in the Mnesia directory. Modify the
204 RABBITMQ_PID_FILE environment variable to change the location.
205
206 For example, this command will return when the RabbitMQ node has
207 started up:
208
209 rabbitmqctl wait /var/run/rabbitmq/pid
210
211 Cluster management
212 await_online_nodes count
213
214 Waits for count nodes to join the cluster
215
216 For example, to wait for two RabbitMQ nodes to start:
217
218 rabbitmqctl await_online_nodes 2
219
220 change_cluster_node_type type
221
222 Changes the type of the cluster node.
223
224 The type must be one of the following:
225 · disc
226 · ram
227
228 The node must be stopped for this operation to succeed, and when
229 turning a node into a RAM node the node must not be the only disc
230 node in the cluster.
231
232 For example, this command will turn a RAM node into a disc node:
233
234 rabbitmqctl change_cluster_node_type disc
235
236 cluster_status
237
238 Displays all the nodes in the cluster grouped by node type,
239 together with the currently running nodes.
240
241 For example, this command displays the nodes in the cluster:
242
243 rabbitmqctl cluster_status
244
245 force_boot
246
247 Ensures that the node will start next time, even if it was not
248 the last to shut down.
249
250 Normally when you shut down a RabbitMQ cluster altogether, the
251 first node you restart should be the last one to go down, since
252 it may have seen things happen that other nodes did not. But
253 sometimes that's not possible: for instance if the entire cluster
254 loses power then all nodes may think they were not the last to
255 shut down.
256
257 In such a case you can invoke force_boot while the node is down.
258 This will tell the node to unconditionally start next time you
259 ask it to. If any changes happened to the cluster after this
260 node shut down, they will be lost.
261
262 If the last node to go down is permanently lost then you should
263 use forget_cluster_node --offline in preference to this command,
264 as it will ensure that mirrored queues which were mastered on the
265 lost node get promoted.
266
267 For example, this will force the node not to wait for other nodes
268 next time it is started:
269
270 rabbitmqctl force_boot
271
272 force_reset
273
274 Forcefully returns a RabbitMQ node to its virgin state.
275
276 The force_reset command differs from reset in that it resets the
277 node unconditionally, regardless of the current management data‐
278 base state and cluster configuration. It should only be used as
279 a last resort if the database or cluster configuration has been
280 corrupted.
281
282 For reset and force_reset to succeed the RabbitMQ application
283 must have been stopped, e.g. with stop_app.
284
285 For example, to reset the RabbitMQ node:
286
287 rabbitmqctl force_reset
288
289 forget_cluster_node [--offline]
290
291 --offline
292 Enables node removal from an offline node. This is only
293 useful in the situation where all the nodes are offline
294 and the last node to go down cannot be brought online,
295 thus preventing the whole cluster from starting. It
296 should not be used in any other circumstances since it
297 can lead to inconsistencies.
298
299 Removes a cluster node remotely. The node that is being removed
300 must be offline, while the node we are removing from must be
301 online, except when using the --offline flag.
302
303 When using the --offline flag , rabbitmqctl will not attempt to
304 connect to a node as normal; instead it will temporarily become
305 the node in order to make the change. This is useful if the node
306 cannot be started normally. In this case the node will become
307 the canonical source for cluster metadata (e.g. which queues
308 exist), even if it was not before. Therefore you should use this
309 command on the latest node to shut down if at all possible.
310
311 For example, this command will remove the node "rabbit@stringer"
312 from the node "hare@mcnulty":
313
314 rabbitmqctl -n hare@mcnulty forget_cluster_node
315 rabbit@stringer
316
317 join_cluster seed-node [--ram]
318
319 seed-node
320 Existing cluster member (seed node) to cluster with.
321
322 --ram If provided, the node will join the cluster as a RAM
323 node. RAM node use is discouraged. Use only if you
324 understand why exactly you need to use them.
325
326 Instructs the node to become a member of the cluster that the
327 specified node is in. Before clustering, the node is reset, so
328 be careful when using this command. For this command to succeed
329 the RabbitMQ application must have been stopped, e.g. with
330 stop_app.
331
332 Cluster nodes can be of two types: disc or RAM. Disc nodes
333 replicate data in RAM and on disc, thus providing redundancy in
334 the event of node failure and recovery from global events such as
335 power failure across all nodes. RAM nodes replicate data in RAM
336 only (with the exception of queue contents, which can reside on
337 disc if the queue is persistent or too big to fit in memory) and
338 are mainly used for scalability. RAM nodes are more performant
339 only when managing resources (e.g. adding/removing queues,
340 exchanges, or bindings). A cluster must always have at least one
341 disc node, and usually should have more than one.
342
343 The node will be a disc node by default. If you wish to create a
344 RAM node, provide the --ram flag.
345
346 After executing the join_cluster command, whenever the RabbitMQ
347 application is started on the current node it will attempt to
348 connect to the nodes that were in the cluster when the node went
349 down.
350
351 To leave a cluster, reset the node. You can also remove nodes
352 remotely with the forget_cluster_node command.
353
354 For example, this command instructs the RabbitMQ node to join the
355 cluster that "hare@elena" is part of, as a ram node:
356
357 rabbitmqctl join_cluster hare@elena --ram
358
359 To learn more, see the RabbitMQ Clustering guide:
360 https://www.rabbitmq.com/clustering.html.
361
362 rename_cluster_node oldnode1 newnode1 [oldnode2 newnode2 ...]
363
364 Supports renaming of cluster nodes in the local database.
365
366 This subcommand causes rabbitmqctl to temporarily become the node
367 in order to make the change. The local cluster node must there‐
368 fore be completely stopped; other nodes can be online or offline.
369
370 This subcommand takes an even number of arguments, in pairs rep‐
371 resenting the old and new names for nodes. You must specify the
372 old and new names for this node and for any other nodes that are
373 stopped and being renamed at the same time.
374
375 It is possible to stop all nodes and rename them all simultane‐
376 ously (in which case old and new names for all nodes must be
377 given to every node) or stop and rename nodes one at a time (in
378 which case each node only needs to be told how its own name is
379 changing).
380
381 For example, this command will rename the node
382 "rabbit@misshelpful" to the node "rabbit@cordelia"
383
384 rabbitmqctl rename_cluster_node rabbit@misshelpful
385 rabbit@cordelia
386
387 Note that this command only changes the local database. It may
388 also be necessary to rename the local database directories, and
389 to configure the new node name. For example:
390
391 1. Stop the node:
392
393 rabbitmqctl stop rabbit@misshelpful
394
395 2. Rename the node in the local database:
396
397 rabbitmqctl rename_cluster_node rabbit@misshelpful
398 rabbit@cordelia
399
400 3. Rename the local database directories (note, you do not need
401 to do this if you have set the RABBITMQ_MNESIA_DIR environ‐
402 ment variable):
403
404 mv \
405 /var/lib/rabbitmq/mnesia/rabbit\@misshelpful \
406 /var/lib/rabbitmq/mnesia/rabbit\@cordelia
407 mv \
408 /var/lib/rabbitmq/mnesia/rabbit\@misshelpful-rename \
409 /var/lib/rabbitmq/mnesia/rabbit\@cordelia-rename
410 mv \
411 /var/lib/rabbitmq/mnesia/rabbit\@misshelpful-plugins-expand \
412 /var/lib/rabbitmq/mnesia/rabbit\@cordelia-plugins-expand
413
414 4. If node name is configured e.g. using
415 /etc/rabbitmq/rabbitmq-env.conf it has also be updated
416 there.
417
418 5. Start the node when ready
419
420 update_cluster_nodes clusternode
421
422 clusternode
423 The node to consult for up-to-date information.
424
425 Instructs an already clustered node to contact clusternode to
426 cluster when booting up. This is different from join_cluster
427 since it does not join any cluster - it checks that the node is
428 already in a cluster with clusternode.
429
430 The need for this command is motivated by the fact that clusters
431 can change while a node is offline. Consider a situation where
432 node rabbit@A and rabbit@B are clustered. rabbit@A goes down,
433 rabbit@C clusters with rabbit@B, and then rabbit@B leaves the
434 cluster. When rabbit@A starts back up, it'll try to contact
435 rabbit@B, but this will fail since rabbit@B is not in the cluster
436 anymore. The following command will rename node rabbit@B to
437 rabbit@C on node rabbitA
438
439 update_cluster_nodes -n rabbit@A rabbit@B rabbit@C
440
441 To learn more, see the RabbitMQ Clustering guide:
442 https://www.rabbitmq.com/clustering.html
443
444 Replication
445 sync_queue [-p vhost] queue
446
447 queue The name of the queue to synchronise.
448
449 Instructs a mirrored queue with unsynchronised mirrors (follower
450 replicas) to synchronise them. The queue will block while syn‐
451 chronisation takes place (all publishers to and consumers using
452 the queue will block or temporarily see no activity). This com‐
453 mand can only be used with mirrored queues. To learn more, see
454 the RabbitMQ Mirroring guide:
455 https://www.rabbitmq.com/ha.html
456
457 Note that queues with unsynchronised replicas and active con‐
458 sumers will become synchronised eventually (assuming that con‐
459 sumers make progress). This command is primarily useful for
460 queues which do not have active consumers.
461
462 cancel_sync_queue [-p vhost] queue
463
464 queue The name of the queue to cancel synchronisation for.
465
466 Instructs a synchronising mirrored queue to stop synchronising
467 itself.
468
469 User Management
470 Note that all user management commands rabbitmqctl only can manage users
471 in the internal RabbitMQ database. Users from any alternative authenti‐
472 cation backends such as LDAP cannot be inspected or managed with those
473 commands. rabbitmqctl.
474
475 add_user username password
476
477 username
478 The name of the user to create.
479
480 password
481 The password the created user will use to log in to the
482 broker.
483
484 For example, this command instructs the RabbitMQ broker to create
485 a (non-administrative) user named "janeway" with (initial) pass‐
486 word "changeit":
487
488 rabbitmqctl add_user janeway changeit
489
490 authenticate_user username password
491
492 username
493 The name of the user.
494
495 password
496 The password of the user.
497
498 For example, this command instructs the RabbitMQ broker to
499 authenticate the user named "janeway" with password "verifyit":
500
501 rabbitmqctl authenticate_user janeway verifyit
502
503 change_password username newpassword
504
505 username
506 The name of the user whose password is to be changed.
507
508 newpassword
509 The new password for the user.
510
511 For example, this command instructs the RabbitMQ broker to change
512 the password for the user named "janeway" to "newpass":
513
514 rabbitmqctl change_password janeway newpass
515
516 clear_password username
517
518 username
519 The name of the user whose password is to be cleared.
520
521 For example, this command instructs the RabbitMQ broker to clear
522 the password for the user named "janeway":
523
524 rabbitmqctl clear_password janeway
525
526 This user now cannot log in with a password (but may be able to
527 through e.g. SASL EXTERNAL if configured).
528
529 delete_user username
530
531 username
532 The name of the user to delete.
533
534 For example, this command instructs the RabbitMQ broker to delete
535 the user named "janeway":
536
537 rabbitmqctl delete_user janeway
538
539 list_users
540
541 Lists users. Each result row will contain the user name followed
542 by a list of the tags set for that user.
543
544 For example, this command instructs the RabbitMQ broker to list
545 all users:
546
547 rabbitmqctl list_users
548
549 set_user_tags username [tag ...]
550
551 username
552 The name of the user whose tags are to be set.
553
554 tag Zero, one or more tags to set. Any existing tags will be
555 removed.
556
557 For example, this command instructs the RabbitMQ broker to ensure
558 the user named "janeway" is an administrator:
559
560 rabbitmqctl set_user_tags janeway administrator
561
562 This has no effect when the user logs in via AMQP, but can be
563 used to permit the user to manage users, virtual hosts and per‐
564 missions when the user logs in via some other means (for example
565 with the management plugin).
566
567 This command instructs the RabbitMQ broker to remove any tags
568 from the user named "janeway":
569
570 rabbitmqctl set_user_tags janeway
571
572 Access control
573 clear_permissions [-p vhost] username
574
575 vhost The name of the virtual host to which to deny the user
576 access, defaulting to "/".
577
578 username
579 The name of the user to deny access to the specified vir‐
580 tual host.
581
582 Sets user permissions.
583
584 For example, this command instructs the RabbitMQ broker to deny
585 the user named "janeway" access to the virtual host called
586 "my-vhost":
587
588 rabbitmqctl clear_permissions -p my-vhost janeway
589
590 clear_topic_permissions [-p vhost] username [exchange]
591
592 vhost The name of the virtual host to which to clear the topic
593 permissions, defaulting to "/".
594
595 username
596 The name of the user to clear topic permissions to the
597 specified virtual host.
598
599 exchange
600 The name of the topic exchange to clear topic permis‐
601 sions, defaulting to all the topic exchanges the given
602 user has topic permissions for.
603
604 Clear user topic permissions.
605
606 For example, this command instructs the RabbitMQ broker to remove
607 topic permissions for user named "janeway" for the topic exchange
608 "amq.topic" in the virtual host called "my-vhost":
609
610 rabbitmqctl clear_topic_permissions -p my-vhost janeway
611 amq.topic
612
613 list_permissions [-p vhost]
614
615 vhost The name of the virtual host for which to list the users
616 that have been granted access to it, and their permis‐
617 sions. Defaults to "/".
618
619 Lists permissions in a virtual host.
620
621 For example, this command instructs the RabbitMQ broker to list
622 all the users which have been granted access to the virtual host
623 called "my-vhost", and the permissions they have for operations
624 on resources in that virtual host. Note that an empty string
625 means no permissions granted:
626
627 rabbitmqctl list_permissions -p my-vhost
628
629 list_topic_permissions [-p vhost]
630
631 vhost The name of the virtual host for which to list the users
632 topic permissions. Defaults to "/".
633
634 Lists topic permissions in a virtual host.
635
636 For example, this command instructs the RabbitMQ broker to list
637 all the users which have been granted topic permissions in the
638 virtual host called "my-vhost:"
639
640 rabbitmqctl list_topic_permissions -p my-vhost
641
642 list_user_permissions username
643
644 username
645 The name of the user for which to list the permissions.
646
647 Lists user permissions.
648
649 For example, this command instructs the RabbitMQ broker to list
650 all the virtual hosts to which the user named "janeway" has been
651 granted access, and the permissions the user has for operations
652 on resources in these virtual hosts:
653
654 rabbitmqctl list_user_permissions janeway
655
656 list_user_topic_permissions username
657
658 username
659 The name of the user for which to list the topic permis‐
660 sions.
661
662 Lists user topic permissions.
663
664 For example, this command instructs the RabbitMQ broker to list
665 all the virtual hosts to which the user named "janeway" has been
666 granted access, and the topic permissions the user has in these
667 virtual hosts:
668
669 rabbitmqctl list_topic_user_permissions janeway
670
671 list_vhosts [vhostinfoitem ...]
672
673 Lists virtual hosts.
674
675 The vhostinfoitem parameter is used to indicate which virtual
676 host information items to include in the results. The column
677 order in the results will match the order of the parameters.
678 vhostinfoitem can take any value from the list that follows:
679
680 name The name of the virtual host with non-ASCII characters
681 escaped as in C.
682
683 tracing
684 Whether tracing is enabled for this virtual host.
685
686 If no vhostinfoitem are specified then the vhost name is dis‐
687 played.
688
689 For example, this command instructs the RabbitMQ broker to list
690 all virtual hosts:
691
692 rabbitmqctl list_vhosts name tracing
693
694 set_permissions [-p vhost] user conf write read
695
696 vhost The name of the virtual host to which to grant the user
697 access, defaulting to "/".
698
699 user The name of the user to grant access to the specified
700 virtual host.
701
702 conf A regular expression matching resource names for which
703 the user is granted configure permissions.
704
705 write A regular expression matching resource names for which
706 the user is granted write permissions.
707
708 read A regular expression matching resource names for which
709 the user is granted read permissions.
710
711 Sets user permissions.
712
713 For example, this command instructs the RabbitMQ broker to grant
714 the user named "janeway" access to the virtual host called
715 "my-vhost", with configure permissions on all resources whose
716 names starts with "janeway-", and write and read permissions on
717 all resources:
718
719 rabbitmqctl set_permissions -p my-vhost janeway
720 "^janeway-.*" ".*" ".*"
721
722 set_topic_permissions [-p vhost] user exchange write read
723
724 vhost The name of the virtual host to which to grant the user
725 access, defaulting to "/".
726
727 user The name of the user the permissions apply to in the tar‐
728 get virtual host.
729
730 exchange
731 The name of the topic exchange the authorisation check
732 will be applied to.
733
734 write A regular expression matching the routing key of the pub‐
735 lished message.
736
737 read A regular expression matching the routing key of the con‐
738 sumed message.
739
740 Sets user topic permissions.
741
742 For example, this command instructs the RabbitMQ broker to let
743 the user named "janeway" publish and consume messages going
744 through the "amp.topic" exchange of the "my-vhost" virtual host
745 with a routing key starting with "janeway-":
746
747 rabbitmqctl set_topic_permissions -p my-vhost janeway
748 amq.topic "^janeway-.*" "^janeway-.*"
749
750 Topic permissions support variable expansion for the following
751 variables: username, vhost, and client_id. Note that client_id is
752 expanded only when using MQTT. The previous example could be
753 made more generic by using "^{username}-.*":
754
755 rabbitmqctl set_topic_permissions -p my-vhost janeway
756 amq.topic "^{username}-.*" "^{username}-.*"
757
758 Monitoring, observability and health checks
759 environment
760
761 Displays the name and value of each variable in the application
762 environment for each running application.
763
764 list_bindings [-p vhost] [bindinginfoitem ...]
765
766 Returns binding details. By default the bindings for the "/"
767 virtual host are returned. The -p flag can be used to override
768 this default.
769
770 The bindinginfoitem parameter is used to indicate which binding
771 information items to include in the results. The column order in
772 the results will match the order of the parameters.
773 bindinginfoitem can take any value from the list that follows:
774
775 source_name
776 The name of the source of messages to which the binding
777 is attached. With non-ASCII characters escaped as in C.
778
779 source_kind
780 The kind of the source of messages to which the binding
781 is attached. Currently always exchange. With non-ASCII
782 characters escaped as in C.
783
784 destination_name
785 The name of the destination of messages to which the
786 binding is attached. With non-ASCII characters escaped
787 as in C.
788
789 destination_kind
790 The kind of the destination of messages to which the
791 binding is attached. With non-ASCII characters escaped
792 as in C.
793
794 routing_key
795 The binding's routing key, with non-ASCII characters
796 escaped as in C.
797
798 arguments
799 The binding's arguments.
800
801 If no bindinginfoitem are specified then all above items are dis‐
802 played.
803
804 For example, this command displays the exchange name and queue
805 name of the bindings in the virtual host named "my-vhost"
806
807 rabbitmqctl list_bindings -p my-vhost exchange_name
808 queue_name
809
810 list_channels [channelinfoitem ...]
811
812 Returns information on all current channels, the logical contain‐
813 ers executing most AMQP commands. This includes channels that
814 are part of ordinary AMQP connections, and channels created by
815 various plug-ins and other extensions.
816
817 The channelinfoitem parameter is used to indicate which channel
818 information items to include in the results. The column order in
819 the results will match the order of the parameters.
820 channelinfoitem can take any value from the list that follows:
821
822 pid Id of the Erlang process associated with the connection.
823
824 connection
825 Id of the Erlang process associated with the connection
826 to which the channel belongs.
827
828 name Readable name for the channel.
829
830 number The number of the channel, which uniquely identifies it
831 within a connection.
832
833 user Username associated with the channel.
834
835 vhost Virtual host in which the channel operates.
836
837 transactional
838 True if the channel is in transactional mode, false oth‐
839 erwise.
840
841 confirm
842 True if the channel is in confirm mode, false otherwise.
843
844 consumer_count
845 Number of logical AMQP consumers retrieving messages via
846 the channel.
847
848 messages_unacknowledged
849 Number of messages delivered via this channel but not yet
850 acknowledged.
851
852 messages_uncommitted
853 Number of messages received in an as yet uncommitted
854 transaction.
855
856 acks_uncommitted
857 Number of acknowledgements received in an as yet uncom‐
858 mitted transaction.
859
860 messages_unconfirmed
861 Number of published messages not yet confirmed. On chan‐
862 nels not in confirm mode, this remains 0.
863
864 prefetch_count
865 QoS prefetch limit for new consumers, 0 if unlimited.
866
867 global_prefetch_count
868 QoS prefetch limit for the entire channel, 0 if unlim‐
869 ited.
870
871 If no channelinfoitem are specified then pid, user, con‐
872 sumer_count, and messages_unacknowledged are assumed.
873
874 For example, this command displays the connection process and
875 count of unacknowledged messages for each channel:
876
877 rabbitmqctl list_channels connection
878 messages_unacknowledged
879
880 list_ciphers
881
882 Lists cipher suites supported by encoding commands.
883
884 For example, this command instructs the RabbitMQ broker to list
885 all cipher suites supported by encoding commands:
886
887 rabbitmqctl list_ciphers
888
889 list_connections [connectioninfoitem ...]
890
891 Returns TCP/IP connection statistics.
892
893 The connectioninfoitem parameter is used to indicate which con‐
894 nection information items to include in the results. The column
895 order in the results will match the order of the parameters.
896 connectioninfoitem can take any value from the list that follows:
897
898 pid Id of the Erlang process associated with the connection.
899
900 name Readable name for the connection.
901
902 port Server port.
903
904 host Server hostname obtained via reverse DNS, or its IP
905 address if reverse DNS failed or was disabled.
906
907 peer_port
908 Peer port.
909
910 peer_host
911 Peer hostname obtained via reverse DNS, or its IP address
912 if reverse DNS failed or was not enabled.
913
914 ssl Boolean indicating whether the connection is secured with
915 SSL.
916
917 ssl_protocol
918 SSL protocol (e.g. "tlsv1").
919
920 ssl_key_exchange
921 SSL key exchange algorithm (e.g. "rsa").
922
923 ssl_cipher
924 SSL cipher algorithm (e.g. "aes_256_cbc").
925
926 ssl_hash
927 SSL hash function (e.g. "sha").
928
929 peer_cert_subject
930 The subject of the peer's SSL certificate, in RFC4514
931 form.
932
933 peer_cert_issuer
934 The issuer of the peer's SSL certificate, in RFC4514
935 form.
936
937 peer_cert_validity
938 The period for which the peer's SSL certificate is valid.
939
940 state Connection state; one of:
941 · starting
942 · tuning
943 · opening
944 · running
945 · flow
946 · blocking
947 · blocked
948 · closing
949 · closed
950
951 channels
952 Number of channels using the connection.
953
954 protocol
955 Version of the AMQP protocol in use; currently one of:
956 · {0,9,1}
957 · {0,8,0}
958
959 Note that if a client requests an AMQP 0-9 connection, we
960 treat it as AMQP 0-9-1.
961
962 auth_mechanism
963 SASL authentication mechanism used, such as "PLAIN".
964
965 user Username associated with the connection.
966
967 vhost Virtual host name with non-ASCII characters escaped as in
968 C.
969
970 timeout
971 Connection timeout / negotiated heartbeat interval, in
972 seconds.
973
974 frame_max
975 Maximum frame size (bytes).
976
977 channel_max
978 Maximum number of channels on this connection.
979
980 client_properties
981 Informational properties transmitted by the client during
982 connection establishment.
983
984 recv_oct
985 Octets received.
986
987 recv_cnt
988 Packets received.
989
990 send_oct
991 Octets send.
992
993 send_cnt
994 Packets sent.
995
996 send_pend
997 Send queue size.
998
999 connected_at
1000 Date and time this connection was established, as time‐
1001 stamp.
1002
1003 If no connectioninfoitem are specified then user, peer host, peer
1004 port, time since flow control and memory block state are dis‐
1005 played.
1006
1007 For example, this command displays the send queue size and server
1008 port for each connection:
1009
1010 rabbitmqctl list_connections send_pend port
1011
1012 list_consumers [-p vhost]
1013
1014 Lists consumers, i.e. subscriptions to a queue´s message stream.
1015 Each line printed shows, separated by tab characters, the name of
1016 the queue subscribed to, the id of the channel process via which
1017 the subscription was created and is managed, the consumer tag
1018 which uniquely identifies the subscription within a channel, a
1019 boolean indicating whether acknowledgements are expected for mes‐
1020 sages delivered to this consumer, an integer indicating the
1021 prefetch limit (with 0 meaning "none"), and any arguments for
1022 this consumer.
1023
1024 list_exchanges [-p vhost] [exchangeinfoitem ...]
1025
1026 Returns exchange details. Exchange details of the "/" virtual
1027 host are returned if the -p flag is absent. The -p flag can be
1028 used to override this default.
1029
1030 The exchangeinfoitem parameter is used to indicate which exchange
1031 information items to include in the results. The column order in
1032 the results will match the order of the parameters.
1033 exchangeinfoitem can take any value from the list that follows:
1034
1035 name The name of the exchange with non-ASCII characters
1036 escaped as in C.
1037
1038 type The exchange type, such as:
1039 · direct
1040 · topic
1041 · headers
1042 · fanout
1043
1044 durable
1045 Whether or not the exchange survives server restarts.
1046
1047 auto_delete
1048 Whether the exchange will be deleted automatically when
1049 no longer used.
1050
1051 internal
1052 Whether the exchange is internal, i.e. cannot be directly
1053 published to by a client.
1054
1055 arguments
1056 Exchange arguments.
1057
1058 policy Policy name for applying to the exchange.
1059
1060 If no exchangeinfoitem are specified then exchange name and type
1061 are displayed.
1062
1063 For example, this command displays the name and type for each
1064 exchange of the virtual host named "my-vhost":
1065
1066 rabbitmqctl list_exchanges -p my-vhost name type
1067
1068 list_hashes
1069
1070 Lists hash functions supported by encoding commands.
1071
1072 For example, this command instructs the RabbitMQ broker to list
1073 all hash functions supported by encoding commands:
1074
1075 rabbitmqctl list_hashes
1076
1077 list_queues [-p vhost] [--offline | --online | --local] [queueinfoitem
1078 ...]
1079
1080 Returns queue details. Queue details of the "/" virtual host are
1081 returned if the -p flag is absent. The -p flag can be used to
1082 override this default.
1083
1084 Displayed queues can be filtered by their status or location
1085 using one of the following mutually exclusive options:
1086
1087 --offline
1088 List only those durable queues that are not currently
1089 available (more specifically, their master node isn't).
1090
1091 --online
1092 List queues that are currently available (their master
1093 node is).
1094
1095 --local
1096 List only those queues whose master process is located on
1097 the current node.
1098
1099 The queueinfoitem parameter is used to indicate which queue
1100 information items to include in the results. The column order in
1101 the results will match the order of the parameters.
1102 queueinfoitem can take any value from the list that follows:
1103
1104 name The name of the queue with non-ASCII characters escaped
1105 as in C.
1106
1107 durable
1108 Whether or not the queue survives server restarts.
1109
1110 auto_delete
1111 Whether the queue will be deleted automatically when no
1112 longer used.
1113
1114 arguments
1115 Queue arguments.
1116
1117 policy Effective policy name for the queue.
1118
1119 pid Erlang process identifier of the queue.
1120
1121 owner_pid
1122 Id of the Erlang process of the connection which is the
1123 exclusive owner of the queue. Empty if the queue is non-
1124 exclusive.
1125
1126 exclusive
1127 True if queue is exclusive (i.e. has owner_pid), false
1128 otherwise.
1129
1130 exclusive_consumer_pid
1131 Id of the Erlang process representing the channel of the
1132 exclusive consumer subscribed to this queue. Empty if
1133 there is no exclusive consumer.
1134
1135 exclusive_consumer_tag
1136 Consumer tag of the exclusive consumer subscribed to this
1137 queue. Empty if there is no exclusive consumer.
1138
1139 messages_ready
1140 Number of messages ready to be delivered to clients.
1141
1142 messages_unacknowledged
1143 Number of messages delivered to clients but not yet
1144 acknowledged.
1145
1146 messages
1147 Sum of ready and unacknowledged messages (queue depth).
1148
1149 messages_ready_ram
1150 Number of messages from messages_ready which are resident
1151 in ram.
1152
1153 messages_unacknowledged_ram
1154 Number of messages from messages_unacknowledged which are
1155 resident in ram.
1156
1157 messages_ram
1158 Total number of messages which are resident in ram.
1159
1160 messages_persistent
1161 Total number of persistent messages in the queue (will
1162 always be 0 for transient queues).
1163
1164 message_bytes
1165 Sum of the size of all message bodies in the queue. This
1166 does not include the message properties (including head‐
1167 ers) or any overhead.
1168
1169 message_bytes_ready
1170 Like message_bytes but counting only those messages ready
1171 to be delivered to clients.
1172
1173 message_bytes_unacknowledged
1174 Like message_bytes but counting only those messages
1175 delivered to clients but not yet acknowledged.
1176
1177 message_bytes_ram
1178 Like message_bytes but counting only those messages which
1179 are currently held in RAM.
1180
1181 message_bytes_persistent
1182 Like message_bytes but counting only those messages which
1183 are persistent.
1184
1185 head_message_timestamp
1186 The timestamp property of the first message in the queue,
1187 if present. Timestamps of messages only appear when they
1188 are in the paged-in state.
1189
1190 disk_reads
1191 Total number of times messages have been read from disk
1192 by this queue since it started.
1193
1194 disk_writes
1195 Total number of times messages have been written to disk
1196 by this queue since it started.
1197
1198 consumers
1199 Number of consumers.
1200
1201 consumer_utilisation
1202 Fraction of the time (between 0.0 and 1.0) that the queue
1203 is able to immediately deliver messages to consumers.
1204 This can be less than 1.0 if consumers are limited by
1205 network congestion or prefetch count.
1206
1207 memory Bytes of memory allocated by the runtime for the queue,
1208 including stack, heap and internal structures.
1209
1210 slave_pids
1211 If the queue is mirrored, this lists the IDs of the mir‐
1212 rors (follower replicas). To learn more, see the
1213 RabbitMQ Mirroring guide:
1214 https://www.rabbitmq.com/ha.html
1215
1216 synchronised_slave_pids
1217 If the queue is mirrored, this gives the IDs of the mir‐
1218 rors (follower replicas) which are synchronised with the
1219 master (leader). To learn more, see the RabbitMQ
1220 Mirroring guide:
1221 https://www.rabbitmq.com/ha.html
1222
1223 state The state of the queue. Normally "running", but may be
1224 "{syncing, message_count}" if the queue is synchronising.
1225
1226 Queues which are located on cluster nodes that are cur‐
1227 rently down will be shown with a status of "down" (and
1228 most other queueinfoitem will be unavailable).
1229
1230 If no queueinfoitem are specified then queue name and depth are
1231 displayed.
1232
1233 For example, this command displays the depth and number of con‐
1234 sumers for each queue of the virtual host named "my-vhost"
1235
1236 rabbitmqctl list_queues -p my-vhost messages consumers
1237
1238 list_unresponsive_queues [--local] [--queue_timeout milliseconds] [column
1239 ...] [--no-table-headers]
1240
1241 Tests queues to respond within timeout. Lists those which did not
1242 respond
1243
1244 For example, this command lists only those unresponsive queues
1245 whose master process is located on the current node.
1246 rabbitmqctl list_unresponsive_queues --local name
1247
1248 node_health_check
1249
1250 Performs several health checks of the target node.
1251
1252 Verifies the rabbit application is running and alarms are not
1253 set, then checks that every queue and channel on the node can
1254 emit basic stats.
1255
1256 Example:
1257 rabbitmqctl node_health_check -n rabbit@hostname
1258
1259 ping
1260
1261 Checks that the node OS process is up, registered with EPMD and
1262 CLI tools can authenticate with it
1263
1264 Example:
1265 rabbitmqctl ping -n rabbit@hostname
1266
1267 report
1268
1269 Generate a server status report containing a concatenation of all
1270 server status information for support purposes. The output
1271 should be redirected to a file when accompanying a support
1272 request.
1273
1274 For example, this command creates a server report which may be
1275 attached to a support request email:
1276
1277 rabbitmqctl report > server_report.txt
1278
1279 schema_info [--no-table-headers] [column ...]
1280
1281 Lists schema database tables and their properties
1282
1283 For example, this command lists the table names and their active
1284 replicas:
1285
1286 rabbitmqctl schema_info name active_replicas
1287
1288 status
1289
1290 Displays broker status information such as the running applica‐
1291 tions on the current Erlang node, RabbitMQ and Erlang versions,
1292 OS name, memory and file descriptor statistics. (See the
1293 cluster_status command to find out which nodes are clustered and
1294 running.)
1295
1296 For example, this command displays information about the RabbitMQ
1297 broker:
1298
1299 rabbitmqctl status
1300
1301 Runtime Parameters and Policies
1302 Certain features of RabbitMQ (such as the Federation plugin) are con‐
1303 trolled by dynamic, cluster-wide parameters. There are 2 kinds of parame‐
1304 ters: parameters scoped to a virtual host and global parameters. Each
1305 vhost-scoped parameter consists of a component name, a name and a value.
1306 The component name and name are strings, and the value is a valid JSON
1307 document. A global parameter consists of a name and value. The name is
1308 a string and the value is an arbitrary Erlang data structure. Parameters
1309 can be set, cleared and listed. In general you should refer to the docu‐
1310 mentation for the feature in question to see how to set parameters.
1311
1312 Policies is a feature built on top of runtime parameters. Policies are
1313 used to control and modify the behaviour of queues and exchanges on a
1314 cluster-wide basis. Policies apply within a given vhost, and consist of
1315 a name, pattern, definition and an optional priority. Policies can be
1316 set, cleared and listed.
1317
1318 clear_global_parameter name
1319
1320 Clears a global runtime parameter. This is similar to
1321 clear_parameter but the key-value pair isn't tied to a virtual
1322 host.
1323
1324 name The name of the global runtime parameter being cleared.
1325
1326 For example, this command clears the global runtime parameter
1327 "mqtt_default_vhosts":
1328
1329 rabbitmqctl clear_global_parameter mqtt_default_vhosts
1330
1331 clear_parameter [-p vhost] component_name key
1332
1333 Clears a parameter.
1334
1335 component_name
1336 The name of the component for which the parameter is
1337 being cleared.
1338
1339 name The name of the parameter being cleared.
1340
1341 For example, this command clears the parameter "node01" for the
1342 "federation-upstream" component in the default virtual host:
1343
1344 rabbitmqctl clear_parameter federation-upstream node01
1345
1346 list_global_parameters
1347
1348 Lists all global runtime parameters. This is similar to
1349 list_parameters but the global runtime parameters are not tied to
1350 any virtual host.
1351
1352 For example, this command lists all global parameters:
1353
1354 rabbitmqctl list_global_parameters
1355
1356 list_parameters [-p vhost]
1357
1358 Lists all parameters for a virtual host.
1359
1360 For example, this command lists all parameters in the default
1361 virtual host:
1362
1363 rabbitmqctl list_parameters
1364
1365 set_global_parameter name value
1366
1367 Sets a global runtime parameter. This is similar to
1368 set_parameter but the key-value pair isn't tied to a virtual
1369 host.
1370
1371 name The name of the global runtime parameter being set.
1372
1373 value The value for the global runtime parameter, as a JSON
1374 term. In most shells you are very likely to need to
1375 quote this.
1376
1377 For example, this command sets the global runtime parameter
1378 "mqtt_default_vhosts" to the JSON term {"O=client,CN=guest":"/"}:
1379
1380 rabbitmqctl set_global_parameter mqtt_default_vhosts
1381 '{"O=client,CN=guest":"/"}'
1382
1383 set_parameter [-p vhost] component_name name value
1384
1385 Sets a parameter.
1386
1387 component_name
1388 The name of the component for which the parameter is
1389 being set.
1390
1391 name The name of the parameter being set.
1392
1393 value The value for the parameter, as a JSON term. In most
1394 shells you are very likely to need to quote this.
1395
1396 For example, this command sets the parameter "node01" for the
1397 "federation-upstream" component in the default virtual host to
1398 the following JSON "guest":
1399
1400 rabbitmqctl set_parameter federation-upstream node01
1401 '{"uri":"amqp://user:password@server/%2F","ack-mode":"on-publish"}'
1402
1403 list_policies [-p vhost]
1404
1405 Lists all policies for a virtual host.
1406
1407 For example, this command lists all policies in the default vir‐
1408 tual host:
1409
1410 rabbitmqctl list_policies
1411
1412 set_operator_policy [-p vhost] [--priority priority] [--apply-to
1413 apply-to] name pattern definition
1414
1415 Sets an operator policy that overrides a subset of arguments in
1416 user policies. Arguments are identical to those of set_policy.
1417
1418 Supported arguments are:
1419 · expires
1420 · message-ttl
1421 · max-length
1422 · max-length-bytes
1423
1424 set_policy [-p vhost] [--priority priority] [--apply-to apply-to] name
1425 pattern definition
1426
1427 Sets a policy.
1428
1429 name The name of the policy.
1430
1431 pattern
1432 The regular expression, which when matches on a given
1433 resources causes the policy to apply.
1434
1435 definition
1436 The definition of the policy, as a JSON term. In most
1437 shells you are very likely to need to quote this.
1438
1439 priority
1440 The priority of the policy as an integer. Higher numbers
1441 indicate greater precedence. The default is 0.
1442
1443 apply-to
1444 Which types of object this policy should apply to. Pos‐
1445 sible values are:
1446 · queues
1447 · exchanges
1448 · all
1449 The default is all ..
1450
1451 For example, this command sets the policy "federate-me" in the
1452 default virtual host so that built-in exchanges are federated:
1453
1454 rabbitmqctl set_policy federate-me ^amq.
1455 '{"federation-upstream-set":"all"}'
1456
1457 clear_policy [-p vhost] name
1458
1459 Clears a policy.
1460
1461 name The name of the policy being cleared.
1462
1463 For example, this command clears the "federate-me" policy in the
1464 default virtual host:
1465
1466 rabbitmqctl clear_policy federate-me
1467
1468 clear_operator_policy [-p vhost] name
1469
1470 Clears an operator policy. Arguments are identical to those of
1471 clear_policy.
1472
1473 list_operator_policies [-p vhost]
1474
1475 Lists operator policy overrides for a virtual host. Arguments
1476 are identical to those of list_policies.
1477
1478 Virtual hosts
1479 Note that rabbitmqctl manages the RabbitMQ internal user database. Per‐
1480 missions for users from any alternative authorisation backend will not be
1481 visible to rabbitmqctl.
1482
1483 add_vhost vhost
1484
1485 vhost The name of the virtual host entry to create.
1486
1487 Creates a virtual host.
1488
1489 For example, this command instructs the RabbitMQ broker to create
1490 a new virtual host called "test":
1491
1492 rabbitmqctl add_vhost test
1493
1494 clear_vhost_limits [-p vhost]
1495
1496 Clears virtual host limits.
1497
1498 For example, this command clears vhost limits in vhost "qa_env":
1499
1500 rabbitmqctl clear_vhost_limits -p qa_env
1501
1502 delete_vhost vhost
1503
1504 vhost The name of the virtual host entry to delete.
1505
1506 Deletes a virtual host.
1507
1508 Deleting a virtual host deletes all its exchanges, queues, bind‐
1509 ings, user permissions, parameters and policies.
1510
1511 For example, this command instructs the RabbitMQ broker to delete
1512 the virtual host called "test":
1513
1514 rabbitmqctl delete_vhost a-vhost
1515
1516 list_vhost_limits [-p vhost] [--global] [--no-table-headers]
1517
1518 Displays configured virtual host limits.
1519
1520 --global
1521 Show limits for all vhosts. Suppresses the -p parameter.
1522
1523 restart_vhost vhost
1524
1525 vhost The name of the virtual host entry to restart.
1526
1527 Restarts a failed vhost data stores and queues.
1528
1529 For example, this command instructs the RabbitMQ broker to
1530 restart a virtual host called "test":
1531
1532 rabbitmqctl restart_vhost test
1533
1534 set_vhost_limits [-p vhost] definition
1535
1536 Sets virtual host limits.
1537
1538 definition
1539 The definition of the limits, as a JSON term. In most
1540 shells you are very likely to need to quote this.
1541
1542 Recognised limits are:
1543 · max-connections
1544 · max-queues
1545
1546 Use a negative value to specify "no limit".
1547
1548 For example, this command limits the max number of concurrent
1549 connections in vhost "qa_env" to 64:
1550
1551 rabbitmqctl set_vhost_limits -p qa_env '{"max-connections":
1552 64}'
1553
1554 This command limits the max number of queues in vhost "qa_env" to
1555 256:
1556
1557 rabbitmqctl set_vhost_limits -p qa_env '{"max-queues":
1558 256}'
1559
1560 This command clears the max number of connections limit in vhost
1561 "qa_env":
1562
1563 rabbitmqctl set_vhost_limits -p qa_env '{"max-connections":
1564 -1}'
1565
1566 This command disables client connections in vhost "qa_env":
1567
1568 rabbitmqctl set_vhost_limits -p qa_env '{"max-connections":
1569 0}'
1570
1571 trace_off [-p vhost]
1572
1573 vhost The name of the virtual host for which to stop tracing.
1574
1575 Stops tracing.
1576
1577 trace_on [-p vhost]
1578
1579 vhost The name of the virtual host for which to start tracing.
1580
1581 Starts tracing. Note that the trace state is not persistent; it
1582 will revert to being off if the node is restarted.
1583
1584 Configuration
1585 decode value passphrase [--cipher cipher] [--hash hash] [--iterations
1586 iterations]
1587
1588 value passphrase
1589 Value to decrypt (as produced by the encode command) and
1590 passphrase.
1591
1592 For example:
1593
1594 rabbitmqctl decode '{encrypted, <<"...">>}'
1595 mypassphrase
1596
1597 --cipher cipher --hash hash --iterations iterations
1598 Options to specify the decryption settings. They can be
1599 used independently.
1600
1601 For example:
1602
1603 rabbitmqctl decode --cipher blowfish_cfb64 --hash
1604 sha256 --iterations 10000 '{encrypted,<<"...">>}
1605 mypassphrase
1606
1607 encode value passphrase [--cipher cipher] [--hash hash] [--iterations
1608 iterations]
1609
1610 value passphrase
1611 Value to encrypt and passphrase.
1612
1613 For example:
1614
1615 rabbitmqctl encode '<<"guest">>' mypassphrase
1616
1617 --cipher cipher --hash hash --iterations iterations
1618 Options to specify the encryption settings. They can be
1619 used independently.
1620
1621 For example:
1622
1623 rabbitmqctl encode --cipher blowfish_cfb64 --hash
1624 sha256 --iterations 10000 '<<"guest">>'
1625 mypassphrase
1626
1627 set_cluster_name name
1628
1629 Sets the cluster name to name. The cluster name is announced to
1630 clients on connection, and used by the federation and shovel
1631 plugins to record where a message has been. The cluster name is
1632 by default derived from the hostname of the first node in the
1633 cluster, but can be changed.
1634
1635 For example, this sets the cluster name to "london":
1636
1637 rabbitmqctl set_cluster_name london
1638
1639 set_disk_free_limit disk_limit
1640
1641 disk_limit
1642 Lower bound limit as an integer in bytes or a string with
1643 memory unit symbols (see vm_memory_high_watermark), e.g.
1644 512M or 1G. Once free disk space reaches the limit, a
1645 disk alarm will be set.
1646
1647 set_disk_free_limit mem_relative fraction
1648
1649 fraction
1650 Limit relative to the total amount available RAM as a
1651 non-negative floating point number. Values lower than
1652 1.0 can be dangerous and should be used carefully.
1653
1654 set_log_level [log_level]
1655
1656 Sets log level in the running node
1657
1658 Supported type values are:
1659 · debug
1660 · info
1661 · warning
1662 · error
1663 · none
1664
1665 Example:
1666 rabbitmqctl log_level debug
1667
1668 set_vm_memory_high_watermark fraction
1669
1670 fraction
1671 The new memory threshold fraction at which flow control
1672 is triggered, as a floating point number greater than or
1673 equal to 0.
1674
1675 set_vm_memory_high_watermark [absolute] memory_limit
1676
1677 memory_limit
1678 The new memory limit at which flow control is triggered,
1679 expressed in bytes as an integer number greater than or
1680 equal to 0 or as a string with memory unit symbol(e.g.
1681 512M or 1G). Available unit symbols are:
1682
1683 k, kiB kibibytes (2^10 bytes)
1684
1685 M, MiB mebibytes (2^20 bytes)
1686
1687 G, GiB gibibytes (2^30 bytes)
1688
1689 kB kilobytes (10^3 bytes)
1690
1691 MB megabytes (10^6 bytes)
1692
1693 GB gigabytes (10^9 bytes)
1694
1695 Feature flags
1696 enable_feature_flag feature_flag
1697
1698 Enables a feature flag on the target node.
1699
1700 Example:
1701 rabbitmqctl enable_feature_flag quorum_queue
1702
1703 list_feature_flags [column ...]
1704
1705 Lists feature flags
1706
1707 Supported column values are:
1708 · name
1709 · state
1710 · stability
1711 · provided_by
1712 · desc
1713 · doc_url
1714
1715 Example:
1716 rabbitmqctl list_feature_flags name state
1717
1718 Connection Operations
1719 close_all_connections [-p vhost] [--global] [--per-connection-delay
1720 delay] [--limit limit] explanation
1721
1722 -p vhost
1723 The name of the virtual host for which connections should
1724 be closed. Ignored when --global is specified.
1725
1726 --global
1727 If connections should be close for all vhosts. Overrides
1728 -p
1729
1730 --per-connection-delay delay
1731 Time in milliseconds to wait after each connection clos‐
1732 ing.
1733
1734 --limit limit
1735 Number of connection to close. Only works per vhost.
1736 Ignored when --global is specified.
1737
1738 explanation
1739 Explanation string.
1740
1741 Instructs the broker to close all connections for the specified
1742 vhost or entire RabbitMQ node.
1743
1744 For example, this command instructs the RabbitMQ broker to close
1745 10 connections on "qa_env" vhost, passing the explanation "Please
1746 close":
1747
1748 rabbitmqctl close_all_connections -p qa_env --limit 10
1749 'Please close'
1750
1751 This command instructs broker to close all connections to the
1752 node:
1753
1754 rabbitmqctl close_all_connections --global
1755
1756
1757 close_connection connectionpid explanation
1758
1759 connectionpid
1760 Id of the Erlang process associated with the connection
1761 to close.
1762
1763 explanation
1764 Explanation string.
1765
1766 Instructs the broker to close the connection associated with the
1767 Erlang process id connectionpid (see also the list_connections
1768 command), passing the explanation string to the connected client
1769 as part of the AMQP connection shutdown protocol.
1770
1771 For example, this command instructs the RabbitMQ broker to close
1772 the connection associated with the Erlang process id
1773 "<rabbit@tanto.4262.0>", passing the explanation "go away" to the
1774 connected client:
1775
1776 rabbitmqctl close_connection "<rabbit@tanto.4262.0>" "go
1777 away"
1778
1779 Misc
1780 eval expression
1781
1782 Evaluates an Erlang expression on the target node
1783
1784 hipe_compile directory
1785
1786 Performs HiPE-compilation and caches resulting .beam-files in the
1787 given directory.
1788
1789 Parent directories are created if necessary. Any existing .beam
1790 files from the directory are automatically deleted prior to com‐
1791 pilation.
1792
1793 To use this precompiled files, you should set
1794 RABBITMQ_SERVER_CODE_PATH environment variable to directory spec‐
1795 ified in hipe_compile invocation.
1796
1797 For example, to HiPE-compile modules and store them to
1798 /tmp/rabbit-hipe/ebin directory:
1799
1800 rabbitmqctl hipe_compile /tmp/rabbit-hipe/ebin
1801
1802 Queue Operations
1803 delete_queue queue_name [--if-empty | -e] [--if-unused | -u]
1804
1805 queue_name
1806 The name of the queue to delete.
1807
1808 --if-empty
1809 Delete the queue if it is empty (has no messages ready
1810 for delivery)
1811
1812 --if-unused
1813 Delete the queue only if it has no consumers
1814
1815 Deletes a queue.
1816
1817 purge_queue [-p vhost] queue
1818
1819 queue The name of the queue to purge.
1820
1821 Purges a queue (removes all messages in it).
1822
1824 RabbitMQ plugins can extend rabbitmqctl tool to add new commands when
1825 enabled. Currently available commands can be found in rabbitmqctl help
1826 output. Following commands are added by RabbitMQ plugins, available in
1827 default distribution:
1828
1829 Shovel plugin
1830 shovel_status
1831 Prints a list of configured Shovels
1832
1833 delete_shovel [-p vhost] name
1834 Instructs the RabbitMQ node to delete the configured shovel by
1835 name.
1836
1837 Federation plugin
1838 federation_status [--only-down]
1839 Prints a list of federation links.
1840
1841 --only-down
1842 Only list federation links which are not running.
1843
1844 restart_federation_link link_id
1845 Instructs the RabbitMQ node to restart the federation link with
1846 specified link_id.
1847
1848 AMQP 1.0 plugin
1849 list_amqp10_connections [amqp10_connectioninfoitem ...]
1850 Similar to the list_connections command, but returns fields which
1851 make sense for AMQP-1.0 connections. amqp10_connectioninfoitem
1852 parameter is used to indicate which connection information items
1853 to include in the results. The column order in the results will
1854 match the order of the parameters. amqp10_connectioninfoitem can
1855 take any value from the list that follows:
1856
1857 pid Id of the Erlang process associated with the connection.
1858
1859 auth_mechanism
1860 SASL authentication mechanism used, such as "PLAIN".
1861
1862 host Server hostname obtained via reverse DNS, or its IP
1863 address if reverse DNS failed or was disabled.
1864
1865 frame_max
1866 Maximum frame size (bytes).
1867
1868 timeout
1869 Connection timeout / negotiated heartbeat interval, in
1870 seconds.
1871
1872 user Username associated with the connection.
1873
1874 state Connection state; one of:
1875 · starting
1876 · waiting_amqp0100
1877 · securing
1878 · running
1879 · blocking
1880 · blocked
1881 · closing
1882 · closed
1883
1884 recv_oct
1885 Octets received.
1886
1887 recv_cnt
1888 Packets received.
1889
1890 send_oct
1891 Octets send.
1892
1893 send_cnt
1894 Packets sent.
1895
1896 ssl Boolean indicating whether the connection is secured with
1897 SSL.
1898
1899 ssl_protocol
1900 SSL protocol (e.g. "tlsv1").
1901
1902 ssl_key_exchange
1903 SSL key exchange algorithm (e.g. "rsa").
1904
1905 ssl_cipher
1906 SSL cipher algorithm (e.g. "aes_256_cbc").
1907
1908 ssl_hash
1909 SSL hash function (e.g. "sha").
1910
1911 peer_cert_subject
1912 The subject of the peer's SSL certificate, in RFC4514
1913 form.
1914
1915 peer_cert_issuer
1916 The issuer of the peer's SSL certificate, in RFC4514
1917 form.
1918
1919 peer_cert_validity
1920 The period for which the peer's SSL certificate is valid.
1921
1922 node The node name of the RabbitMQ node to which connection is
1923 established.
1924
1925 MQTT plugin
1926 list_mqtt_connections [mqtt_connectioninfoitem]
1927 Similar to the list_connections command, but returns fields which
1928 make sense for MQTT connections. mqtt_connectioninfoitem parame‐
1929 ter is used to indicate which connection information items to
1930 include in the results. The column order in the results will
1931 match the order of the parameters. mqtt_connectioninfoitem can
1932 take any value from the list that follows:
1933
1934 host Server hostname obtained via reverse DNS, or its IP
1935 address if reverse DNS failed or was disabled.
1936
1937 port Server port.
1938
1939 peer_host
1940 Peer hostname obtained via reverse DNS, or its IP address
1941 if reverse DNS failed or was not enabled.
1942
1943 peer_port
1944 Peer port.
1945
1946 protocol
1947 MQTT protocol version, which can be on of the following:
1948 · {'MQTT', N/A}
1949 · {'MQTT', 3.1.0}
1950 · {'MQTT', 3.1.1}
1951
1952 channels
1953 Number of channels using the connection.
1954
1955 channel_max
1956 Maximum number of channels on this connection.
1957
1958 frame_max
1959 Maximum frame size (bytes).
1960
1961 client_properties
1962 Informational properties transmitted by the client during
1963 connection establishment.
1964
1965 ssl Boolean indicating whether the connection is secured with
1966 SSL.
1967
1968 ssl_protocol
1969 SSL protocol (e.g. "tlsv1").
1970
1971 ssl_key_exchange
1972 SSL key exchange algorithm (e.g. "rsa").
1973
1974 ssl_cipher
1975 SSL cipher algorithm (e.g. "aes_256_cbc").
1976
1977 ssl_hash
1978 SSL hash function (e.g. "sha").
1979
1980 conn_name
1981 Readable name for the connection.
1982
1983 connection_state
1984 Connection state; one of:
1985 · starting
1986 · running
1987 · blocked
1988
1989 connection
1990 Id of the Erlang process associated with the internal
1991 amqp direct connection.
1992
1993 consumer_tags
1994 A tuple of consumer tags for QOS0 and QOS1.
1995
1996 message_id
1997 The last Packet ID sent in a control message.
1998
1999 client_id
2000 MQTT client identifier for the connection.
2001
2002 clean_sess
2003 MQTT clean session flag.
2004
2005 will_msg
2006 MQTT Will message sent in CONNECT frame.
2007
2008 exchange
2009 Exchange to route MQTT messages configured in rab‐
2010 bitmq_mqtt application environment.
2011
2012 ssl_login_name
2013 SSL peer cert auth name
2014
2015 retainer_pid
2016 Id of the Erlang process associated with retain storage
2017 for the connection.
2018
2019 user Username associated with the connection.
2020
2021 vhost Virtual host name with non-ASCII characters escaped as in
2022 C.
2023
2024 STOMP plugin
2025 list_stomp_connections [stomp_connectioninfoitem]
2026 Similar to the list_connections command, but returns fields which
2027 make sense for STOMP connections. stomp_connectioninfoitem
2028 parameter is used to indicate which connection information items
2029 to include in the results. The column order in the results will
2030 match the order of the parameters. stomp_connectioninfoitem can
2031 take any value from the list that follows:
2032
2033 conn_name
2034 Readable name for the connection.
2035
2036 connection
2037 Id of the Erlang process associated with the internal
2038 amqp direct connection.
2039
2040 connection_state
2041 Connection state; one of:
2042 · running
2043 · blocking
2044 · blocked
2045
2046 session_id
2047 STOMP protocol session identifier
2048
2049 channel
2050 AMQP channel associated with the connection
2051
2052 version
2053 Negotiated STOMP protocol version for the connection.
2054
2055 implicit_connect
2056 Indicates if the connection was established using
2057 implicit connect (without CONNECT frame)
2058
2059 auth_login
2060 Effective username for the connection.
2061
2062 auth_mechanism
2063 STOMP authorization mechanism. Can be one of:
2064 · config
2065 · ssl
2066 · stomp_headers
2067
2068 port Server port.
2069
2070 host Server hostname obtained via reverse DNS, or its IP
2071 address if reverse DNS failed or was not enabled.
2072
2073 peer_port
2074 Peer port.
2075
2076 peer_host
2077 Peer hostname obtained via reverse DNS, or its IP address
2078 if reverse DNS failed or was not enabled.
2079
2080 protocol
2081 STOMP protocol version, which can be on of the following:
2082 · {'STOMP', 0}
2083 · {'STOMP', 1}
2084 · {'STOMP', 2}
2085
2086 channels
2087 Number of channels using the connection.
2088
2089 channel_max
2090 Maximum number of channels on this connection.
2091
2092 frame_max
2093 Maximum frame size (bytes).
2094
2095 client_properties
2096 Informational properties transmitted by the client during
2097 connection
2098
2099 ssl Boolean indicating whether the connection is secured with
2100 SSL.
2101
2102 ssl_protocol
2103 TLS protocol (e.g. "tlsv1").
2104
2105 ssl_key_exchange
2106 TLS key exchange algorithm (e.g. "rsa").
2107
2108 ssl_cipher
2109 TLS cipher algorithm (e.g. "aes_256_cbc").
2110
2111 ssl_hash
2112 SSL hash function (e.g. "sha").
2113
2114 Management agent plugin
2115 reset_stats_db [--all]
2116 Reset management stats database for the RabbitMQ node.
2117
2118 --all Reset stats database for all nodes in the cluster.
2119
2121 rabbitmq-diagnostics(8), rabbitmq-plugins(8), rabbitmq-server(8),
2122 rabbitmq-queues(8), rabbitmq-upgrade(8), rabbitmq-service(8),
2123 rabbitmq-env.conf(5), rabbitmq-echopid(8)
2124
2126 The RabbitMQ Team <info@rabbitmq.com>
2127
2128RabbitMQ Server September 28, 2019 RabbitMQ Server