跳至主要内容
版本:4.0

rabbitmqctl.8

名称

rabbitmqctl用于管理 RabbitMQ 节点的工具

语法

rabbitmqctl[-q] [-s] [-l] [-n 节点] [-t 超时时间] 命令 [命令选项]

描述

RabbitMQ 是一个开源的多协议消息代理。

rabbitmqctl 是用于管理 RabbitMQ 服务器节点的主要命令行工具,与 rabbitmq-diagnosticsrabbitmq-upgrade 等工具一起使用。

它通过连接到目标 RabbitMQ 节点上的专用 CLI 工具通信端口并使用共享密钥(称为 cookie 文件)进行身份验证来执行所有操作。

如果连接失败、目标节点未运行或 rabbitmqctl 无法成功向目标节点进行身份验证,则会显示诊断信息。

要了解更多信息,请参阅 RabbitMQ CLI 工具指南

选项

-n 节点

默认节点为“rabbit@目标主机名”,其中 目标主机名 是本地主机。在名为“myserver.example.com”的主机上,节点名称通常为“rabbit@myserver”(除非已覆盖 RABBITMQ_NODENAME,在这种情况下,您需要使用

--longnames

)。“hostname -s”的输出通常是在“@”符号后使用的正确主机名。有关配置 RabbitMQ 节点的详细信息,请参阅 rabbitmq-server(8)

-q--quiet

选中静默输出模式。启用静默模式时,信息消息会减少。

-s--silent

选中静默输出模式。启用静默模式时,信息消息会减少,并且表头会被抑制。

--no-table-headers

不输出表格数据的标题。

--dry-run

不运行命令。仅打印信息消息。

-t 超时时间--timeout 超时时间

操作超时时间(秒)。并非所有命令都支持超时。默认值为 infinity

-l--longnames

当集群配置为使用长(FQDN)节点名称时,必须指定此选项。要了解更多信息,请参阅 RabbitMQ 集群指南

用于向目标节点进行身份验证的共享密钥。建议使用本地文件或 RABBITMQ_ERLANG_COOKIE 环境变量,而不是在命令行上指定此选项。要了解更多信息,请参阅 RabbitMQ CLI 工具指南

命令

help [-l] [命令名称]

打印所有可用命令的用法。

-l--list-commands

仅列出命令用法,不带参数说明。
命令名称
打印指定命令的用法。

version

显示 CLI 工具版本

节点

await_startup

等待 RabbitMQ 应用程序在目标节点上启动

例如,要等待 RabbitMQ 应用程序启动

rabbitmqctl await_startup

reset

将 RabbitMQ 节点恢复到初始状态。

从其所属的任何集群中移除节点,从管理数据库中移除所有数据(例如配置的用户和虚拟主机),并删除所有持久消息。

要使 resetforce_reset 成功,必须先停止 RabbitMQ 应用程序,例如使用 stop_app

例如,要重置 RabbitMQ 节点

rabbitmqctl reset

rotate_logs

指示 RabbitMQ 节点执行内部日志轮换。

日志轮换根据配置文件中指定的日志设置执行。轮换操作是异步的,无法保证它在此命令返回之前完成。

请注意,如果进行外部日志轮换(例如来自 logrotate(8)),则无需调用此命令。

例如,要初始化日志轮换

rabbitmqctl rotate_logs

shutdown

关闭节点,包括 RabbitMQ 及其运行时。该命令是阻塞的,将在运行时进程退出后返回。如果 RabbitMQ 无法停止,它将返回非零退出代码。此命令推断目标节点的操作系统 PID,因此只能用于关闭在同一主机上运行的节点(或者广义地说,在同一操作系统中,例如在同一虚拟机或容器中)。

与 stop 命令不同,shutdown 命令

  • 不需要 pid_file 来等待运行时进程退出

  • 如果 RabbitMQ 节点未运行,则返回非零退出代码

例如,这将关闭使用默认节点名称运行的本地 RabbitMQ 节点

rabbitmqctl shutdown

start_app

启动 RabbitMQ 应用程序。

此命令通常在执行其他需要停止 RabbitMQ 应用程序的管理操作后运行,例如 reset

例如,要指示 RabbitMQ 节点启动 RabbitMQ 应用程序

rabbitmqctl start_app

stop [pid_file]

停止 RabbitMQ 正在运行的 Erlang 节点。要重新启动节点,请按照 安装指南 中“运行服务器”的说明进行操作。

如果指定了 pid_file,则还会等待那里指定的进程终止。有关此文件的详细信息,请参阅 wait 命令的描述。

例如,要指示 RabbitMQ 节点终止

rabbitmqctl stop

stop_app

停止 RabbitMQ 应用程序,同时保持运行时(Erlang VM)运行。

此命令通常在执行其他需要停止 RabbitMQ 应用程序的管理操作前运行,例如 reset

例如,要指示 RabbitMQ 节点停止 RabbitMQ 应用程序

rabbitmqctl stop_app

wait pid_filewait --pid pid

等待 RabbitMQ 应用程序启动。

此命令将等待 RabbitMQ 应用程序在节点上启动。如果指定了 pidfile,它将等待创建 pid 文件,然后等待 pid 文件或 --pid 参数中指定的进程,然后等待该进程中的 RabbitMQ 应用程序启动。如果进程在未启动 RabbitMQ 应用程序的情况下终止,它将失败。

如果未创建指定的 pidfile 或在 --timeout 内未启动 erlang 节点,则命令将失败。默认超时时间为 10 秒。

rabbitmq-server(8) 脚本将创建合适的 pid 文件。默认情况下,它位于 Mnesia 目录中。修改 RABBITMQ_PID_FILE 环境变量以更改位置。

例如,此命令将在 RabbitMQ 节点启动后返回

rabbitmqctl wait /var/run/rabbitmq/pid

集群管理

await_online_nodes 数量

等待 数量 个节点加入集群

例如,要等待两个 RabbitMQ 节点启动

rabbitmqctl await_online_nodes 2

change_cluster_node_type 类型

更改集群节点的类型。

类型 必须是以下之一

要使此操作成功,节点必须停止,并且当将节点转换为RAM节点时,该节点不能是集群中唯一的磁盘节点。

例如,以下命令将把一个RAM节点转换为磁盘节点

rabbitmqctl change_cluster_node_type disc

cluster_status

显示集群中所有节点,按节点类型分组,以及当前正在运行的节点。

例如,此命令显示集群中的节点

rabbitmqctl cluster_status

force_boot

确保节点下次启动,即使它不是最后一个关闭的节点。

