RabbitMQ 教程

Web端管理

前面章节介绍了怎样使用 rabbitmqctl 命令行工具来管理 RabbitMQ,除了 rabbitmqctl 工具外,RabbitMQ 还提供了一个 Web 端管理页面 “rabbitmq_management” 插件,默认情况下该插件没有启用。

rabbitmq_management 插件可以提供 Web 管理界面用来管理虚拟机(vhost)、用户、队列、交换器、绑定关系、策略等等。还可以用来监控 RabbitMQ 服务的状态及一些数据统计类信息,可谓是功能强大,基本上能够涵盖所有 RabbitMQ 管理的功能。

在使用 Web 管理界面之前需要先启用 rabbitmq_management 插件,RabbitMQ 提供了很的插件,默认存放在 $RABBITMQ_HOME/plugins 目录下,如下图:

上图中,每一个目录就是一个 RabbitMQ 插件,如:accept-0.3.5 插件,该目录内容如下:

├─ebin
│      accept.app
│      accept_encoding_header.beam
│      accept_header.beam
│      accept_neg.beam
│      accept_parser.beam
│
└─include
        accept.hrl

上面的 .beam 就是 Erlang 编译后生成的可执行文件。.hrl 是 Erlang 的头文件,它可以包含任何合法的 Erlang 代码,但通常里面只包含一些记录和宏的定义。

rabbitmq-plugins 命令

RabbitMQ 中启动插件使用 rabbitmq-plugins 命令,其语法格式为:

rabbitmq-plugins [--node <node>] [--timeout <timeout>] [--longnames] [--quiet] <command> [<command options>]

参数说明:

  • --node:默认节点是“rabbit@target-hostname”,其中 target-hostname 是本地主机。 在名为“myserver.example.com”的主机上,节点名称通常为“rabbit@myserver”(除非 RABBITMQ_NODENAME 已被覆盖)。 “hostname -s”的输出通常是在“@”符号之后使用的正确后缀。

  • -q 或 --quiet:选择安静输出模式。当安静模式生效时,信息性消息会减少。

  • -s, --silent:选择静音输出模式。当静默模式生效时,信息性消息会减少并且表头会被抑制。

  • -t timeout, --timeout timeout:以秒为单位的操作超时。并非所有命令都支持超时。默认为无穷大。

  • -l, --longnames:当集群配置为使用长 (FQDN) 节点名称时必须指定。

  • --erlang-cookie cookie:用于对目标节点进行身份验证的共享密钥。首选使用本地文件或 RABBITMQ_ERLANG_COOKIE 环境变量,而不是在命令行上指定此选项。

启动插件

启动插件使用 rabbitmq-plugins enable [plugin-name] 命令,例如:启动 rabbitmq_management 插件:

D:\server\rabbitmq_server-3.9.11\sbin> rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@hxstrive:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@hxstrive...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

set 3 plugins.
Offline change; changes will take effect at broker restart.

停用插件

停用插件使用 rabbitmq-plugins disable [plugin-name] 命令,例如:停用 rabbitmq_management 插件:

D:\server\rabbitmq_server-3.9.11\sbin> rabbitmq-plugins disable rabbitmq_management
Disabling plugins on node rabbit@hxstrive:
rabbitmq_management
All plugins have been disabled.
Applying plugin configuration to rabbit@hxstrive...
The following plugins have been disabled:
  rabbitmq_management_agent
  rabbitmq_web_dispatch
  rabbitmq_management

nothing to do.
Offline change; changes will take effect at broker restart.

列出插件

可以使用 rabbitmq-plugins list 命令来查看当前插件的使用情况,如下所示:

D:\server\rabbitmq_server-3.9.11\sbin> rabbitmq-plugins list
Listing plugins with pattern ".*" ...
 Configured: E = explicitly enabled; e = implicitly enabled
 | Status: [failed to contact rabbit@hxstrive - status not shown]
 |/
[  ] rabbitmq_amqp1_0                  3.9.11
...
[  ] rabbitmq_jms_topic_exchange       3.9.11
[E ] rabbitmq_management               3.9.11
[e ] rabbitmq_management_agent         3.9.11
...
[e ] rabbitmq_web_dispatch             3.9.11
[  ] rabbitmq_web_stomp_examples       3.9.11

其中,标记为 [E*] 的插件为显示启动,而 [e*] 为隐式启动。

启用 rabbitmq_management 插件之后还需要重启 RabbitMQ 服务才能使其正式生效。启动成功后通过浏览器访问 http://localhost:15672 进入登录页面,然后输入默认的用户名和密码 guest 来登录 RabbitMQ 管理页面。登录成功之后,Web 管理的主页面如下图:

(1)管理连接界面如下图:

(2)管理信道 channel 界面如下:

(3)管理交换器 exchange 页面如下图:

(4)管理队列 Queue 的界面如下图:

(5)管理用户信息页面如下图:

(6)管理虚拟机界面如下图:

更详细的用法需要读者自己去动手。

说说我的看法
全部评论(
没有评论
关于
本网站专注于 Java、数据库(MySQL、Oracle)、Linux、软件架构及大数据等多领域技术知识分享。涵盖丰富的原创与精选技术文章,助力技术传播与交流。无论是技术新手渴望入门,还是资深开发者寻求进阶,这里都能为您提供深度见解与实用经验,让复杂编码变得轻松易懂,携手共赴技术提升新高度。如有侵权,请来信告知:hxstrive@outlook.com
公众号