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