通常,当您完全关闭RabbitMQ集群时,您应该重新启动的第一个节点应该是最后一个关闭的节点,因为它可能已经看到其他节点没有看到的事件发生。但有时这不可能:例如,如果整个集群断电,则所有节点都可能认为它们不是最后一个关闭的。

在这种情况下,您可以在节点关闭时调用force_boot。这将告诉节点在您下次请求它时无条件启动。此节点关闭后对集群的任何更改都将丢失。

如果最后一个关闭的节点永久丢失,则应使用forget_cluster_node --offline 而不是此命令,因为它将确保领导者副本位于丢失节点上的镜像队列得到提升。

例如,这将强制节点在下一次启动时不等待其他节点

rabbitmqctl force_boot

force_reset

强制将RabbitMQ节点恢复到其初始状态。

force_reset命令与reset命令的不同之处在于,它会无条件地重置节点,而不管当前管理数据库状态和集群配置如何。仅当数据库或集群配置已损坏时,才应将其用作最后手段。

要使 resetforce_reset 成功,必须先停止 RabbitMQ 应用程序,例如使用 stop_app

例如,要重置 RabbitMQ 节点

rabbitmqctl force_reset

forget_cluster_node [--offline]

--offline

启用从脱机节点中删除节点。这仅在所有节点都脱机并且最后一个关闭的节点无法联机的情况下才有用,从而阻止整个集群启动。在任何其他情况下都不应使用它,因为它可能导致不一致。

远程删除集群节点。要删除的节点必须脱机,而要从中删除的节点必须联机,除非使用--offline标志。

当使用--offline标志时,rabbitmqctl不会像往常一样尝试连接到节点;而是它将临时成为该节点以进行更改。如果节点无法正常启动,这将很有用。在这种情况下,节点将成为集群元数据的规范来源(例如,哪些队列存在),即使它之前不是。因此,如果可能,您应该在最后一个关闭的节点上使用此命令。

例如,此命令将从节点“hare@mcnulty”中删除节点“rabbit@stringer”

rabbitmqctl -n hare@mcnulty forget_cluster_node rabbit@stringer

join_cluster seed-node [--ram]

seed-node
要与之集群的现有集群成员(种子节点)。

--ram

如果提供,则节点将作为RAM节点加入集群。不建议使用RAM节点。仅当您了解确切需要使用它们的原因时才使用。

指示节点成为指定节点所在的集群的成员。在集群之前,节点将被重置,因此在使用此命令时请小心。要使此命令成功,必须已停止RabbitMQ应用程序,例如使用stop_app

集群节点可以是两种类型:磁盘或RAM。磁盘节点在RAM和磁盘上复制数据,从而在节点故障的情况下提供冗余并从所有节点的全局事件(例如断电)中恢复。RAM节点仅在RAM中复制数据(队列内容除外,如果队列是持久性的或太大而无法放入内存,则可以驻留在磁盘上),主要用于扩展。仅在管理资源(例如添加/删除队列、交换或绑定)时,RAM节点的性能更高。集群必须始终至少有一个磁盘节点,并且通常应有多个磁盘节点。

默认情况下,节点将是磁盘节点。如果要创建RAM节点,请提供--ram标志。

执行join_cluster命令后,无论何时在当前节点上启动RabbitMQ应用程序,它都会尝试连接到节点关闭时集群中的节点。

要离开集群,请reset节点。您还可以使用forget_cluster_node命令远程删除节点。

例如,此命令指示RabbitMQ节点作为RAM节点加入“hare@elena”所属的集群

rabbitmqctl join_cluster hare@elena --ram

要了解更多信息,请参阅RabbitMQ集群指南

用户管理

请注意,所有用户管理命令rabbitmqctl只能管理RabbitMQ内部数据库中的用户。来自任何替代身份验证后端(如LDAP)的用户无法使用这些命令进行检查或管理。rabbitmqctl

add_user username password

username
要创建的用户名称。
password
创建的用户用于登录代理的密码。

例如,此命令指示RabbitMQ代理创建一个名为“janeway”(非管理员)的用户,其(初始)密码为“changeit”

rabbitmqctl add_user janeway changeit

authenticate_user username password

username
用户的名称。
password
用户的密码。

例如,此命令指示RabbitMQ代理使用密码“verifyit”验证名为“janeway”的用户

rabbitmqctl authenticate_user janeway verifyit

change_password username newpassword

username
要更改其密码的用户名称。
newpassword
用户的新的密码。

例如,此命令指示RabbitMQ代理将名为“janeway”的用户密码更改为“newpass”

rabbitmqctl change_password janeway newpass

clear_password username

username
要清除其密码的用户名称。

例如,此命令指示RabbitMQ代理清除名为“janeway”的用户密码

rabbitmqctl clear_password janeway

此用户现在无法使用密码登录(但如果已配置,则可能可以通过例如SASL EXTERNAL登录)。

hash_password plaintext

plaintext
要散列的明文密码

根据当前配置的密码散列算法散列明文密码

delete_user username

username
要删除的用户名称。

例如,此命令指示RabbitMQ代理删除名为“janeway”的用户

rabbitmqctl delete_user janeway

list_users

列出用户。每个结果行将包含用户名,后跟为该用户设置的标签列表。

例如,此命令指示RabbitMQ代理列出所有用户

rabbitmqctl list_users

set_user_tags username [tag ...]

username
要设置其标签的用户名称。
tag
要设置的零个、一个或多个标签。任何现有标签都将被删除。

例如,此命令指示RabbitMQ代理确保名为“janeway”的用户是管理员

rabbitmqctl set_user_tags janeway administrator

当用户使用消息传递协议进行身份验证时,这没有影响,但可用于允许用户在用户通过其他方式登录时(例如使用管理插件)管理用户、虚拟主机和权限。

此命令指示RabbitMQ代理从名为“janeway”的用户中删除任何标签

rabbitmqctl set_user_tags janeway

访问控制

clear_permissions [-p vhost] username

vhost
要拒绝用户访问的虚拟主机名称,默认为“/”。
username
要拒绝访问指定虚拟主机的用户名称。

设置用户权限。

例如,此命令指示RabbitMQ代理拒绝名为“janeway”的用户访问名为“my-vhost”的虚拟主机

rabbitmqctl clear_permissions -p my-vhost janeway

clear_topic_permissions [-p vhost] username [exchange]

vhost
要清除主题权限的虚拟主机名称,默认为“/”。
username
要清除指定虚拟主机主题权限的用户名称。
exchange
要清除主题权限的主题交换机的名称,默认为给定用户具有主题权限的所有主题交换机。

清除用户主题权限。

例如,此命令指示 RabbitMQ 代理删除名为“janeway”的用户在名为“my-vhost”的虚拟主机中针对主题交换机“amq.topic”的主题权限。

