2092 lines
95 KiB
XML
2092 lines
95 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.docbook.org/xml/4.5/docbookx.dtd">
|
|
<!--
|
|
There is some extra magic in this document besides the usual DocBook semantics
|
|
to allow us to derive manpages, HTML and usage messages from the same source
|
|
document.
|
|
|
|
Examples need to be moved to the end for man pages. To this end, <para>s and
|
|
<screen>s with role="example" will be moved, and with role="example-prefix"
|
|
will be removed.
|
|
|
|
The usage messages are more involved. We have some magic in usage.xsl to pull
|
|
out the command synopsis, global option and subcommand synopses. We also pull
|
|
out <para>s with role="usage".
|
|
|
|
Finally we construct lists of possible values for subcommand options, if the
|
|
subcommand's <varlistentry> has role="usage-has-option-list". The option which
|
|
takes the values should be marked with role="usage-option-list".
|
|
-->
|
|
|
|
<refentry lang="en">
|
|
<refentryinfo>
|
|
<productname>RabbitMQ Server</productname>
|
|
<authorgroup>
|
|
<corpauthor>The RabbitMQ Team <<ulink url="mailto:info@rabbitmq.com"><email>info@rabbitmq.com</email></ulink>></corpauthor>
|
|
</authorgroup>
|
|
</refentryinfo>
|
|
|
|
<refmeta>
|
|
<refentrytitle>rabbitmqctl</refentrytitle>
|
|
<manvolnum>1</manvolnum>
|
|
<refmiscinfo class="manual">RabbitMQ Service</refmiscinfo>
|
|
</refmeta>
|
|
|
|
<refnamediv>
|
|
<refname>rabbitmqctl</refname>
|
|
<refpurpose>command line tool for managing a RabbitMQ broker</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv>
|
|
<cmdsynopsis>
|
|
<command>rabbitmqctl</command>
|
|
<arg choice="opt">-n <replaceable>node</replaceable></arg>
|
|
<arg choice="opt">-t <replaceable>timeout</replaceable></arg>
|
|
<arg choice="opt">-q</arg>
|
|
<arg choice="req"><replaceable>command</replaceable></arg>
|
|
<arg choice="opt" rep="repeat"><replaceable>command options</replaceable></arg>
|
|
</cmdsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1>
|
|
<title>Description</title>
|
|
<para>
|
|
RabbitMQ is an implementation of AMQP, the emerging standard for high
|
|
performance enterprise messaging. The RabbitMQ server is a robust and
|
|
scalable implementation of an AMQP broker.
|
|
</para>
|
|
<para>
|
|
<command>rabbitmqctl</command> is a command line tool for managing a
|
|
RabbitMQ broker. It performs all actions by connecting to one of the
|
|
broker's nodes.
|
|
</para>
|
|
<para>
|
|
Diagnostic information is displayed if the broker was not
|
|
running, could not be reached, or rejected the connection due to
|
|
mismatching Erlang cookies.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Options</title>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><arg choice="opt">-n <replaceable>node</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para role="usage">
|
|
Default node is "rabbit@server", where server is the local host. On
|
|
a host named "server.example.com", the node name of the RabbitMQ
|
|
Erlang node will usually be rabbit@server (unless RABBITMQ_NODENAME
|
|
has been set to some non-default value at broker startup time). The
|
|
output of <command>hostname -s</command> is usually the correct suffix to use after the
|
|
"@" sign. See rabbitmq-server(1) for details of configuring the
|
|
RabbitMQ broker.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><arg choice="opt">-q</arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para role="usage">
|
|
Quiet output mode is selected with the "-q" flag. Informational
|
|
messages are suppressed when quiet mode is in effect.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><arg choice="opt">-t <replaceable>timeout</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para role="usage">
|
|
Operation timeout in seconds. Only applicable to "list" commands.
|
|
Default is "infinity".
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1>
|
|
<title>Commands</title>
|
|
|
|
<refsect2>
|
|
<title>Application and Cluster Management</title>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>stop</command> <arg choice="opt"><replaceable>pid_file</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Stops the Erlang node on which RabbitMQ is running. To
|
|
restart the node follow the instructions for <citetitle>Running
|
|
the Server</citetitle> in the <ulink url="http://www.rabbitmq.com/install.html">installation
|
|
guide</ulink>.
|
|
</para>
|
|
<para>
|
|
If a <option>pid_file</option> is specified, also waits
|
|
for the process specified there to terminate. See the
|
|
description of the <option>wait</option> command below
|
|
for details on this file.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl stop</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ node to terminate.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="stop_app">
|
|
<term><cmdsynopsis><command>stop_app</command></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Stops the RabbitMQ application, leaving the Erlang node
|
|
running.
|
|
</para>
|
|
<para>
|
|
This command is typically run prior to performing other
|
|
management actions that require the RabbitMQ application
|
|
to be stopped, e.g. <link
|
|
linkend="reset"><command>reset</command></link>.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl stop_app</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ node to stop the
|
|
RabbitMQ application.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>start_app</command></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Starts the RabbitMQ application.
|
|
</para>
|
|
<para>
|
|
This command is typically run after performing other
|
|
management actions that required the RabbitMQ application
|
|
to be stopped, e.g. <link
|
|
linkend="reset"><command>reset</command></link>.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl start_app</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ node to start the
|
|
RabbitMQ application.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>wait</command> <arg choice="req"><replaceable>pid_file</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Wait for the RabbitMQ application to start.
|
|
</para>
|
|
<para>
|
|
This command will wait for the RabbitMQ application to
|
|
start at the node. It will wait for the pid file to
|
|
be created, then for a process with a pid specified in the
|
|
pid file to start, and then for the RabbitMQ application
|
|
to start in that process. It will fail if the process
|
|
terminates without starting the RabbitMQ application.
|
|
</para>
|
|
<para>
|
|
A suitable pid file is created by
|
|
the <command>rabbitmq-server</command> script. By
|
|
default this is located in the Mnesia directory. Modify
|
|
the <command>RABBITMQ_PID_FILE</command> environment
|
|
variable to change the location.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl wait /var/run/rabbitmq/pid</screen>
|
|
<para role="example">
|
|
This command will return when the RabbitMQ node has
|
|
started up.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="reset">
|
|
<term><cmdsynopsis><command>reset</command></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Return a RabbitMQ node to its virgin state.
|
|
</para>
|
|
<para>
|
|
Removes the node from any cluster it belongs to, removes
|
|
all data from the management database, such as configured
|
|
users and vhosts, and deletes all persistent
|
|
messages.
|
|
</para>
|
|
<para>
|
|
For <command>reset</command> and <command>force_reset</command> to
|
|
succeed the RabbitMQ application must have been stopped,
|
|
e.g. with <link linkend="stop_app"><command>stop_app</command></link>.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl reset</screen>
|
|
<para role="example">
|
|
This command resets the RabbitMQ node.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>force_reset</command></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Forcefully return a RabbitMQ node to its virgin state.
|
|
</para>
|
|
<para>
|
|
The <command>force_reset</command> command differs from
|
|
<command>reset</command> in that it resets the node
|
|
unconditionally, regardless of the current management
|
|
database state and cluster configuration. It should only
|
|
be used as a last resort if the database or cluster
|
|
configuration has been corrupted.
|
|
</para>
|
|
<para>
|
|
For <command>reset</command> and <command>force_reset</command> to
|
|
succeed the RabbitMQ application must have been stopped,
|
|
e.g. with <link linkend="stop_app"><command>stop_app</command></link>.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl force_reset</screen>
|
|
<para role="example">
|
|
This command resets the RabbitMQ node.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>rotate_logs</command> <arg choice="req"><replaceable>suffix</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Instruct the RabbitMQ node to rotate the log files.
|
|
</para>
|
|
<para>
|
|
The RabbitMQ broker appends the contents of its log
|
|
files to files with names composed of the original name
|
|
and the suffix, and then resumes logging to freshly
|
|
created files at the original location. I.e. effectively
|
|
the current log contents are moved to the end of the
|
|
suffixed files.
|
|
</para>
|
|
<para>
|
|
When the target files do not exist they are created. When
|
|
no <option>suffix</option> is specified, no rotation takes
|
|
place - log files are just re-opened.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl rotate_logs .1</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ node to append the contents
|
|
of the log files to files with names consisting of the original logs'
|
|
names and ".1" suffix, e.g. rabbit@mymachine.log.1 and
|
|
rabbit@mymachine-sasl.log.1. Finally, logging resumes to
|
|
fresh files at the old locations.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>hipe_compile</command> <arg choice="req"><replaceable>directory</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Performs HiPE-compilation and caches resulting
|
|
.beam-files in the given directory.
|
|
</para>
|
|
<para>
|
|
Parent directories are created if necessary. Any
|
|
existing <command>.beam</command> files from the
|
|
directory are automatically deleted prior to
|
|
compilation.
|
|
</para>
|
|
<para>
|
|
To use this precompiled files, you should set
|
|
<command>RABBITMQ_SERVER_CODE_PATH</command> environment
|
|
variable to directory specified in
|
|
<command>hipe_compile</command> invokation.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl hipe_compile /tmp/rabbit-hipe/ebin</screen>
|
|
<para role="example">
|
|
HiPE-compiles modules and stores them to /tmp/rabbit-hipe/ebin directory.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect2>
|
|
|
|
<refsect2>
|
|
<title>Cluster management</title>
|
|
|
|
<variablelist>
|
|
<varlistentry id="join_cluster">
|
|
<term><cmdsynopsis><command>join_cluster</command> <arg choice="req"><replaceable>clusternode</replaceable></arg> <arg choice="opt">--ram</arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>clusternode</term>
|
|
<listitem><para>Node to cluster with.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><arg choice="opt">--ram</arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
If provided, the node will join the cluster as a RAM node.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
Instruct the node to become a member of the cluster that the
|
|
specified node is in. Before clustering, the node is reset, so be
|
|
careful when using this command. For this command to succeed the
|
|
RabbitMQ application must have been stopped, e.g. with <link
|
|
linkend="stop_app"><command>stop_app</command></link>.
|
|
</para>
|
|
<para>
|
|
Cluster nodes can be of two types: disc or RAM. Disc nodes
|
|
replicate data in RAM and on disc, thus providing redundancy in
|
|
the event of node failure and recovery from global events such
|
|
as power failure across all nodes. RAM nodes replicate data in
|
|
RAM only (with the exception of queue contents, which can reside
|
|
on disc if the queue is persistent or too big to fit in memory)
|
|
and are mainly used for scalability. RAM nodes are more
|
|
performant only when managing resources (e.g. adding/removing
|
|
queues, exchanges, or bindings). A cluster must always have at
|
|
least one disc node, and usually should have more than one.
|
|
</para>
|
|
<para>
|
|
The node will be a disc node by default. If you wish to
|
|
create a RAM node, provide the <command>--ram</command> flag.
|
|
</para>
|
|
<para>
|
|
After executing the <command>cluster</command> command, whenever
|
|
the RabbitMQ application is started on the current node it will
|
|
attempt to connect to the nodes that were in the cluster when the
|
|
node went down.
|
|
</para>
|
|
<para>
|
|
To leave a cluster, <command>reset</command> the node. You can
|
|
also remove nodes remotely with the
|
|
<command>forget_cluster_node</command> command.
|
|
</para>
|
|
<para>
|
|
For more details see the <ulink
|
|
url="http://www.rabbitmq.com/clustering.html">clustering
|
|
guide</ulink>.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl join_cluster hare@elena --ram</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ node to join the cluster that
|
|
<command>hare@elena</command> is part of, as a ram node.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>cluster_status</command></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Displays all the nodes in the cluster grouped by node type,
|
|
together with the currently running nodes.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl cluster_status</screen>
|
|
<para role="example">
|
|
This command displays the nodes in the cluster.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>change_cluster_node_type</command> <arg choice="req">disc | ram</arg></cmdsynopsis>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Changes the type of the cluster node. The node must be stopped for
|
|
this operation to succeed, and when turning a node into a RAM node
|
|
the node must not be the only disc node in the cluster.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl change_cluster_node_type disc</screen>
|
|
<para role="example">
|
|
This command will turn a RAM node into a disc node.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>forget_cluster_node</command> <arg choice="opt">--offline</arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><arg choice="opt">--offline</arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Enables node removal from an offline node. This is only
|
|
useful in the situation where all the nodes are offline and
|
|
the last node to go down cannot be brought online, thus
|
|
preventing the whole cluster from starting. It should not be
|
|
used in any other circumstances since it can lead to
|
|
inconsistencies.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
Removes a cluster node remotely. The node that is being removed
|
|
must be offline, while the node we are removing from must be
|
|
online, except when using the <command>--offline</command> flag.
|
|
</para>
|
|
<para>
|
|
When using the <command>--offline</command> flag
|
|
rabbitmqctl will not attempt to connect to a node as
|
|
normal; instead it will temporarily become the node in
|
|
order to make the change. This is useful if the node
|
|
cannot be started normally. In this case the node will
|
|
become the canonical source for cluster metadata
|
|
(e.g. which queues exist), even if it was not
|
|
before. Therefore you should use this command on the
|
|
latest node to shut down if at all possible.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl -n hare@mcnulty forget_cluster_node rabbit@stringer</screen>
|
|
<para role="example">
|
|
This command will remove the node
|
|
<command>rabbit@stringer</command> from the node
|
|
<command>hare@mcnulty</command>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>rename_cluster_node</command> <arg choice="req">oldnode1</arg> <arg choice="req">newnode1</arg> <arg choice="opt">oldnode2</arg> <arg choice="opt">newnode2 ...</arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Supports renaming of cluster nodes in the local database.
|
|
</para>
|
|
<para>
|
|
This subcommand causes rabbitmqctl to temporarily become
|
|
the node in order to make the change. The local cluster
|
|
node must therefore be completely stopped; other nodes
|
|
can be online or offline.
|
|
</para>
|
|
<para>
|
|
This subcommand takes an even number of arguments, in
|
|
pairs representing the old and new names for nodes. You
|
|
must specify the old and new names for this node and for
|
|
any other nodes that are stopped and being renamed at
|
|
the same time.
|
|
</para>
|
|
<para>
|
|
It is possible to stop all nodes and rename them all
|
|
simultaneously (in which case old and new names for all
|
|
nodes must be given to every node) or stop and rename
|
|
nodes one at a time (in which case each node only needs
|
|
to be told how its own name is changing).
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl rename_cluster_node rabbit@misshelpful rabbit@cordelia</screen>
|
|
<para role="example">
|
|
This command will rename the node
|
|
<command>rabbit@misshelpful</command> to the node
|
|
<command>rabbit@cordelia</command>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>update_cluster_nodes</command> <arg choice="req">clusternode</arg></cmdsynopsis>
|
|
</term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>clusternode</term>
|
|
<listitem>
|
|
<para>
|
|
The node to consult for up to date information.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
Instructs an already clustered node to contact
|
|
<command>clusternode</command> to cluster when waking up. This is
|
|
different from <command>join_cluster</command> since it does not
|
|
join any cluster - it checks that the node is already in a cluster
|
|
with <command>clusternode</command>.
|
|
</para>
|
|
<para>
|
|
The need for this command is motivated by the fact that clusters
|
|
can change while a node is offline. Consider the situation in
|
|
which node A and B are clustered. A goes down, C clusters with B,
|
|
and then B leaves the cluster. When A wakes up, it'll try to
|
|
contact B, but this will fail since B is not in the cluster
|
|
anymore. <command>update_cluster_nodes -n A C</command> will solve
|
|
this situation.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>force_boot</command></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Ensure that the node will start next time, even if it
|
|
was not the last to shut down.
|
|
</para>
|
|
<para>
|
|
Normally when you shut down a RabbitMQ cluster
|
|
altogether, the first node you restart should be the
|
|
last one to go down, since it may have seen things
|
|
happen that other nodes did not. But sometimes
|
|
that's not possible: for instance if the entire cluster
|
|
loses power then all nodes may think they were not the
|
|
last to shut down.
|
|
</para>
|
|
<para>
|
|
In such a case you can invoke <command>rabbitmqctl
|
|
force_boot</command> while the node is down. This will
|
|
tell the node to unconditionally start next time you ask
|
|
it to. If any changes happened to the cluster after this
|
|
node shut down, they will be lost.
|
|
</para>
|
|
<para>
|
|
If the last node to go down is permanently lost then you
|
|
should use <command>rabbitmqctl forget_cluster_node
|
|
--offline</command> in preference to this command, as it
|
|
will ensure that mirrored queues which were mastered on
|
|
the lost node get promoted.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl force_boot</screen>
|
|
<para role="example">
|
|
This will force the node not to wait for other nodes
|
|
next time it is started.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>sync_queue</command> <arg choice="opt">-p <replaceable>vhost</replaceable></arg> <arg choice="req">queue</arg></cmdsynopsis>
|
|
</term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>queue</term>
|
|
<listitem>
|
|
<para>
|
|
The name of the queue to synchronise.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
Instructs a mirrored queue with unsynchronised slaves to
|
|
synchronise itself. The queue will block while
|
|
synchronisation takes place (all publishers to and
|
|
consumers from the queue will block). The queue must be
|
|
mirrored for this command to succeed.
|
|
</para>
|
|
<para>
|
|
Note that unsynchronised queues from which messages are
|
|
being drained will become synchronised eventually. This
|
|
command is primarily useful for queues which are not
|
|
being drained.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>cancel_sync_queue</command> <arg choice="opt">-p <replaceable>vhost</replaceable></arg> <arg choice="req">queue</arg></cmdsynopsis>
|
|
</term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>queue</term>
|
|
<listitem>
|
|
<para>
|
|
The name of the queue to cancel synchronisation for.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
Instructs a synchronising mirrored queue to stop
|
|
synchronising itself.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>purge_queue</command> <arg choice="opt">-p <replaceable>vhost</replaceable></arg> <arg choice="req">queue</arg></cmdsynopsis>
|
|
</term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>queue</term>
|
|
<listitem>
|
|
<para>
|
|
The name of the queue to purge.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
Purges a queue (removes all messages in it).
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>set_cluster_name</command> <arg choice="req">name</arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Sets the cluster name. The cluster name is announced to
|
|
clients on connection, and used by the federation and
|
|
shovel plugins to record where a message has been. The
|
|
cluster name is by default derived from the hostname of
|
|
the first node in the cluster, but can be changed.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl set_cluster_name london</screen>
|
|
<para role="example">
|
|
This sets the cluster name to "london".
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect2>
|
|
|
|
<refsect2>
|
|
<title>User management</title>
|
|
<para>
|
|
Note that <command>rabbitmqctl</command> manages the RabbitMQ
|
|
internal user database. Users from any alternative
|
|
authentication backend will not be visible
|
|
to <command>rabbitmqctl</command>.
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>add_user</command> <arg choice="req"><replaceable>username</replaceable></arg> <arg choice="req"><replaceable>password</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>username</term>
|
|
<listitem><para>The name of the user to create.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>password</term>
|
|
<listitem><para>The password the created user will use to log in to the broker.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl add_user tonyg changeit</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ broker to create a
|
|
(non-administrative) user named <command>tonyg</command> with
|
|
(initial) password
|
|
<command>changeit</command>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>delete_user</command> <arg choice="req"><replaceable>username</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>username</term>
|
|
<listitem><para>The name of the user to delete.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl delete_user tonyg</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ broker to delete the
|
|
user named <command>tonyg</command>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>change_password</command> <arg choice="req"><replaceable>username</replaceable></arg> <arg choice="req"><replaceable>newpassword</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>username</term>
|
|
<listitem><para>The name of the user whose password is to be changed.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>newpassword</term>
|
|
<listitem><para>The new password for the user.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl change_password tonyg newpass</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ broker to change the
|
|
password for the user named <command>tonyg</command> to
|
|
<command>newpass</command>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>clear_password</command> <arg choice="req"><replaceable>username</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>username</term>
|
|
<listitem><para>The name of the user whose password is to be cleared.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl clear_password tonyg</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ broker to clear the
|
|
password for the user named
|
|
<command>tonyg</command>. This user now cannot log in with a password (but may be able to through e.g. SASL EXTERNAL if configured).
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>
|
|
<cmdsynopsis><command>authenticate_user</command> <arg choice="req"><replaceable>username</replaceable></arg> <arg choice="req"><replaceable>password</replaceable></arg></cmdsynopsis>
|
|
</term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>username</term>
|
|
<listitem><para>The name of the user.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>password</term>
|
|
<listitem><para>The password of the user.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl authenticate_user tonyg verifyit</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ broker to authenticate the
|
|
user named <command>tonyg</command> with password
|
|
<command>verifyit</command>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>set_user_tags</command> <arg choice="req"><replaceable>username</replaceable></arg> <arg choice="req"><replaceable>tag</replaceable> ...</arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>username</term>
|
|
<listitem><para>The name of the user whose tags are to
|
|
be set.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>tag</term>
|
|
<listitem><para>Zero, one or more tags to set. Any
|
|
existing tags will be removed.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl set_user_tags tonyg administrator</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ broker to ensure the user
|
|
named <command>tonyg</command> is an administrator. This has no
|
|
effect when the user logs in via AMQP, but can be used to permit
|
|
the user to manage users, virtual hosts and permissions when the
|
|
user logs in via some other means (for example with the
|
|
management plugin).
|
|
</para>
|
|
<screen role="example">rabbitmqctl set_user_tags tonyg</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ broker to remove any
|
|
tags from the user named <command>tonyg</command>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>list_users</command></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Lists users. Each result row will contain the user name
|
|
followed by a list of the tags set for that user.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl list_users</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ broker to list all
|
|
users.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect2>
|
|
|
|
<refsect2>
|
|
<title>Access control</title>
|
|
<para>
|
|
Note that <command>rabbitmqctl</command> manages the RabbitMQ
|
|
internal user database. Permissions for users from any
|
|
alternative authorisation backend will not be visible
|
|
to <command>rabbitmqctl</command>.
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>add_vhost</command> <arg choice="req"><replaceable>vhost</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>vhost</term>
|
|
<listitem><para>The name of the virtual host entry to create.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
Creates a virtual host.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl add_vhost test</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ broker to create a new
|
|
virtual host called <command>test</command>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>delete_vhost</command> <arg choice="req"><replaceable>vhost</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>vhost</term>
|
|
<listitem><para>The name of the virtual host entry to delete.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
Deletes a virtual host.
|
|
</para>
|
|
<para>
|
|
Deleting a virtual host deletes all its exchanges,
|
|
queues, bindings, user permissions, parameters and policies.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl delete_vhost test</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ broker to delete the
|
|
virtual host called <command>test</command>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry role="usage-has-option-list">
|
|
<term><cmdsynopsis><command>list_vhosts</command> <arg choice="opt" role="usage-option-list"><replaceable>vhostinfoitem</replaceable> ...</arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Lists virtual hosts.
|
|
</para>
|
|
<para>
|
|
The <command>vhostinfoitem</command> parameter is used to indicate which
|
|
virtual host information items to include in the results. The column order in the
|
|
results will match the order of the parameters.
|
|
<command>vhostinfoitem</command> can take any value from
|
|
the list that follows:
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>name</term>
|
|
<listitem><para>The name of the virtual host with non-ASCII characters escaped as in C.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>tracing</term>
|
|
<listitem><para>Whether tracing is enabled for this virtual host.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
If no <command>vhostinfoitem</command>s are specified
|
|
then the vhost name is displayed.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl list_vhosts name tracing</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ broker to list all
|
|
virtual hosts.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>set_permissions</command> <arg choice="opt">-p <replaceable>vhost</replaceable></arg> <arg choice="req"><replaceable>user</replaceable></arg> <arg choice="req"><replaceable>conf</replaceable></arg> <arg choice="req"><replaceable>write</replaceable></arg> <arg choice="req"><replaceable>read</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>vhost</term>
|
|
<listitem><para>The name of the virtual host to which to grant the user access, defaulting to <command>/</command>.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>user</term>
|
|
<listitem><para>The name of the user to grant access to the specified virtual host.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>conf</term>
|
|
<listitem><para>A regular expression matching resource names for which the user is granted configure permissions.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>write</term>
|
|
<listitem><para>A regular expression matching resource names for which the user is granted write permissions.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>read</term>
|
|
<listitem><para>A regular expression matching resource names for which the user is granted read permissions.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
Sets user permissions.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl set_permissions -p /myvhost tonyg "^tonyg-.*" ".*" ".*"</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ broker to grant the
|
|
user named <command>tonyg</command> access to the virtual host
|
|
called <command>/myvhost</command>, with configure permissions
|
|
on all resources whose names starts with "tonyg-", and
|
|
write and read permissions on all resources.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>clear_permissions</command> <arg choice="opt">-p <replaceable>vhost</replaceable></arg> <arg choice="req"><replaceable>username</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>vhost</term>
|
|
<listitem><para>The name of the virtual host to which to deny the user access, defaulting to <command>/</command>.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>username</term>
|
|
<listitem><para>The name of the user to deny access to the specified virtual host.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
Sets user permissions.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl clear_permissions -p /myvhost tonyg</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ broker to deny the
|
|
user named <command>tonyg</command> access to the virtual host
|
|
called <command>/myvhost</command>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>list_permissions</command> <arg choice="opt">-p <replaceable>vhost</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>vhost</term>
|
|
<listitem><para>The name of the virtual host for which to list the users that have been granted access to it, and their permissions. Defaults to <command>/</command>.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
Lists permissions in a virtual host.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl list_permissions -p /myvhost</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ broker to list all
|
|
the users which have been granted access to the virtual
|
|
host called <command>/myvhost</command>, and the
|
|
permissions they have for operations on resources in
|
|
that virtual host. Note that an empty string means no
|
|
permissions granted.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>list_user_permissions</command> <arg choice="req"><replaceable>username</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>username</term>
|
|
<listitem><para>The name of the user for which to list the permissions.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
Lists user permissions.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl list_user_permissions tonyg</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ broker to list all the
|
|
virtual hosts to which the user named <command>tonyg</command>
|
|
has been granted access, and the permissions the user has
|
|
for operations on resources in these virtual hosts.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect2>
|
|
|
|
<refsect2>
|
|
<title>Parameter Management</title>
|
|
<para>
|
|
Certain features of RabbitMQ (such as the federation plugin)
|
|
are controlled by dynamic,
|
|
cluster-wide <emphasis>parameters</emphasis>. Each parameter
|
|
consists of a component name, a name and a value, and is
|
|
associated with a virtual host. The component name and name are
|
|
strings, and the value is an Erlang term. Parameters can be
|
|
set, cleared and listed. In general you should refer to the
|
|
documentation for the feature in question to see how to set
|
|
parameters.
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>set_parameter</command> <arg choice="opt">-p <replaceable>vhost</replaceable></arg> <arg choice="req"><replaceable>component_name</replaceable></arg> <arg choice="req"><replaceable>name</replaceable></arg> <arg choice="req"><replaceable>value</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Sets a parameter.
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>component_name</term>
|
|
<listitem><para>
|
|
The name of the component for which the
|
|
parameter is being set.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>name</term>
|
|
<listitem><para>
|
|
The name of the parameter being set.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>value</term>
|
|
<listitem><para>
|
|
The value for the parameter, as a
|
|
JSON term. In most shells you are very likely to
|
|
need to quote this.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl set_parameter federation local_username '"guest"'</screen>
|
|
<para role="example">
|
|
This command sets the parameter <command>local_username</command> for the <command>federation</command> component in the default virtual host to the JSON term <command>"guest"</command>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>clear_parameter</command> <arg choice="opt">-p <replaceable>vhost</replaceable></arg> <arg choice="req"><replaceable>component_name</replaceable></arg> <arg choice="req"><replaceable>key</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Clears a parameter.
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>component_name</term>
|
|
<listitem><para>
|
|
The name of the component for which the
|
|
parameter is being cleared.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>name</term>
|
|
<listitem><para>
|
|
The name of the parameter being cleared.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl clear_parameter federation local_username</screen>
|
|
<para role="example">
|
|
This command clears the parameter <command>local_username</command> for the <command>federation</command> component in the default virtual host.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>list_parameters</command> <arg choice="opt">-p <replaceable>vhost</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Lists all parameters for a virtual host.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl list_parameters</screen>
|
|
<para role="example">
|
|
This command lists all parameters in the default virtual host.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect2>
|
|
|
|
<refsect2>
|
|
<title>Policy Management</title>
|
|
<para>
|
|
Policies are used to control and modify the behaviour of queues
|
|
and exchanges on a cluster-wide basis. Policies apply within a
|
|
given vhost, and consist of a name, pattern, definition and an
|
|
optional priority. Policies can be set, cleared and listed.
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>set_policy</command> <arg choice="opt">-p <replaceable>vhost</replaceable></arg> <arg choice="opt">--priority <replaceable>priority</replaceable></arg> <arg choice="opt">--apply-to <replaceable>apply-to</replaceable></arg> <arg choice="req"><replaceable>name</replaceable></arg> <arg choice="req"><replaceable>pattern</replaceable></arg> <arg choice="req"><replaceable>definition</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Sets a policy.
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>name</term>
|
|
<listitem><para>
|
|
The name of the policy.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>pattern</term>
|
|
<listitem><para>
|
|
The regular expression, which when matches on a given resources causes the policy to apply.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>definition</term>
|
|
<listitem><para>
|
|
The definition of the policy, as a
|
|
JSON term. In most shells you are very likely to
|
|
need to quote this.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>priority</term>
|
|
<listitem><para>
|
|
The priority of the policy as an integer. Higher numbers indicate greater precedence. The default is 0.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>apply-to</term>
|
|
<listitem><para>
|
|
Which types of object this policy should apply to - "queues", "exchanges" or "all". The default is "all".
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl set_policy federate-me "^amq." '{"federation-upstream-set":"all"}'</screen>
|
|
<para role="example">
|
|
This command sets the policy <command>federate-me</command> in the default virtual host so that built-in exchanges are federated.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>clear_policy</command> <arg choice="opt">-p <replaceable>vhost</replaceable></arg> <arg choice="req"><replaceable>name</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Clears a policy.
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>name</term>
|
|
<listitem><para>
|
|
The name of the policy being cleared.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl clear_policy federate-me</screen>
|
|
<para role="example">
|
|
This command clears the <command>federate-me</command> policy in the default virtual host.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>list_policies</command> <arg choice="opt">-p <replaceable>vhost</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Lists all policies for a virtual host.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl list_policies</screen>
|
|
<para role="example">
|
|
This command lists all policies in the default virtual host.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect2>
|
|
|
|
<refsect2>
|
|
<title>Server Status</title>
|
|
<para>
|
|
The server status queries interrogate the server and return a list of
|
|
results with tab-delimited columns. Some queries (<command>list_queues</command>,
|
|
<command>list_exchanges</command>, <command>list_bindings</command>, and
|
|
<command>list_consumers</command>) accept an
|
|
optional <command>vhost</command> parameter. This parameter, if present, must be
|
|
specified immediately after the query.
|
|
</para>
|
|
<para role="usage">
|
|
The list_queues, list_exchanges and list_bindings commands accept an
|
|
optional virtual host parameter for which to display results. The
|
|
default value is "/".
|
|
</para>
|
|
|
|
<variablelist>
|
|
<varlistentry role="usage-has-option-list">
|
|
<term>
|
|
<cmdsynopsis><command>list_queues</command> <arg choice="opt">-p <replaceable>vhost</replaceable></arg> <group choice="opt"><arg>--offline</arg><arg>--online</arg><arg>--local</arg></group> <arg choice="opt" role="usage-option-list"><replaceable>queueinfoitem</replaceable> ...</arg></cmdsynopsis>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Returns queue details. Queue details of the <command>/</command> virtual host
|
|
are returned if the "-p" flag is absent. The "-p" flag can be used to
|
|
override this default.
|
|
</para>
|
|
<para>
|
|
Displayed queues can be filtered by their status or
|
|
location using one of the following mutually exclusive
|
|
options:
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><arg choice="opt">--offline</arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
List only those durable queues that are not
|
|
currently running - i.e. they are located on
|
|
inaccessible nodes.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><arg choice="opt">--online</arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
List queues that are currently live.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><arg choice="opt">--local</arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
List only those queues whose master process is
|
|
located on the current node.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
<para>
|
|
The <command>queueinfoitem</command> parameter is used to indicate which queue
|
|
information items to include in the results. The column order in the
|
|
results will match the order of the parameters.
|
|
<command>queueinfoitem</command> can take any value from the list
|
|
that follows:
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>name</term>
|
|
<listitem><para>The name of the queue with non-ASCII characters escaped as in C.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>durable</term>
|
|
<listitem><para>Whether or not the queue survives server restarts.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>auto_delete</term>
|
|
<listitem><para>Whether the queue will be deleted automatically when no longer used.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>arguments</term>
|
|
<listitem><para>Queue arguments.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>policy</term>
|
|
<listitem><para>Policy name applying to the queue.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>pid</term>
|
|
<listitem><para>Id of the Erlang process associated with the queue.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>owner_pid</term>
|
|
<listitem><para>Id of the Erlang process representing the connection
|
|
which is the exclusive owner of the queue. Empty if the
|
|
queue is non-exclusive.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>exclusive</term>
|
|
<listitem><para>True if queue is exclusive (i.e. has
|
|
owner_pid), false otherwise</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>exclusive_consumer_pid</term>
|
|
<listitem><para>Id of the Erlang process representing the channel of the
|
|
exclusive consumer subscribed to this queue. Empty if
|
|
there is no exclusive consumer.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>exclusive_consumer_tag</term>
|
|
<listitem><para>Consumer tag of the exclusive consumer subscribed to
|
|
this queue. Empty if there is no exclusive consumer.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>messages_ready</term>
|
|
<listitem><para>Number of messages ready to be delivered to clients.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>messages_unacknowledged</term>
|
|
<listitem><para>Number of messages delivered to clients but not yet acknowledged.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>messages</term>
|
|
<listitem><para>Sum of ready and unacknowledged messages
|
|
(queue depth).</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>messages_ready_ram</term>
|
|
<listitem><para>Number of messages from messages_ready which are resident in ram.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>messages_unacknowledged_ram</term>
|
|
<listitem><para>Number of messages from messages_unacknowledged which are resident in ram.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>messages_ram</term>
|
|
<listitem><para>Total number of messages which are resident in ram.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>messages_persistent</term>
|
|
<listitem><para>Total number of persistent messages in the queue (will always be 0 for transient queues).</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>message_bytes</term>
|
|
<listitem><para>Sum of the size of all message bodies in the queue. This does not include the message properties (including headers) or any overhead.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>message_bytes_ready</term>
|
|
<listitem><para>Like <command>message_bytes</command> but counting only those messages ready to be delivered to clients.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>message_bytes_unacknowledged</term>
|
|
<listitem><para>Like <command>message_bytes</command> but counting only those messages delivered to clients but not yet acknowledged.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>message_bytes_ram</term>
|
|
<listitem><para>Like <command>message_bytes</command> but counting only those messages which are in RAM.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>message_bytes_persistent</term>
|
|
<listitem><para>Like <command>message_bytes</command> but counting only those messages which are persistent.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>head_message_timestamp</term>
|
|
<listitem><para>The timestamp property of the first message in the queue, if present. Timestamps of messages only appear when they are in the paged-in state.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>disk_reads</term>
|
|
<listitem><para>Total number of times messages have been read from disk by this queue since it started.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>disk_writes</term>
|
|
<listitem><para>Total number of times messages have been written to disk by this queue since it started.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>consumers</term>
|
|
<listitem><para>Number of consumers.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>consumer_utilisation</term>
|
|
<listitem><para>Fraction of the time (between 0.0 and 1.0)
|
|
that the queue is able to immediately deliver messages to
|
|
consumers. This can be less than 1.0 if consumers are limited
|
|
by network congestion or prefetch count.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>memory</term>
|
|
<listitem><para>Bytes of memory consumed by the Erlang process associated with the
|
|
queue, including stack, heap and internal structures.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>slave_pids</term>
|
|
<listitem><para>If the queue is mirrored, this gives the IDs of the current slaves.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>synchronised_slave_pids</term>
|
|
<listitem><para>If the queue is mirrored, this gives the IDs of
|
|
the current slaves which are synchronised with the master -
|
|
i.e. those which could take over from the master without
|
|
message loss.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>state</term>
|
|
<listitem><para>The state of the queue. Normally
|
|
'running', but may be "{syncing, MsgCount}" if the
|
|
queue is synchronising. Queues which are located on
|
|
cluster nodes that are currently down will be shown
|
|
with a status of 'down' (and most other
|
|
<command>queueinfoitem</command>s will be
|
|
unavailable).</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
If no <command>queueinfoitem</command>s are specified then queue name and depth are
|
|
displayed.
|
|
</para>
|
|
<para role="example-prefix">
|
|
For example:
|
|
</para>
|
|
<screen role="example">rabbitmqctl list_queues -p /myvhost messages consumers</screen>
|
|
<para role="example">
|
|
This command displays the depth and number of consumers for each
|
|
queue of the virtual host named <command>/myvhost</command>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry role="usage-has-option-list">
|
|
<term><cmdsynopsis><command>list_exchanges</command> <arg choice="opt">-p <replaceable>vhost</replaceable></arg> <arg choice="opt" role="usage-option-list"><replaceable>exchangeinfoitem</replaceable> ...</arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Returns exchange details. Exchange details of the <command>/</command> virtual host
|
|
are returned if the "-p" flag is absent. The "-p" flag can be used to
|
|
override this default.
|
|
</para>
|
|
<para>
|
|
The <command>exchangeinfoitem</command> parameter is used to indicate which
|
|
exchange information items to include in the results. The column order in the
|
|
results will match the order of the parameters.
|
|
<command>exchangeinfoitem</command> can take any value from the list
|
|
that follows:
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>name</term>
|
|
<listitem><para>The name of the exchange with non-ASCII characters escaped as in C.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>type</term>
|
|
<listitem><para>The exchange type (such as
|
|
[<command>direct</command>,
|
|
<command>topic</command>, <command>headers</command>,
|
|
<command>fanout</command>]).</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>durable</term>
|
|
<listitem><para>Whether or not the exchange survives server restarts.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>auto_delete</term>
|
|
<listitem><para>Whether the exchange will be deleted automatically when no longer used.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>internal</term>
|
|
<listitem><para>Whether the exchange is internal, i.e. cannot be directly published to by a client.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>arguments</term>
|
|
<listitem><para>Exchange arguments.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>policy</term>
|
|
<listitem><para>Policy name for applying to the exchange.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
If no <command>exchangeinfoitem</command>s are specified then
|
|
exchange name and type are displayed.
|
|
</para>
|
|
<para role="example-prefix">
|
|
For example:
|
|
</para>
|
|
<screen role="example">rabbitmqctl list_exchanges -p /myvhost name type</screen>
|
|
<para role="example">
|
|
This command displays the name and type for each
|
|
exchange of the virtual host named <command>/myvhost</command>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry role="usage-has-option-list">
|
|
<term><cmdsynopsis><command>list_bindings</command> <arg choice="opt">-p <replaceable>vhost</replaceable></arg> <arg choice="opt" role="usage-option-list"><replaceable>bindinginfoitem</replaceable> ...</arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Returns binding details. By default the bindings for
|
|
the <command>/</command> virtual host are returned. The
|
|
"-p" flag can be used to override this default.
|
|
</para>
|
|
<para>
|
|
The <command>bindinginfoitem</command> parameter is used
|
|
to indicate which binding information items to include
|
|
in the results. The column order in the results will
|
|
match the order of the parameters.
|
|
<command>bindinginfoitem</command> can take any value
|
|
from the list that follows:
|
|
</para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>source_name</term>
|
|
<listitem><para>The name of the source of messages to
|
|
which the binding is attached. With non-ASCII
|
|
characters escaped as in C.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>source_kind</term>
|
|
<listitem><para>The kind of the source of messages to
|
|
which the binding is attached. Currently always
|
|
exchange. With non-ASCII characters escaped as in
|
|
C.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>destination_name</term>
|
|
<listitem><para>The name of the destination of
|
|
messages to which the binding is attached. With
|
|
non-ASCII characters escaped as in
|
|
C.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>destination_kind</term>
|
|
<listitem><para>The kind of the destination of
|
|
messages to which the binding is attached. With
|
|
non-ASCII characters escaped as in
|
|
C.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>routing_key</term>
|
|
<listitem><para>The binding's routing key, with
|
|
non-ASCII characters escaped as in C.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>arguments</term>
|
|
<listitem><para>The binding's arguments.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
If no <command>bindinginfoitem</command>s are specified then
|
|
all above items are displayed.
|
|
</para>
|
|
<para role="example-prefix">
|
|
For example:
|
|
</para>
|
|
<screen role="example">rabbitmqctl list_bindings -p /myvhost exchange_name queue_name</screen>
|
|
<para role="example">
|
|
This command displays the exchange name and queue name
|
|
of the bindings in the virtual host
|
|
named <command>/myvhost</command>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry id="list_connections" role="usage-has-option-list">
|
|
<term><cmdsynopsis><command>list_connections</command> <arg choice="opt" role="usage-option-list"><replaceable>connectioninfoitem</replaceable> ...</arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Returns TCP/IP connection statistics.
|
|
</para>
|
|
<para>
|
|
The <command>connectioninfoitem</command> parameter is used to indicate
|
|
which connection information items to include in the results. The
|
|
column order in the results will match the order of the parameters.
|
|
<command>connectioninfoitem</command> can take any value from the list
|
|
that follows:
|
|
</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>pid</term>
|
|
<listitem><para>Id of the Erlang process associated with the connection.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>name</term>
|
|
<listitem><para>Readable name for the connection.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>port</term>
|
|
<listitem><para>Server port.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>host</term>
|
|
<listitem><para>Server hostname obtained via reverse
|
|
DNS, or its IP address if reverse DNS failed or was
|
|
not enabled.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>peer_port</term>
|
|
<listitem><para>Peer port.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>peer_host</term>
|
|
<listitem><para>Peer hostname obtained via reverse
|
|
DNS, or its IP address if reverse DNS failed or was
|
|
not enabled.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>ssl</term>
|
|
<listitem><para>Boolean indicating whether the
|
|
connection is secured with SSL.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>ssl_protocol</term>
|
|
<listitem><para>SSL protocol
|
|
(e.g. tlsv1)</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>ssl_key_exchange</term>
|
|
<listitem><para>SSL key exchange algorithm
|
|
(e.g. rsa)</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>ssl_cipher</term>
|
|
<listitem><para>SSL cipher algorithm
|
|
(e.g. aes_256_cbc)</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>ssl_hash</term>
|
|
<listitem><para>SSL hash function
|
|
(e.g. sha)</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>peer_cert_subject</term>
|
|
<listitem><para>The subject of the peer's SSL
|
|
certificate, in RFC4514 form.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>peer_cert_issuer</term>
|
|
<listitem><para>The issuer of the peer's SSL
|
|
certificate, in RFC4514 form.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>peer_cert_validity</term>
|
|
<listitem><para>The period for which the peer's SSL
|
|
certificate is valid.</para></listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term>state</term>
|
|
<listitem><para>Connection state (one of [<command>starting</command>, <command>tuning</command>,
|
|
<command>opening</command>, <command>running</command>, <command>flow</command>, <command>blocking</command>, <command>blocked</command>, <command>closing</command>, <command>closed</command>]).</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>channels</term>
|
|
<listitem><para>Number of channels using the connection.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>protocol</term>
|
|
<listitem><para>Version of the AMQP protocol in use (currently one of <command>{0,9,1}</command> or <command>{0,8,0}</command>). Note that if a client requests an AMQP 0-9 connection, we treat it as AMQP 0-9-1.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>auth_mechanism</term>
|
|
<listitem><para>SASL authentication mechanism used, such as <command>PLAIN</command>.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>user</term>
|
|
<listitem><para>Username associated with the connection.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>vhost</term>
|
|
<listitem><para>Virtual host name with non-ASCII characters escaped as in C.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>timeout</term>
|
|
<listitem><para>Connection timeout / negotiated heartbeat interval, in seconds.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>frame_max</term>
|
|
<listitem><para>Maximum frame size (bytes).</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>channel_max</term>
|
|
<listitem><para>Maximum number of channels on this connection.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>client_properties</term>
|
|
<listitem><para>Informational properties transmitted by the client
|
|
during connection establishment.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>recv_oct</term>
|
|
<listitem><para>Octets received.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>recv_cnt</term>
|
|
<listitem><para>Packets received.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>send_oct</term>
|
|
<listitem><para>Octets send.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>send_cnt</term>
|
|
<listitem><para>Packets sent.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>send_pend</term>
|
|
<listitem><para>Send queue size.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>connected_at</term>
|
|
<listitem><para>Date and time this connection was established, as timestamp.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
If no <command>connectioninfoitem</command>s are
|
|
specified then user, peer host, peer port, time since
|
|
flow control and memory block state are displayed.
|
|
</para>
|
|
|
|
<para role="example-prefix">
|
|
For example:
|
|
</para>
|
|
<screen role="example">rabbitmqctl list_connections send_pend port</screen>
|
|
<para role="example">
|
|
This command displays the send queue size and server port for each
|
|
connection.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry role="usage-has-option-list">
|
|
<term><cmdsynopsis><command>list_channels</command> <arg choice="opt" role="usage-option-list"><replaceable>channelinfoitem</replaceable> ...</arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Returns information on all current channels, the logical
|
|
containers executing most AMQP commands. This includes
|
|
channels that are part of ordinary AMQP connections, and
|
|
channels created by various plug-ins and other extensions.
|
|
</para>
|
|
<para>
|
|
The <command>channelinfoitem</command> parameter is used to
|
|
indicate which channel information items to include in the
|
|
results. The column order in the results will match the
|
|
order of the parameters.
|
|
<command>channelinfoitem</command> can take any value from the list
|
|
that follows:
|
|
</para>
|
|
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>pid</term>
|
|
<listitem><para>Id of the Erlang process associated with the connection.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>connection</term>
|
|
<listitem><para>Id of the Erlang process associated with the connection
|
|
to which the channel belongs.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>name</term>
|
|
<listitem><para>Readable name for the channel.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>number</term>
|
|
<listitem><para>The number of the channel, which uniquely identifies it within
|
|
a connection.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>user</term>
|
|
<listitem><para>Username associated with the channel.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>vhost</term>
|
|
<listitem><para>Virtual host in which the channel operates.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>transactional</term>
|
|
<listitem><para>True if the channel is in transactional mode, false otherwise.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>confirm</term>
|
|
<listitem><para>True if the channel is in confirm mode, false otherwise.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>consumer_count</term>
|
|
<listitem><para>Number of logical AMQP consumers retrieving messages via
|
|
the channel.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>messages_unacknowledged</term>
|
|
<listitem><para>Number of messages delivered via this channel but not
|
|
yet acknowledged.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>messages_uncommitted</term>
|
|
<listitem><para>Number of messages received in an as yet
|
|
uncommitted transaction.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>acks_uncommitted</term>
|
|
<listitem><para>Number of acknowledgements received in an as yet
|
|
uncommitted transaction.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>messages_unconfirmed</term>
|
|
<listitem><para>Number of published messages not yet
|
|
confirmed. On channels not in confirm mode, this
|
|
remains 0.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>prefetch_count</term>
|
|
<listitem><para>QoS prefetch limit for new consumers, 0 if unlimited.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>global_prefetch_count</term>
|
|
<listitem><para>QoS prefetch limit for the entire channel, 0 if unlimited.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
If no <command>channelinfoitem</command>s are specified then pid,
|
|
user, consumer_count, and messages_unacknowledged are assumed.
|
|
</para>
|
|
|
|
<para role="example-prefix">
|
|
For example:
|
|
</para>
|
|
<screen role="example">rabbitmqctl list_channels connection messages_unacknowledged</screen>
|
|
<para role="example">
|
|
This command displays the connection process and count
|
|
of unacknowledged messages for each channel.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>list_consumers</command> <arg choice="opt">-p <replaceable>vhost</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
List consumers, i.e. subscriptions to a queue's message
|
|
stream. Each line printed shows, separated by tab
|
|
characters, the name of the queue subscribed to, the id of
|
|
the channel process via which the subscription was created
|
|
and is managed, the consumer tag which uniquely identifies
|
|
the subscription within a channel, a boolean
|
|
indicating whether acknowledgements are expected for
|
|
messages delivered to this consumer, an integer indicating
|
|
the prefetch limit (with 0 meaning 'none'), and any arguments
|
|
for this consumer.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>status</command></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Displays broker status information such as the running
|
|
applications on the current Erlang node, RabbitMQ and
|
|
Erlang versions, OS name, memory and file descriptor
|
|
statistics. (See the <command>cluster_status</command>
|
|
command to find out which nodes are clustered and
|
|
running.)
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl status</screen>
|
|
<para role="example">
|
|
This command displays information about the RabbitMQ
|
|
broker.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>node_health_check</command></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Health check of the RabbitMQ node. Verifies the rabbit application is
|
|
running, list_queues and list_channels return, and alarms are not set.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl node_health_check -n rabbit@stringer</screen>
|
|
<para role="example">
|
|
This command performs a health check on the RabbitMQ node.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>environment</command></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Display the name and value of each variable in the
|
|
application environment for each running application.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>report</command></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Generate a server status report containing a
|
|
concatenation of all server status information for
|
|
support purposes. The output should be redirected to a
|
|
file when accompanying a support request.
|
|
</para>
|
|
<para role="example-prefix">
|
|
For example:
|
|
</para>
|
|
<screen role="example">rabbitmqctl report > server_report.txt</screen>
|
|
<para role="example">
|
|
This command creates a server report which may be
|
|
attached to a support request email.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>eval</command> <arg choice="req"><replaceable>expr</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<para>
|
|
Evaluate an arbitrary Erlang expression.
|
|
</para>
|
|
<para role="example-prefix">
|
|
For example:
|
|
</para>
|
|
<screen role="example">rabbitmqctl eval 'node().'</screen>
|
|
<para role="example">
|
|
This command returns the name of the node to which rabbitmqctl has connected.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect2>
|
|
|
|
<refsect2>
|
|
<title>Miscellaneous</title>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>close_connection</command> <arg choice="req"><replaceable>connectionpid</replaceable></arg> <arg choice="req"><replaceable>explanation</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>connectionpid</term>
|
|
<listitem><para>Id of the Erlang process associated with the connection to close.</para></listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>explanation</term>
|
|
<listitem><para>Explanation string.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
Instruct the broker to close the connection associated
|
|
with the Erlang process id <option>connectionpid</option> (see also the
|
|
<link linkend="list_connections"><command>list_connections</command></link>
|
|
command), passing the <option>explanation</option> string to the
|
|
connected client as part of the AMQP connection shutdown
|
|
protocol.
|
|
</para>
|
|
<para role="example-prefix">For example:</para>
|
|
<screen role="example">rabbitmqctl close_connection "<rabbit@tanto.4262.0>" "go away"</screen>
|
|
<para role="example">
|
|
This command instructs the RabbitMQ broker to close the
|
|
connection associated with the Erlang process
|
|
id <command><rabbit@tanto.4262.0></command>, passing the
|
|
explanation <command>go away</command> to the connected client.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>trace_on</command> <arg choice="opt">-p <replaceable>vhost</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>vhost</term>
|
|
<listitem><para>The name of the virtual host for which to start tracing.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
Starts tracing. Note that the trace state is not
|
|
persistent; it will revert to being off if the server is
|
|
restarted.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>trace_off</command> <arg choice="opt">-p <replaceable>vhost</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>vhost</term>
|
|
<listitem><para>The name of the virtual host for which to stop tracing.</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
<para>
|
|
Stops tracing.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>set_vm_memory_high_watermark</command> <arg choice="req"><replaceable>fraction</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>fraction</term>
|
|
<listitem><para>
|
|
The new memory threshold fraction at which flow
|
|
control is triggered, as a floating point number
|
|
greater than or equal to 0.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>set_vm_memory_high_watermark absolute</command> <arg choice="req"><replaceable>memory_limit</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>memory_limit</term>
|
|
<listitem><para>
|
|
The new memory limit at which flow control is
|
|
triggered, expressed in bytes as an integer number
|
|
greater than or equal to 0 or as a string with memory units
|
|
(e.g. 512M or 1G). Available units are:
|
|
k, kiB: kibibytes (2^10 bytes)
|
|
M, MiB: mebibytes (2^20)
|
|
G, GiB: gibibytes (2^30)
|
|
kB: kilobytes (10^3)
|
|
MB: megabytes (10^6)
|
|
GB: gigabytes (10^9)
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>set_disk_free_limit</command> <arg choice="req"><replaceable>disk_limit</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>disk_limit</term>
|
|
<listitem><para>
|
|
Lower bound limit as an integer in bytes or a string with memory units (see vm_memory_high_watermark),
|
|
e.g. 512M or 1G. Once free disk space reaches the limit, a disk alarm will be set.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><cmdsynopsis><command>set_disk_free_limit mem_relative</command> <arg choice="req"><replaceable>fraction</replaceable></arg></cmdsynopsis></term>
|
|
<listitem>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term>fraction</term>
|
|
<listitem><para>
|
|
Limit relative to the total amount available RAM
|
|
as a non-negative floating point number.
|
|
Values lower than 1.0 can be dangerous and
|
|
should be used carefully.
|
|
</para></listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect2>
|
|
</refsect1>
|
|
|
|
</refentry>
|