RabbitMQ界面管理和命令管理

本文介绍了RabbitMQ中虚拟主机(vhost)的管理和权限控制方法。包括通过管理后台和命令行工具创建、删除vhost及设置用户权限等操作。

RabbitMQ vhost管理

RabbitMQ vhost 全称为Virtual Host(虚拟主机),一个broker里可以开设多个vhost,用作不同用户的权限分离。权限控制组,用户只能关联到一个vhost上,一个vhost中可以有若干个Exchange和Queue,默认的vhost是”/”

一、通过RabbitMQ管理后台管理vhost

http://localhost:15672/#/vhosts
1、添加一个虚拟主机
这里写图片描述


2、对虚拟主机设置权限和删除虚拟主机
在虚拟主机列表中对着想要操作的虚拟主机点击,进行操作页面
这里写图片描述


这里写图片描述


这里写图片描述

二、通过RabbitMQ 命令行管理vhost

virtual_host管理

 add_vhost <vhost>
 delete_vhost <vhost>
 list_vhosts [<vhostinfoitem> ...]
 set_permissions [-p <vhost>] <user> <conf> <write> <read>
       conf:正则表达式匹配哪些配置资源能够被该用户访问
       conf:正则表达式匹配哪些配置资源能够被该用户读
       conf:正则表达式匹配哪些配置资源能够被该用户访问
 clear_permissions [-p <vhost>] <username>
 list_permissions [-p <vhost>]
 list_user_permissions <username>

示例:
1、创建vhost

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl add_vhost /testvhost
Creating vhost "/testvhost" ...

2、查看vhost列表

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl list_vhosts
Listing vhosts ...
/testvhost
/

3、对vhost设置权限

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl set_permissions -p /testvhost test1 ConfP  WriteP  ReadP
Setting permissions for user "test1" in vhost "/testvhost" ...

4、查看指定vhost的权限

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl  list_permissions -p /testvhost
Listing permissions in vhost "/testvhost" ...
test1   ConfP   WriteP  ReadP

5、查看指定用户的权限

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl list_user_permissions test1
Listing permissions for user "test1" ...
/testvhost       ConfP   WriteP  ReadP

6、清除权限

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl clear_permissions -p /testvhost test1
Clearing permissions for user "test1" in vhost "/testvhost" ...

7、设置所有权限

D:\Worksoftware\RabbitMQServer\rabbitmq_server-3.6.3\sbin>rabbitmqctl set_permissions -p /testvhost test1 ".*" ".*" ".*"
Setting permissions for user "test1" in vhost "/testvhost" ... 

RabbitMQ:基本命令

rabbitmq的安装、启动和停止

rabbitmq-service.bat install
rabbitmq-service.bat start
rabbitmq-service.bat stop

列出所有queue

rabbitmqctl list_queues

列出指定queue的信息

rabbitmqctl list_queues [the queue name] messages_ready messages_unacknowledged

列出所有exchange

rabbitmqctl list_exchanges

列出所有binding

rabbitmqctl list_bindings

安装基于web的管理插件

rabbitmq-plugins.bat enable rabbitmq_management 

应用和集群管理

1.停止RabbitMQ应用,关闭节点

# rabbitmqctl stop 

2.停止RabbitMQ应用

# rabbitmqctl stop_app 

3.启动RabbitMQ应用

# rabbitmqctl start_app 

4.显示RabbitMQ中间件各种信息

# rabbitmqctl status 

5.重置RabbitMQ节点

# rabbitmqctl reset 
# rabbitmqctl force_reset 

从它属于的任何集群中移除,从管理数据库中移除所有数据,例如配置过的用户和虚拟宿主, 删除所有持久化的消息。
force_reset命令和reset的区别是无条件重置节点,不管当前管理数据库状态以及集群的配置。如果数据库或者集群配置发生错误才使用这个最后 的手段。
注意:只有在停止RabbitMQ应用后,reset和force_reset才能成功。

6.循环日志文件

# rabbitmqctl rotate_logs[suffix] 

7.集群管理

# rabbitmqctl cluster clusternode… 

用户管理

1.添加用户

# rabbitmqctl add_user username password 

2.删除用户