rabbitmqctl clear_topic_permissions -p my-vhost janeway amq.topic

list_permissions [-p vhost]

vhost
要列出已授予其访问权限的用户及其权限的虚拟主机的名称。默认为“/”。

列出虚拟主机中的权限。

例如,此命令指示 RabbitMQ 代理列出所有已授予访问名为“my-vhost”的虚拟主机的用户,以及他们在该虚拟主机中对资源进行操作的权限。请注意,空字符串表示未授予任何权限

rabbitmqctl list_permissions -p my-vhost

list_topic_permissions [-p vhost]

vhost
要列出用户主题权限的虚拟主机的名称。默认为“/”。

列出虚拟主机中的主题权限。

例如,此命令指示 RabbitMQ 代理列出所有已在名为“my-vhost:”的虚拟主机中被授予主题权限的用户:

rabbitmqctl list_topic_permissions -p my-vhost

list_user_permissions username

username
要列出其权限的用户名称。

列出用户权限。

例如,此命令指示 RabbitMQ 代理列出所有已授予名为“janeway”的用户访问权限的虚拟主机,以及该用户对这些虚拟主机中资源进行操作的权限

rabbitmqctl list_user_permissions janeway

list_user_topic_permissions username

username
要列出其主题权限的用户名称。

列出用户主题权限。

例如,此命令指示 RabbitMQ 代理列出所有已授予名为“janeway”的用户访问权限的虚拟主机,以及该用户在这些虚拟主机中具有的主题权限

rabbitmqctl list_user_topic_permissions janeway

list_vhosts [vhostinfoitem ...]

列出虚拟主机。

vhostinfoitem 参数用于指示要包含在结果中的虚拟主机信息项。结果中的列顺序将与参数顺序匹配。vhostinfoitem 可以取以下列表中的任何值

name

虚拟主机的名称,其中非 ASCII 字符按 C 语言中的方式转义。

tracing

是否为此虚拟主机启用了跟踪。

default_queue_type

此虚拟主机的默认队列类型。

description

虚拟主机描述。

tags

虚拟主机标签。

cluster_state

虚拟主机状态:nodedown、running、stopped。

如果未指定任何vhostinfoitem s,则显示虚拟主机名称。

例如,此命令指示 RabbitMQ 代理列出所有虚拟主机

rabbitmqctl list_vhosts name tracing

set_permissions [-p vhost] user conf write read

vhost
要授予用户访问权限的虚拟主机的名称,默认为“/”。
user
要授予其对指定虚拟主机访问权限的用户名称。
conf
与授予用户配置权限的资源名称匹配的正则表达式。
write
与授予用户写入权限的资源名称匹配的正则表达式。
read
与授予用户读取权限的资源名称匹配的正则表达式。

设置用户权限。

例如,此命令指示 RabbitMQ 代理授予名为“janeway”的用户对名为“my-vhost”的虚拟主机的访问权限,并在名称以“janeway-”开头的所有资源上配置权限,并在所有资源上授予写入和读取权限

rabbitmqctl set_permissions -p my-vhost janeway "^janeway-." "." ".*"

set_permissions_globally username conf write read

username
要授予其对指定虚拟主机访问权限的用户名称。
conf
与授予用户配置权限的资源名称匹配的正则表达式。
write
与授予用户写入权限的资源名称匹配的正则表达式。
read
与授予用户读取权限的资源名称匹配的正则表达式。

设置所有虚拟主机中的用户权限。

例如,此命令指示 RabbitMQ 代理授予名为“janeway”的用户对所有虚拟主机的访问权限,并在名称以“janeway-”开头的所有资源上配置权限,并在所有资源上授予写入和读取权限

rabbitmqctl set_permissions_globally janeway "^janeway-." "." ".*"

set_topic_permissions [-p vhost] user exchange write read

vhost
要授予用户访问权限的虚拟主机的名称,默认为“/”。
user
权限适用于目标虚拟主机中的用户的名称。
exchange
将应用授权检查的主题交换机的名称。
write
与发布的消息的路由键匹配的正则表达式。
read
与消费的消息的路由键匹配的正则表达式。

设置用户主题权限。

例如,此命令指示 RabbitMQ 代理允许名为“janeway”的用户发布和消费通过“my-vhost”虚拟主机的“amp.topic”交换机且路由键以“janeway-”开头的消息

rabbitmqctl set_topic_permissions -p my-vhost janeway amq.topic "^janeway-." "^janeway-."

主题权限支持以下变量的变量扩展:username、vhost 和 client_id。请注意,仅在使用 MQTT 时才会扩展 client_id。前面的示例可以通过使用“^{username}-.*”使其更通用。

rabbitmqctl set_topic_permissions -p my-vhost janeway amq.topic "^{username}-." "^{username}-."

监控、可观察性和运行状况检查

environment

显示每个正在运行的应用程序的应用程序环境中每个变量的名称和值。

list_bindings [-p vhost] [bindinginfoitem ...]

返回绑定详细信息。默认情况下,将返回“/”虚拟主机的绑定。-p 标志可用于覆盖此默认值。

bindinginfoitem 参数用于指示要包含在结果中的绑定信息项。结果中的列顺序将与参数顺序匹配。bindinginfoitem 可以取以下列表中的任何值

source_name

绑定所附加的消息源的名称。其中非 ASCII 字符按 C 语言中的方式转义。

source_kind

绑定所附加的消息源的类型。当前始终为 exchange。其中非 ASCII 字符按 C 语言中的方式转义。

destination_name

绑定所附加的消息目标的名称。其中非 ASCII 字符按 C 语言中的方式转义。

destination_kind

绑定所附加的消息目标的类型。其中非 ASCII 字符按 C 语言中的方式转义。

routing_key

绑定的路由键,其中非 ASCII 字符按 C 语言中的方式转义。

arguments

绑定的参数。

如果未指定任何bindinginfoitem s,则将显示以上所有项目。

例如,此命令显示名为“my-vhost”的虚拟主机中绑定的交换机名称和队列名称

rabbitmqctl list_bindings -p my-vhost exchange_name queue_name

list_channels [channelinfoitem ...]

返回有关所有当前通道的信息,这些通道是执行大多数 AMQP 命令的逻辑容器。这包括普通 AMQP 连接的一部分的通道以及由各种插件和其他扩展创建的通道。

channelinfoitem 参数用于指示要包含在结果中的通道信息项。结果中的列顺序将与参数顺序匹配。channelinfoitem 可以取以下列表中的任何值

pid

与连接关联的 Erlang 进程的 ID。

connection

