您的位置:首页 > 编程语言 > Python开发

RabbitMQ系列二:管理RabbitMQ

2017-11-15 00:00 302 查看

一、虚拟主机

RabbitMQ服务器可以创建虚拟主机,它能拥有自己的队列、绑定和交换机,就像一个有自己的权限机制的迷你版RabbitMQ,不同的虚拟主机之间完全隔离,上篇例子都是基于默认的虚拟主机“/”,用的默认的guest用户和密码,项目上线时,默认的guest用户应该删除,取消管理员权限或者改变密码。下面创建自己的用户和虚拟主机,并赋予权限。

[root@slave1 ~]# rabbitmqctl  add_user yangyang 123456
Creating user "yangyang" ...
...done.
[root@slave1 ~]# rabbitmqctl add_vhost web_develop
Creating vhost "web_develop" ...
...done.
# set_permissions 后面的三个 ".*" ,分别是配置(队列和交换的创建和删除)、写(发布消息)、读(小飞消息)的权限
[root@slave1 ~]# rabbitmqctl set_permissions -p web_develop yangyang ".*" ".*" ".*"
Setting permissions for user "yangyang" in vhost "web_develop" ...
...done.

查看存在的虚拟主机、队列和用户

[root@slave1 ~]# rabbitmqctl  list_vhosts
Listing vhosts ...
/
web_develop
...done.
# 还没有声明,所以没有队列
[root@slave1 ~]# rabbitmqctl  list_queues -p web_develop
Listing queues ...
...done.
[root@slave1 ~]# rabbitmqctl  list_users
Listing users ...
guest	[administrator]
yangyang	[]
...done.

二、插件系统

RabbitMQ提供了强大的插件系统,当需要特定的功能而RabbitMQ没有时,可以查找相关的插件,例如插件可以实现如下功能:

管理和监控RabbitMQ

支持AMQP之外的协议

消息复制

新的路由算法和交换类型

官方插件地址:http://www.rabbitmq.com/plugins.html
安装插件方法

rabbitmq-plugins enable plugin-name

移除插件方法

rabbitmq-plugins disable plugin-name

查看插件列表方法

rabbitmq-plugins list

三、管理RabbitMQ

RabbitMQ提供Web管理程序,这个功能是通过插件rabbitmq_management实现的,安装如下:

rabbitmq-plugins enable rabbitmq_management

安装完成后需要重启rabbitmq-server 服务

systemctl restart  rabbitmq-server

web服务的端口默认是15672,登录web页面之前需要给用户添加权限,管理插件时有五种权限。

名称含义
None什么都不做,新创建的用户默认没有登录管理页面的权限
management查看用户有权限访问的虚拟主机的队列、交换机、绑定、通道和连接等
policymaker除了management的权限外,还能查看、创建和删除策略和参数
monitoring除了management的权限外,还能查看其它用户的通道和连接、列出全部虚拟主机等
administrator最高权限
使用administrator权限:

[root@slave1 ~]# rabbitmqctl set_user_tags yangyang administrator
Setting tags for user "yangyang" to [administrator] ...
...done.

这时从浏览器访问IP地址加上15672端口,用创建的用户登录,就可以看到web界面了



web界面支持如下操作:

服务器数据和统计预览。如最近一段时间的队列情况、当前连接数、当前队列数、内存占用、RabbitMQ版本、主机名等

导入/导出服务器配置

查看服务器连接

查看信道列表

查看交换机列表,添加新的交换机

查看队列,添加新的队列,修改队列绑定

查看用户列表,添加用户

查看虚拟主机,添加新的虚拟主机

列出策略,添加/更新策略

RabbitMQ插件rabbitmq_management,提供了REST API服务,也可以直接通过调用REST API来获取数据,具体参考文档: http://www.rabbitmq.com/management.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息