RabbitMQ Broker管理
2016-03-01 22:12
459 查看
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
不再对其他的插件相关内容做分析,大家有兴趣的可以点击以下链接到官网学习
1. 如何安装插件
2. 如何开发插件
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
命令参考资料:http://www.rabbitmq.com/man/rabbitmqctl.1.man.html
3.3. 权限管理
权限大致分为两个级别:1. 访问权限
决定是否可以连接上相应的服务
2. 操作权限
操作权限又分为两类,配置权限和读写权限,只要针对资源(queue、exchange)
配置权限影响资源的创建和删除。
读写权限影响消息的读取和写入,例如发送消息要有可写权限,接收消息要有可读权限。
具体说明可见官网资料,而给用户设置相应的权限,使用rabbitmqctl执行即可,下面也有提供具体的手机用方法。
RabbitMQ权限模型说明参考资料:http://www.rabbitmq.com/access-control.html
命令参考资料:http://www.rabbitmq.com/man/rabbitmqctl.1.man.html
按照前两步的方法,创建用户,给用户设置用户角色,我就可以登录到web
感谢作者 刀刀的专栏 : /article/8088218.html
相关文章推荐
- PAT-A1019 General Palindromic Number(20)(模拟)
- java异常面试题及编程题
- C语言中的多文件执行
- 在这片神奇的土地上
- Same Tree
- D5
- 创建一个学生类,按照要求生成各种方法,然后使用数学方法计算某一个元素的规定结果
- 如何实现动态规划?——TWO
- CSS---!important
- MyEclipse使用总结——MyEclipse去除网上复制下来的来代码带有的行号
- 使用Core Animation对象来实现动画
- 使用Core Animation对象来实现动画
- ♥POJ 3278-Catch That Cow【搜索】
- 项链
- cocos2d-x之文件读写
- Codeforces Round #259 (Div. 2) B. Little Pony and Sort by Shift
- C++利用函数调用实现数组数据的输入输出
- Android中使用Activity的权限进行启动验证
- 运算符重载
- 32位机和64位机下面各类型sizeof的大小