与通道所属的连接关联的 Erlang 进程的 ID。

name

通道的可读名称。

number

在连接中唯一标识通道的通道号。

user

与通道关联的用户名称。

vhost

通道运行的虚拟主机。

transactional

如果通道处于事务模式,则为 True,否则为 False。

confirm

如果通道处于确认模式,则为真,否则为假。

consumer_count

通过通道检索消息的逻辑 AMQP 消费者数量。

messages_unacknowledged

通过此通道传递但尚未确认的消息数量。

messages_uncommitted

在尚未提交的事务中接收到的消息数量。

acks_uncommitted

在尚未提交的事务中接收到的确认数量。

messages_unconfirmed

尚未确认的已发布消息的数量。在未处于确认模式的通道上,此值保持为 0。

prefetch_count

新消费者的 QoS 预取限制,如果无限制则为 0。

global_prefetch_count

整个通道的 QoS 预取限制,如果无限制则为 0。

如果没有指定 channelinfoitem s,则假定 pid、user、consumer_count 和 messages_unacknowledged。

例如,此命令显示每个通道的连接过程和未确认消息的数量

rabbitmqctl list_channels connection messages_unacknowledged

list_ciphers

列出编码命令支持的密码套件。

例如,此命令指示 RabbitMQ 代理列出编码命令支持的所有密码套件

rabbitmqctl list_ciphers

list_connections [connectioninfoitem ...]

返回 TCP/IP 连接统计信息。

connectioninfoitem 参数用于指示要包含在结果中的连接信息项。结果中的列顺序将与参数的顺序匹配。 connectioninfoitem 可以取以下列表中的任何值

pid

与连接关联的 Erlang 进程的 ID。

name

连接的可读名称。

port

服务器端口。

host

通过反向 DNS 获取的服务器主机名,如果反向 DNS 失败或已关闭,则为其 IP 地址。

peer_port

对等端口。

peer_host

通过反向 DNS 获取的对等主机名,如果反向 DNS 失败或未启用,则为其 IP 地址。

ssl

布尔值,指示连接是否使用 SSL 保护。

ssl_protocol

SSL 协议(例如“tlsv1”)。

ssl_key_exchange

SSL 密钥交换算法(例如“rsa”)。

ssl_cipher

SSL 密码算法(例如“aes_256_cbc”)。

ssl_hash

SSL 哈希函数(例如“sha”)。

peer_cert_subject

对等方 SSL 证书的主体,采用 RFC4514 格式。

peer_cert_issuer

对等方 SSL 证书的发行者,采用 RFC4514 格式。

peer_cert_validity

对等方 SSL 证书的有效期。

state

连接状态;以下之一

  • starting

  • tuning

  • opening

  • running

  • flow

  • blocking

  • blocked

  • closing

  • closed

channels

使用连接的通道数量。

protocol

使用的 AMQP 协议版本 - 目前以下之一

  • {0,9,1}

  • {0,8,0}

请注意,如果客户端请求 AMQP 0-9 连接,我们将将其视为 AMQP 0-9-1。

auth_mechanism

使用的 SASL 身份验证机制,例如“PLAIN”。

user

与连接关联的用户名。

vhost

虚拟主机名,其中非 ASCII 字符按 C 中的方式转义。

timeout

连接超时/协商的心跳间隔(秒)。

frame_max

最大帧大小(字节)。

channel_max

此连接上的最大通道数。

client_properties

客户端在连接建立期间传输的信息属性。

recv_oct

接收到的字节数。

recv_cnt

接收到的数据包数。

send_oct

发送的字节数。

send_cnt

发送的数据包数。

send_pend

发送队列大小。

connected_at

建立此连接的日期和时间,以时间戳表示。

如果没有指定 connectioninfoitem s,则显示用户、对等主机、对等端口、自流量控制以来的时间和内存块状态。

例如,此命令显示每个连接的发送队列大小和服务器端口

rabbitmqctl list_connections send_pend port

list_consumers [-p vhost]

列出消费者,即对队列消息流的订阅。打印的每一行都显示(以制表符分隔)订阅的队列名称、创建和管理订阅的通道进程的 ID、在通道内唯一标识订阅的消费者标签、一个布尔值,指示是否需要对传递给此消费者的消息进行确认、一个整数,指示预取限制(0 表示“无”),以及此消费者的任何参数。

list_exchanges [-p vhost] [exchangeinfoitem ...]

返回交换详细信息。如果缺少 -p 标志,则返回“/”虚拟主机的交换详细信息。 -p 标志可用于覆盖此默认值。

exchangeinfoitem 参数用于指示要包含在结果中的交换信息项。结果中的列顺序将与参数的顺序匹配。 exchangeinfoitem 可以取以下列表中的任何值

name

交换的名称,其中非 ASCII 字符按 C 中的方式转义。

type

交换类型,例如

  • direct

  • topic

  • headers

  • fanout

durable

交换是否在服务器重新启动后继续存在。

auto_delete

交换在不再使用时是否会自动删除。

internal

交换是否为内部交换,即客户端无法直接发布到它。

arguments

交换参数。

policy

应用于交换的策略名称。

如果没有指定 exchangeinfoitem s,则显示交换名称和类型。

例如,此命令显示名为“my-vhost”的虚拟主机的每个交换的名称和类型

rabbitmqctl list_exchanges -p my-vhost name type

list_hashes

列出编码命令支持的哈希函数。

例如,此命令指示 RabbitMQ 代理列出编码命令支持的所有哈希函数

rabbitmqctl list_hashes

list_queues [-p vhost] [--offline | --online | --local] [queueinfoitem ...]

返回队列详细信息。如果缺少 -p 标志,则返回“/”虚拟主机的队列详细信息。可以使用 -p 标志覆盖此默认值。

可以使用以下互斥选项之一,根据其状态或位置过滤显示的队列

--offline

仅列出当前不可用的持久队列(更具体地说,其 leader 节点不可用)。

--online

列出当前可用的队列(其 leader 节点可用)。

--local

仅列出其 leader 副本位于当前节点上的队列。

queueinfoitem 参数用于指示结果中包含哪些队列信息项。结果中的列顺序将与参数的顺序匹配。queueinfoitem 可以取以下列表中的任何值

name

队列的名称,其中非 ASCII 字符以 C 中的方式转义。

durable

队列是否在服务器重启后仍然存在。

auto_delete

当队列不再使用时,是否会自动删除。

arguments

队列参数。

policy

应用于队列的用户策略的名称。

operator_policy

应用于队列的操作员策略的名称。

effective_policy_definition

队列的有效策略定义:用户策略定义和操作员策略定义合并。

pid

