RabbitMQ Broker管理

1. RabbitMQ Plugins使用

RabbitMQ自带插件管理系统,可以使用工具[rabbitmq-plugins]进行管理和使用。
查看当前插件状态
[tRabbitMQ@iZ250x18mnzZ ~]$ rabbitmq-plugins list
 Configured: E = explicitly enabled; e = implicitly enabled
 | Status:   [failed to contact rabbit@iZ250x18mnzZ - status not shown]
 |/
[e ] amqp_client                       3.6.0
[  ] cowboy                            1.0.3
[  ] cowlib                            1.0.1
[e ] mochiweb                          2.13.0
[  ] rabbitmq_amqp1_0                  3.6.0
[  ] rabbitmq_auth_backend_ldap        3.6.0
[  ] rabbitmq_auth_mechanism_ssl       3.6.0
[  ] rabbitmq_consistent_hash_exchange 3.6.0
[  ] rabbitmq_event_exchange           3.6.0
[  ] rabbitmq_federation               3.6.0
[  ] rabbitmq_federation_management    3.6.0
[E ] rabbitmq_management               3.6.0
[e ] rabbitmq_management_agent         3.6.0
[  ] rabbitmq_management_visualiser    3.6.0
[  ] rabbitmq_mqtt                     3.6.0
[  ] rabbitmq_recent_history_exchange  1.2.1
[  ] rabbitmq_sharding                 0.1.0
[  ] rabbitmq_shovel                   3.6.0
[  ] rabbitmq_shovel_management        3.6.0
[  ] rabbitmq_stomp                    3.6.0
[  ] rabbitmq_tracing                  3.6.0
[e ] rabbitmq_web_dispatch             3.6.0
[  ] rabbitmq_web_stomp                3.6.0
[  ] rabbitmq_web_stomp_examples       3.6.0
[  ] sockjs                            0.3.4
[e ] webmachine                        git
启用插件
[tRabbitMQ@iZ250x18mnzZ ~]$ sudo rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
  mochiweb
  webmachine
  rabbitmq_web_dispatch
  amqp_client
  rabbitmq_management_agent
  rabbitmq_management

Applying plugin configuration to rabbit@iZ250x18mnzZ... started 6 plugins.
停用插件
[tRabbitMQ@iZ250x18mnzZ ~]$ sudo rabbitmq-plugins disable rabbitmq_management
The following plugins have been disabled:
  mochiweb
  webmachine
  rabbitmq_web_dispatch
  amqp_client
  rabbitmq_management_agent
  rabbitmq_management

Applying plugin configuration to rabbit@iZ250x18mnzZ... stopped 6 plugins.
具体的命令使用参考官网资料: https://www.rabbitmq.com/man/rabbitmq-plugins.1.man.html
除系统安装自带的插件,RabbtiMQ还提供了一些其他插件可下载使用:https://www.rabbitmq.com/community-plugins.html
不再对其他的插件相关内容做分析,大家有兴趣的可以点击以下链接到官网学习

2. Management Plugin

管理插件在安装RabbtiMQ时就已经同步安装,只需使用上面的启动命令启动插件即可。
管理插件提供了一套对RabbitMQ服务的管理及监控的HTTP API,以及基于浏览器服的用户界面、命令行工具以及rabbitmqadmin(工具)。
主要有以下功能:
1、 声明、查询、删除交换机、队列、bindings、用户、虚拟机以及权限
2、 监控队列、通道、数据连接等信息
3、 发送和接收消息
4、 监控Erlang进程、内存使用、文件描述符
5、 导入或导出json对象
6、 强制关闭连接,清理队列
按照上述方式启动之后。
1、web访问地址:http://server-name:15672/   端口可自定义配置
2、http api访问地址:http://server-name:15672/api/  也可以参考官网:https://raw.githack.com/rabbitmq/rabbitmq-management/rabbitmq_v3_6_1/priv/www/api/index.html
3、下载工具rabbitmqadmin:http://server-name:15672/cli/ 关于客户端使用方法:https://www.rabbitmq.com/management-cli.html
其他相关使用方法,参考官网:https://www.rabbitmq.com/management.html
安装RabbitMQ自带的用户guest,只能在本地使用,所以公网中用户guest无法登录management提供的插件,下面是新建用户并增加。

3. 用户及权限管理

3.1.用户管理