# rabbitmqctl delete_user username 

3.修改密码

# rabbitmqctl change_password username newpassword 

4.列出所有用户

# rabbitmqctl list_users 

权限控制
1.创建虚拟主机

# rabbitmqctl add_vhost vhostpath 

2.删除虚拟主机

# rabbitmqctl delete_vhost vhostpath 

3.列出所有虚拟主机

# rabbitmqctl list_vhosts 

4.设置用户权限

# rabbitmqctl set_permissions [-p vhostpath] username regexp regexp regexp 

5.清除用户权限

# rabbitmqctl clear_permissions [-p vhostpath] username

6.列出虚拟主机上的所有权限

# rabbitmqctl list_permissions [-p vhostpath] 

7.列出用户权限

# rabbitmqctl list_user_permissions username
### RabbitMQ 管理界面的功能使用方法 RabbitMQ 提供了一个基于 Web 的管理界面,用于监控配置 RabbitMQ 实例。该界面提供了丰富的功能,能够帮助管理员轻松管理调试消息传递系统。 #### 启动管理插件 为了启用 RabbitMQ管理界面,需要先启动 `rabbitmq_management` 插件。这可以通过命令行完成: ```bash rabbitmq-plugins enable rabbitmq_management ``` 上述命令会激活 RabbitMQ管理插件,并使管理界面可通过浏览器访问,默认地址为 `http://localhost:15672/`[^3]。 #### 登录管理界面 登录到 RabbitMQ 管理界面时,需提供用户名密码。默认情况下,RabbitMQ 安装后会有一个内置用户 `guest/guest`,但在生产环境中建议禁用此账户并创建新的管理员用户[^1]。 --- #### 主要功能模块介绍 ##### 1. **Overview** - 这个选项卡展示了 RabbitMQ 节点的整体运行状态。 - 可以查看服务器的版本、操作系统信息以及内存占用情况。 - 如果是集群环境,则可以在此处看到各节点的状态及其健康状况。 - 此外还包含了端口映射详情其他重要的统计指标[^4]。 ##### 2. **Connections** - 展示当前所有客户端与 RabbitMQ 之间的 TCP 连接列表。 - 对于每一个连接,可以看到其来源 IP 地址、协议类型以及其他元数据。 - 支持终止特定连接的操作,这对于排除异常行为非常有用。 ##### 3. **Channels** - Channels 是 Connections 下的一个逻辑子单元,表示实际的消息传输路径。 - 在这一部分中,可观察每条信道上的活动量(如发送速率、接收速率),从而分析性能瓶颈所在位置。 ##### 4. **Exchanges** - 列出了系统中存在的全部 Exchange 配置。 - 用户可以选择某个具体的 Exchange 查看绑定关系或发布测试消息至目标 Queue 上进行验证。 ##### 5. **Queues** - 显示了整个 Broker 当前维护的所有队列实例。 - 每一条记录都附带详细的属性描述,比如长度、持久化模式等参数设定;同时也允许手动清除积压的数据项或者删除指定的目标对象。 ##### 6. **Admin** - Admin 页面集中处理身份认证相关内容,包括但不限于新增自定义账号、调整现有成员的角色分配策略以及重新定义虚拟主机范围内的资源访问权限规则等等。 --- #### 创建管理用户 除了通过命令行工具之外,在图形化的 Admin 区域同样支持便捷地执行如下操作: - 添加新用户并通过表单填写必要的字段值; - 设定相应的标签分类标记区分不同职责类型的参与者群体; - 授予精确限定作用域下的读写控制权能给选定个体或组群集合体。 例如,如果希望构建一个仅限某业务线使用的独立工作区,则可以在 Virtual Hosts 设置里新建隔离空间并将关联人员加入其中作为合法访客。 --- #### 总结 综上所述,借助 RabbitMQ 自带的强大可视化工具集,无论是初学者还是资深运维工程师都能快速掌握核心概念并高效解决日常遇到的各种挑战场景问题[^1]。 ```python import pika connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() # Example of declaring a queue via Python client library. queue_name = 'test_queue' channel.queue_declare(queue=queue_name) print(f"Queue '{queue_name}' has been declared.") connection.close() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值