队列的 Erlang 进程标识符。

owner_pid

连接的 Erlang 进程 ID,该连接是队列的独占所有者。如果队列是非独占的,则为空。

exclusive

如果队列是独占的(即具有 owner_pid),则为真,否则为假。

exclusive_consumer_pid

表示订阅此队列的独占消费者的通道的 Erlang 进程 ID。如果没有独占消费者,则为空。

exclusive_consumer_tag

订阅此队列的独占消费者的消费者标签。如果没有独占消费者,则为空。

messages_ready

准备交付给客户端的消息数量。

messages_unacknowledged

已交付给客户端但尚未确认的消息数量。

messages

已准备就绪和未确认的消息总数(队列深度)。

messages_ready_ram

驻留在内存中的 messages_ready 消息数量。

messages_unacknowledged_ram

驻留在内存中的 messages_unacknowledged 消息数量。

messages_ram

驻留在内存中的消息总数。

messages_persistent

队列中持久消息的总数(对于瞬态队列,始终为 0)。

message_bytes

队列中所有消息正文大小的总和。这并不包括消息属性(包括标头)或任何开销。

message_bytes_ready

类似于 message_bytes,但仅计算准备交付给客户端的消息。

message_bytes_unacknowledged

类似于 message_bytes,但仅计算已交付给客户端但尚未确认的消息。

message_bytes_ram

类似于 message_bytes,但仅计算当前保存在 RAM 中的消息。

message_bytes_persistent

类似于 message_bytes,但仅计算持久的消息。

head_message_timestamp

队列中第一条消息的时间戳属性(如果存在)。仅当消息处于已分页状态时,才会显示消息的时间戳。

disk_reads

自队列启动以来,从磁盘读取消息的总次数。

disk_writes

自队列启动以来,将消息写入磁盘的总次数。

consumers

消费者的数量。

consumer_utilisation

队列能够立即将消息传递给消费者的时间的比例(介于 0.0 和 1.0 之间)。如果消费者受到网络拥塞或预取计数的限制,则此值可能小于 1.0。

memory

运行时为队列分配的内存字节数,包括堆栈、堆和内部结构。

mirror_pids

如果队列已镜像,则列出镜像(follower 副本)的 ID。要了解更多信息,请参阅 RabbitMQ 镜像指南

synchronised_mirror_pids

如果队列已镜像,则给出与 leader 副本同步的镜像(follower 副本)的 ID。要了解更多信息,请参阅 RabbitMQ 镜像指南

state

队列的状态。通常为“running”,但如果队列正在同步,则可能为“{syncing, message_count}”。

位于当前已关闭的集群节点上的队列将显示状态为“down”(并且大多数其他 queueinfoitem 将不可用)。

type

队列类型,可以是:quorum、stream、classic。

如果未指定任何 queueinfoitem,则显示队列名称和深度。

例如,此命令显示名为“my-vhost”的虚拟主机的每个队列的深度和消费者数量

rabbitmqctl list_queues -p my-vhost messages consumers

list_unresponsive_queues [--local] [--queue-timeout milliseconds] [queueinfoitem ...] [--no-table-headers]

测试队列 leader 副本是否在给定超时时间内响应。列出那些未及时响应的副本。

可以使用以下互斥选项之一,根据其状态或位置过滤显示的队列

--all

列出所有队列。

--local

仅列出其 leader 副本位于当前节点上的队列。

queueinfoitem 参数用于指示结果中包含哪些队列信息项。结果中的列顺序将与参数的顺序匹配。queueinfoitem 可以取以下列表中的任何值

name

队列的名称,其中非 ASCII 字符以 C 中的方式转义。

durable

队列是否应在服务器重启后仍然存在。

auto_delete

当所有显式绑定都被删除时,是否会自动删除队列。

arguments

队列参数。

policy

队列的有效策略名称。

pid

leader 副本的 Erlang 进程标识符。

recoverable_mirrors

被认为是可到达(可用)的镜像副本的 Erlang 进程标识符。

type

队列类型,可以是:quorum、stream、classic。

例如,此命令仅列出其 leader 副本托管在目标节点上的无响应队列。

rabbitmqctl list_unresponsive_queues --local name

ping

检查节点操作系统进程是否已启动、是否已在 EPMD 上注册以及 CLI 工具是否可以对其进行身份验证

示例

rabbitmqctl ping -n rabbit@hostname

report

生成包含所有服务器状态信息的服务器状态报告,用于支持目的。输出应在附带支持请求时重定向到文件。

例如,此命令创建一个服务器报告,该报告可以附加到支持请求电子邮件中

rabbitmqctl report > server_report.txt

schema_info [--no-table-headers] [column ...]

列出架构数据库表及其属性

例如,此命令列出表名及其活动副本

rabbitmqctl schema_info name active_replicas

status

显示代理状态信息,例如当前 Erlang 节点上运行的应用程序、RabbitMQ 和 Erlang 版本、操作系统名称以及内存和文件描述符统计信息。(请参阅cluster_status命令以了解哪些节点已集群并正在运行。)

例如,此命令显示有关 RabbitMQ 代理的信息

rabbitmqctl status

运行时参数和策略

RabbitMQ 的某些功能(例如 Federation 插件)由动态的、集群范围的参数控制。参数有两种:虚拟主机范围的参数和全局参数。每个虚拟主机范围的参数由组件名称、名称和值组成。组件名称和名称是字符串,值是有效的 JSON 文档。全局参数由名称和值组成。名称是字符串,值是任意的 Erlang 数据结构。参数可以设置、清除和列出。通常,您应该参考相关功能的文档以了解如何设置参数。

策略是在运行时参数之上构建的功能。策略用于在集群范围内控制和修改队列和交换机的行为。策略应用于给定的虚拟主机,并由名称、模式、定义和可选的优先级组成。策略可以设置、清除和列出。

clear_global_parameter name

清除全局运行时参数。这类似于clear_parameter,但键值对不绑定到虚拟主机。

name
要清除的全局运行时参数的名称。

例如,此命令清除全局运行时参数“mqtt_default_vhosts”

rabbitmqctl clear_global_parameter mqtt_default_vhosts

clear_parameter [-p vhost] component_name key

清除参数。

component_name
要清除其参数的组件的名称。
name
要清除的参数的名称。

例如,此命令清除默认虚拟主机中“federation-upstream”组件的“node01”参数

rabbitmqctl clear_parameter federation-upstream node01

list_global_parameters

列出所有全局运行时参数。这类似于list_parameters,但全局运行时参数不绑定到任何虚拟主机。

例如,此命令列出所有全局参数

rabbitmqctl list_global_parameters

list_parameters [-p vhost]

