RabbitMQ系列二:管理RabbitMQ

原创
2017/11/15 18:27
阅读数 1.2K

一、虚拟主机

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没有时,可以查找相关的插件,例如插件可以实现如下功能:

  1. 管理和监控RabbitMQ
  2. 支持AMQP之外的协议
  3. 消息复制
  4. 新的路由算法和交换类型

官方插件地址: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

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
20 收藏
1
分享
返回顶部
顶部