创建用户
[tRabbitMQ@iZ250x18mnzZ ~]$ sudo rabbitmqctl add_user rabbitmq rabbitmq
Creating user "rabbitmq" ...
删除用户
[tRabbitMQ@iZ250x18mnzZ ~]$ sudo rabbitmqctl delete_user rabbitmq
Deleting user "rabbitmq" ...
查看用户
[tRabbitMQ@iZ250x18mnzZ ~]$ sudo rabbitmqctl list_users
Listing users ...
rabbitmq        []
guest   [administrator]
修改用户密码
[tRabbitMQ@iZ250x18mnzZ ~]$ sudo rabbitmqctl change_password rabbitmq rabbitmq
Changing password for user "rabbitmq" ...
[tRabbitMQ@iZ250x18mnzZ ~]$ 

命令参考资料:http://www.rabbitmq.com/man/rabbitmqctl.1.man.html

3.2. 用户角色管理

创建用户之后,还需要给用户添加权限,在插件management中基于RabbitMQ权限模型进行了封装与扩展,对用户指定类似标签的方式决定用户的权限,提供以下几类标签:

标签 功能
(None) No access to the management plugin
management Anything the user could do via AMQP plus:
  • List virtual hosts to which they can log in via AMQP
  • View all queues, exchanges and bindings in "their" virtual hosts
  • View and close their own channels and connections
  • View "global" statistics covering all their virtual hosts, including activity by other users within them
policymaker Everything "management" can plus:
  • View, create and delete policies and parameters for virtual hosts to which they can log in via AMQP
monitoring Everything "management" can plus:
  • List all virtual hosts, including ones they could not log in to via AMQP
  • View other users's connections and channels
  • View node-level data such as memory use and clustering
  • View truly global statistics for all virtual hosts
administrator Everything "policymaker" and "monitoring" can plus:
  • Create and delete virtual hosts
  • View, create and delete users
  • View, create and delete permissions
  • Close other users's connections

给用户设置标签
[tRabbitMQ@iZ250x18mnzZ ~]$ sudo rabbitmqctl set_user_tags rabbitmq administrator
Setting tags for user "rabbitmq" to [administrator] ...
[tRabbitMQ@iZ250x18mnzZ ~]$ 
也可以给用户设置多个角色,除上述系统内置角色外,还可以自定义角色,具体可参考官网给出的命令
管理工具角色参考官网:http://www.rabbitmq.com/management.html

3.3. 权限管理

权限大致分为两个级别:
1. 访问权限
决定是否可以连接上相应的服务
2. 操作权限
操作权限又分为两类,配置权限和读写权限,只要针对资源(queue、exchange)
配置权限影响资源的创建和删除。
读写权限影响消息的读取和写入,例如发送消息要有可写权限,接收消息要有可读权限。

具体说明可见官网资料,而给用户设置相应的权限,使用rabbitmqctl执行即可,下面也有提供具体的手机用方法。
RabbitMQ权限模型说明参考资料:http://www.rabbitmq.com/access-control.html

按照前两步的方法,创建用户,给用户设置用户角色,我就可以登录到web


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
"Failed to start RabbitMQ broker"表示RabbitMQ代理启动失败。这可能是由于多种因素导致的,比如组件问题、安装问题或配置问题。根据引用的描述,如果你之前安装了RabbitMQ并设置为开机自启,在安装其他组件后可能会出现启动失败的情况。这可能是因为组件的冲突或不兼容性导致的。为了解决这个问题,你可以尝试以下几个步骤: 1. 检查组件问题:根据引用中的描述,你可以执行以下命令来检查并启用所需的组件: ``` /usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management rabbitmq_web_dispatch amqp_client rabbitmq_management_agent ``` 这将启用RabbitMQ管理插件和其他必要的组件。 2. 重新安装并设置为开机自启:根据引用的建议,你可以尝试重新安装RabbitMQ并设置为开机自启。在重新安装之前,确保先卸载现有的RabbitMQ,并按照正确的步骤进行重新安装。你还可以参考附带的截图以获得更多的参考。 3. 检查配置问题:检查RabbitMQ的配置文件,确保没有错误或冲突的配置。你可以检查配置文件中的参数和选项,确保它们与你的系统和环境相匹配。 如果上述步骤都无法解决问题,你可能需要进一步调查错误日志或寻求专业的技术支持来帮助你解决启动失败的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Failed to start RabbitMQ broker](https://blog.csdn.net/qq_46906413/article/details/121828263)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值