列出虚拟主机的所有参数。

例如,此命令列出默认虚拟主机中的所有参数

rabbitmqctl list_parameters

set_global_parameter name value

设置全局运行时参数。这类似于set_parameter,但键值对不绑定到虚拟主机。

name
要设置的全局运行时参数的名称。
value
全局运行时参数的值,作为 JSON 文档。在大多数 shell 中,您很可能需要对此进行引用。

例如,此命令将全局运行时参数“mqtt_default_vhosts”设置为 JSON 文档{"O=client,CN=guest":"/"}

rabbitmqctl set_global_parameter mqtt_default_vhosts '{"O=client,CN=guest":"/"}'

set_parameter [-p vhost] component_name name value

设置参数。

component_name
要设置其参数的组件的名称。
name
要设置的参数的名称。
value
参数的值,作为 JSON 文档。在大多数 shell 中,您很可能需要对此进行引用。

例如,此命令将默认虚拟主机中“federation-upstream”组件的“node01”参数设置为以下 JSON“guest”

rabbitmqctl set_parameter federation-upstream node01 '{"uri":"amqp://user:password@server/%2F","ack-mode":"on-publish"}'

list_policies [-p vhost]

列出虚拟主机的所有策略。

例如,此命令列出默认虚拟主机中的所有策略

rabbitmqctl list_policies

set_operator_policy [-p vhost] [--priority priority] [--apply-to apply-to] name pattern definition

设置运算符策略,该策略覆盖用户策略中的一部分参数。参数与set_policy的参数相同。

支持的参数为

  • expires

  • message-ttl

  • max-length

  • max-length-bytes

set_policy [-p vhost] [--priority priority] [--apply-to apply-to] name pattern definition

设置策略。

name
策略的名称。
pattern
正则表达式允许策略在匹配资源名称时应用。
definition
策略的定义,作为 JSON 文档。在大多数 shell 中,您很可能需要对此进行引用。
priority
策略的优先级,以整数表示。数字越大,优先级越高。默认值为 0。
apply-to

此策略应应用于哪些类型的对象。可能的值为

  • queues(所有队列类型,包括流)

  • classic_queues(仅限经典队列)

  • quorum_queues(仅限仲裁队列)

  • streams(仅限流)

  • exchanges

  • all

默认值为all

例如,此命令设置默认虚拟主机中的“federate-me”策略,以便将内置交换机联合起来

rabbitmqctl set_policy federate-me ^amq. '{"federation-upstream-set":"all"}'

clear_policy [-p vhost] name

清除策略。

name
要清除的策略的名称。

例如,此命令清除默认虚拟主机中的“federate-me”策略

rabbitmqctl clear_policy federate-me

clear_operator_policy [-p vhost] name

清除运算符策略。参数与clear_policy的参数相同。

list_operator_policies [-p vhost]

列出虚拟主机的运算符策略覆盖。参数与list_policies的参数相同。

虚拟主机

请注意,rabbitmqctl管理 RabbitMQ 内部用户数据库。来自任何替代授权后端的用户的权限将不会显示在rabbitmqctl中。

add_vhost vhost [--description desc --tags tags --default-queue-type default-q-type]

vhost
要创建的虚拟主机条目的名称。
desc
任意虚拟主机描述,例如其用途,供操作员参考。
tags
供操作员参考的虚拟主机标签的逗号分隔列表。
default-q-type
如果客户端未明确指定队列类型,则将使用此类型。以下之一:quorum、stream。

创建虚拟主机。

例如,此命令指示 RabbitMQ 代理创建一个名为“project9_dev_18”的新虚拟主机

rabbitmqctl add_vhost project9_dev_18 --description 'Dev environment no. 18' --tags dev,project9

clear_vhost_limits [-p vhost]

清除虚拟主机限制。

例如,此命令清除虚拟主机“qa_env”中的虚拟主机限制

rabbitmqctl clear_vhost_limits -p qa_env

delete_vhost vhost

vhost
要删除的虚拟主机条目的名称。

删除虚拟主机。

删除虚拟主机将删除其所有交换机、队列、绑定、用户权限、参数和策略。

例如,此命令指示 RabbitMQ 代理删除名为“test”的虚拟主机

rabbitmqctl delete_vhost a-vhost

list_vhost_limits [-p vhost] [--global] [--no-table-headers]

显示配置的虚拟主机限制。

--global

显示所有虚拟主机的限制。抑制-p参数。

restart_vhost [-p vhost]

vhost
要重新启动的虚拟主机条目的名称,默认为“/”。

重新启动失败的虚拟主机数据存储和队列。

例如,此命令指示 RabbitMQ 代理重新启动名为“test”的虚拟主机

rabbitmqctl restart_vhost test

set_vhost_limits [-p vhost] definition

设置虚拟主机限制。

definition

限制的定义,以 JSON 文档的形式给出。在大多数 shell 中,您很可能需要对它进行引用。

识别的限制包括

  • max-connections

  • max-queues

使用负值指定“无限制”。

例如,以下命令将 vhost "qa_env" 中并发连接的最大数量限制为 64

rabbitmqctl set_vhost_limits -p qa_env '{"max-connections": 64}'

以下命令将 vhost "qa_env" 中队列的最大数量限制为 256

rabbitmqctl set_vhost_limits -p qa_env '{"max-queues": 256}'

以下命令清除 vhost "qa_env" 中并发连接的最大数量限制

rabbitmqctl set_vhost_limits -p qa_env '{"max-connections": -1}'

以下命令禁用 vhost "qa_env" 中的客户端连接

rabbitmqctl set_vhost_limits -p qa_env '{"max-connections": 0}'

set_user_limits 用户名 定义

设置用户限制。

username
要应用限制的用户名称
definition

限制的定义,以 JSON 文档的形式给出。在大多数 shell 中,您很可能需要对它进行引用。

识别的限制包括

  • max-connections

  • max-channels

使用负值指定“无限制”。

例如,以下命令将用户 "limited_user" 允许打开的并发连接的最大数量限制为 64

rabbitmqctl set_user_limits limited_user '{"max-connections": 64}'

以下命令将用户 "limited_user" 在连接上允许打开的信道最大数量限制为 16

rabbitmqctl set_user_limits limited_user '{"max-channels": 16}'

以下命令清除用户 "limited_user" 的并发连接最大数量限制

rabbitmqctl clear_user_limits limited_user 'max-connections'

以下命令禁用用户 "limited_user" 的客户端连接

rabbitmqctl set_user_limits limited_user '{"max-connections": 0}'

clear_user_limits 用户名 限制

清除用户限制。

username
要清除限制的用户名称
限制
限制的名称,或 "all" 以一次清除所有限制。

识别的限制包括

  • max-connections

  • max-channels

例如,以下命令清除用户 "limited_user" 的最大连接限制

rabbitmqctl clear_user_limits limited_user 'max-connections'

以下命令清除用户 "limited_user" 的所有限制

rabbitmqctl clear_user_limits limited_user all

trace_off [-p vhost]

vhost
要停止跟踪的虚拟主机的名称。

停止跟踪。

trace_on [-p vhost]

vhost
要开始跟踪的虚拟主机的名称。

开始跟踪。请注意,跟踪状态不是持久性的;如果节点重新启动,它将恢复为关闭状态。

配置

decode 密码短语 [--cipher 加密算法] [--hash 哈希算法] [--iterations 迭代次数]

密码短语

要解密的值(由 encode 命令生成)和密码短语。

例如

rabbitmqctl decode '{encrypted, <<"...">>}' mypassphrase

--cipher 加密算法 --hash 哈希算法 --iterations 迭代次数

指定解密设置的选项。它们可以独立使用。

例如

rabbitmqctl decode --cipher blowfish_cfb64 --hash sha256 --iterations 10000 '{encrypted,<<"...">>} mypassphrase

encode 密码短语 [--cipher 加密算法] [--hash 哈希算法] [--iterations 迭代次数]

密码短语

要加密的值和密码短语。

例如

rabbitmqctl encode '<<"guest">>' mypassphrase

--cipher 加密算法 --hash 哈希算法 --iterations 迭代次数

指定加密设置的选项。它们可以独立使用。

例如

rabbitmqctl encode --cipher blowfish_cfb64 --hash sha256 --iterations 10000 '<<"guest">>' mypassphrase

set_cluster_name 名称

将集群名称设置为 名称。集群名称在连接时会向客户端广播,并由联合和铲子插件用于记录消息的位置。集群名称默认从集群中第一个节点的主机名派生,但可以更改。

例如,以下命令将集群名称设置为 "london"

rabbitmqctl set_cluster_name london

set_disk_free_limit 磁盘限制

磁盘限制
以字节为单位的整数或带有内存单位符号的字符串(请参阅 vm_memory_high_watermark),例如 512M 或 1G 的下限限制。一旦可用磁盘空间达到此限制,就会设置磁盘警报。

set_disk_free_limit mem_relative 分数

分数
相对于可用 RAM 总量的限制,表示为非负浮点数。小于 1.0 的值可能很危险,应谨慎使用。

set_log_level [日志级别]

设置正在运行的节点中的日志级别

支持的 日志级别 值包括

  • debug

  • info

  • warning

  • error

  • critical

  • none

示例

rabbitmqctl set_log_level debug

set_vm_memory_high_watermark 分数

分数
触发流量控制的新内存阈值分数,表示为大于或等于 0 的浮点数。

set_vm_memory_high_watermark [absolute] 内存限制

内存限制

触发流量控制的新内存限制,以字节为单位表示,为大于或等于 0 的整数或带有内存单位符号的字符串(例如 512M 或 1G)。可用的单位符号包括

k, kiB

千字节 (2^10 字节)

M, MiB

兆字节 (2^20 字节)

G, GiB

吉字节 (2^30 字节)

kB

千字节 (10^3 字节)

MB

兆字节 (10^6 字节)

GB

吉字节 (10^9 字节)

功能标志

enable_feature_flag 功能标志

在目标节点上启用功能标志。

示例

rabbitmqctl enable_feature_flag restart_streams

您还可以通过指定 "all" 来启用所有功能标志

rabbitmqctl enable_feature_flag all

list_feature_flags [列 ...]

列出功能标志

支持的 值包括

  • name

  • state

  • stability

  • provided_by

  • desc

  • doc_url

示例

rabbitmqctl list_feature_flags name state

连接操作

close_all_connections [-p vhost] [--global] [--per-connection-delay 延迟] [--limit 限制] 解释

-p vhost

应关闭连接的虚拟主机的名称。当指定 --global 时将被忽略。

--global

如果应关闭所有 vhost 的连接。覆盖 -p

--per-connection-delay 延迟

关闭每个连接后等待的时间(以毫秒为单位)。

--limit 限制

要关闭的连接数。仅适用于每个 vhost。当指定 --global 时将被忽略。
解释
解释字符串。

指示代理关闭指定 vhost 或整个 RabbitMQ 节点的所有连接。

例如,以下命令指示 RabbitMQ 代理关闭 "qa_env" vhost 上的 10 个连接,并传递解释 "Please close"

rabbitmqctl close_all_connections -p qa_env --limit 10 'Please close'

以下命令指示代理关闭到节点的所有连接

rabbitmqctl close_all_connections --global

close_connection 连接进程ID 解释

连接进程ID
与要关闭的连接关联的 Erlang 进程的 ID。
解释
解释字符串。

指示代理关闭与 Erlang 进程 ID 连接进程ID 关联的连接(另请参阅 list_connections 命令),并将 解释 字符串作为 AMQP 连接关闭协议的一部分传递给连接的客户端。

例如,以下命令指示 RabbitMQ 代理关闭与 Erlang 进程 ID "<rabbit@tanto.4262.0>" 关联的连接,并将解释 "go away" 传递给连接的客户端

rabbitmqctl close_connection "<rabbit@tanto.4262.0>" "go away"

其他

eval 表达式

在目标节点上评估 Erlang 表达式

队列操作

delete_queue 队列名 [--if-empty | -e] [--if-unused | -u]

队列名
要删除的队列的名称。
--if-empty
如果队列为空(没有准备交付的消息),则删除该队列。
--if-unused
仅当队列没有消费者时才删除该队列。

删除队列。

purge_queue [-p 虚拟主机] 队列

队列
要清空的队列的名称。

清空队列(删除其中的所有消息)。

插件命令

RabbitMQ 插件可以在启用时扩展 rabbitmqctl 工具以添加新命令。当前可用的命令可以在 rabbitmqctl help 输出中找到。以下命令由 RabbitMQ 插件添加,在默认分发版中可用。

Shovel 插件

shovel_status

打印已配置的 Shovel 列表。

delete_shovel [-p 虚拟主机] 名称

指示 RabbitMQ 节点删除由 名称 配置的 Shovel。

Federation 插件

federation_status [--only-down]

打印 Federation 链接列表。

--only-down

仅列出未运行的 Federation 链接。
指示 RabbitMQ 节点重新启动具有指定 链接ID 的 Federation 链接。

AMQP 1.0 插件

list_amqp10_connections [amqp10_connectioninfoitem ...]

类似于 list_connections 命令,但返回对 AMQP-1.0 连接有意义的字段。amqp10_connectioninfoitem 参数用于指示结果中包含哪些连接信息项。结果中的列顺序将与参数顺序匹配。amqp10_connectioninfoitem 可以取以下列表中的任何值。

pid

与连接关联的 Erlang 进程的 ID。

auth_mechanism

使用的 SASL 身份验证机制,例如“PLAIN”。

host

通过反向 DNS 获取的服务器主机名,如果反向 DNS 失败或已关闭,则为其 IP 地址。

frame_max

最大帧大小(字节)。

timeout

连接超时/协商的心跳间隔(秒)。

user

与连接关联的用户名。

state

连接状态;以下之一

  • starting

  • waiting_amqp0100

  • securing

  • running

  • blocking

  • blocked

  • closing

  • closed

recv_oct

接收到的字节数。

recv_cnt

接收到的数据包数。

send_oct

发送的字节数。

send_cnt

发送的数据包数。

ssl

布尔值,指示连接是否使用 SSL 保护。

ssl_protocol

SSL 协议(例如“tlsv1”)。

ssl_key_exchange

SSL 密钥交换算法(例如“rsa”)。

ssl_cipher

SSL 密码算法(例如“aes_256_cbc”)。

ssl_hash

SSL 哈希函数(例如“sha”)。

peer_cert_subject

对等方 SSL 证书的主题,采用 RFC4514 格式。

peer_cert_issuer

对等方 SSL 证书的发行者,采用 RFC4514 格式。

peer_cert_validity

对等方 SSL 证书的有效期。

node

建立连接的 RabbitMQ 节点的节点名称。

MQTT 插件

list_mqtt_connections [mqtt_connectioninfoitem]

类似于 list_connections 命令,但返回对 MQTT 连接有意义的字段。mqtt_connectioninfoitem 参数用于指示结果中包含哪些连接信息项。结果中的列顺序将与参数顺序匹配。mqtt_connectioninfoitem 可以取以下列表中的任何值。

host

通过反向 DNS 获取的服务器主机名,如果反向 DNS 失败或已关闭,则为其 IP 地址。

port

服务器端口。

peer_host

通过反向 DNS 获取的对等主机名,如果反向 DNS 失败或未启用,则为其 IP 地址。

peer_port

对等端口。

protocol

MQTT 协议版本,可以是以下之一:

  • {'MQTT', N/A}

  • {'MQTT', 3.1.0}

  • {'MQTT', 3.1.1}

channels

使用连接的通道数量。

channel_max

此连接上的最大通道数。

frame_max

最大帧大小(字节)。

client_properties

客户端在连接建立期间传输的信息属性。

ssl

布尔值,指示连接是否使用 SSL 保护。

ssl_protocol

SSL 协议(例如“tlsv1”)。

ssl_key_exchange

SSL 密钥交换算法(例如“rsa”)。

ssl_cipher

SSL 密码算法(例如“aes_256_cbc”)。

ssl_hash

SSL 哈希函数(例如“sha”)。

conn_name

连接的可读名称。

connection_state

连接状态;以下之一

  • starting

  • running

  • blocked

connection

与内部 amqp 直接连接关联的 Erlang 进程的 ID。

consumer_tags

QOS0 和 QOS1 的消费者标签元组。

message_id

在控制消息中发送的最后一个数据包 ID。

client_id

连接的 MQTT 客户端标识符。

clean_sess

MQTT 清理会话标志。

will_msg

在 CONNECT 帧中发送的 MQTT 遗嘱消息。

exchange

在 rabbitmq_mqtt 应用程序环境中配置的路由 MQTT 消息的交换机。

ssl_login_name

SSL 对等方证书认证名称。

retainer_pid

与连接的保留存储关联的 Erlang 进程的 ID。

user

与连接关联的用户名。

vhost

虚拟主机名称,其中非 ASCII 字符按 C 语言中的方式转义。

decommission_mqtt_node

在节点上禁用插件或从集群中删除节点之前,必须先将其退役。

例如,此命令将删除节点 rabbit@stringer

rabbitmqctl decommission_mqtt_node rabbit@stringer

STOMP 插件

list_stomp_connections [stomp_connectioninfoitem]

类似于 list_connections 命令,但返回对 STOMP 连接有意义的字段。stomp_connectioninfoitem 参数用于指示结果中包含哪些连接信息项。结果中的列顺序将与参数顺序匹配。stomp_connectioninfoitem 可以取以下列表中的任何值。

conn_name

连接的可读名称。

connection

与内部 amqp 直接连接关联的 Erlang 进程的 ID。

connection_state

连接状态;以下之一

  • running

  • blocking

  • blocked

session_id

STOMP 协议会话标识符。

channel

与连接关联的 AMQP 通道。

version

为连接协商的 STOMP 协议版本。

implicit_connect

指示连接是否使用隐式连接建立(无需 CONNECT 帧)。

auth_login

连接的有效用户名。

auth_mechanism

STOMP 授权机制。可以是以下之一:

  • config

  • ssl

  • stomp_headers

port

服务器端口。

host

通过反向 DNS 获取的服务器主机名,如果反向 DNS 失败或未启用,则为其 IP 地址。

peer_port

对等端口。

peer_host

通过反向 DNS 获取的对等主机名,如果反向 DNS 失败或未启用,则为其 IP 地址。

protocol

STOMP 协议版本,可以是以下之一:

  • {'STOMP', 0}

  • {'STOMP', 1}

  • {'STOMP', 2}

channels

使用连接的通道数量。

channel_max

此连接上的最大通道数。

frame_max

最大帧大小(字节)。

client_properties

客户端在连接期间传输的信息属性。

ssl

布尔值,指示连接是否使用 SSL 保护。

ssl_protocol

TLS 协议(例如“tlsv1”)。

ssl_key_exchange

TLS 密钥交换算法(例如“rsa”)。

ssl_cipher

TLS 密码算法(例如“aes_256_cbc”)。

ssl_hash

SSL 哈希函数(例如“sha”)。

管理代理插件

reset_stats_db [--all]

重置 RabbitMQ 节点的管理统计数据库。

--all

重置集群中所有节点的统计数据库。

另请参阅

rabbitmq-diagnostics(8)rabbitmq-plugins(8)rabbitmq-server(8)rabbitmq-queues(8)rabbitmq-streams(8)rabbitmq-upgrade(8)rabbitmq-service(8)rabbitmq-env.conf(5)rabbitmq-echopid(8)

作者

RabbitMQ 团队 <contact-tanzu-data.pdl@broadcom.com>

© 2024 RabbitMQ. All rights reserved.