RabbitMQ管理
RabbitMQ集群(Ⅱ):https://blog.csdn.net/YCJ_xiyang/article/details/79958507
RabbitMQ监控:https://blog.csdn.net/YCJ_xiyang/article/details/80048571
用户管理
列出用户 rabbitmqctl list_users
[root@g66 opt]# rabbitmqctl list_users
Listing users ...
guest [administrator]
[root@g66 opt]#
添加用户 rabbitmqctl add_user 用户名 用户密码
[root@g66 opt]# rabbitmqctl add_user ycj ycj123
Creating user "ycj" ...
[root@g66 opt]# rabbitmqctl list_users
Listing users ...
guest [administrator]
ycj []
[root@g66 opt]#
修改用户密码 rabbitmqctl change_password 用户名 新密码
[root@g66 opt]# rabbitmqctl change_password ycj 123456
Changing password for user "ycj" ...
[root@g66 opt]#
清除密码 rabbitmqctl clear_password 用户名(注意:被清除密码的用户将无法使用密码登录)
[root@g66 opt]# rabbitmqctl clear_password ycj
Clearing password for user "ycj" ...
[root@g66 opt]#
给用户打标 rabbitmqctl set_user_tags 用户名 标签名(角色名)
[root@g66 opt]# rabbitmqctl set_user_tags ycj administrator
Setting tags for user "ycj" to [administrator] ...
[root@g66 opt]# rabbitmqctl list_users
Listing users ...
guest [administrator]
ycj [administrator]
[root@g66 opt]#
回收标记 rabbitmqctl set_user_tags 用户名(不写标签 会默认为空)
[root@g66 opt]# rabbitmqctl set_user_tags ycj
Setting tags for user "ycj" to [] ...
[root@g66 opt]# rabbitmqctl list_users
Listing users ...
guest [administrator]
ycj []
[root@g66 opt]#
注意:可以一次设定多个标记,次命令指挥以最新一次的设定为标准,之前的设置会被覆盖,所以要作好记录以便恢复。
[root@g66 opt]# rabbitmqctl set_user_tags ycj hui layui
Setting tags for user "ycj" to [hui,layui] ...
[root@g66 opt]# rabbitmqctl list_users
Listing users ...
guest [administrator]
ycj [hui, layui]
[root@g66 opt]#
提示:可以任意写标签
在user中有5中默认标签
● management:访问management plugin
● policymaker:访问management plugin 和管理自己vhosts的策略和参数
● monitoring:访问management plugin 和查看所有配置和通道以及节点信息
● administrator:一切权限
● Node:无配置
删除用户 rabbitmqctl delete_user 用户名
[root@g66 opt]# rabbitmqctl list_users
Listing users ...
guest [administrator]
ycj [hui, layui]
[root@g66 opt]# rabbitmqctl delete_user ycj
Deleting user "ycj" ...
[root@g66 opt]# rabbitmqctl list_users
Listing users ...
guest [administrator]
[root@g66 opt]#
访问控制
RabbitMQ里有一个vhost的概念,和其他软件中的vhost不太一样,在Apache中是表示一个虚拟的站点,而在这里表示一个命名空间和权限集合
一个vhost中包含有一堆的exchange,binding,queue,permission,parameter和policie元素,对一个vhost拥有权限,对一个vhost拥有权限,就意味着对其下的这些元素有相应操作权限,它的设定是为了方便权限分配和隔离系统中默认带有一个名为“/”的vhost
不同应用,最好使用不同的vhost进行隔离
列出vhost rabbitmqctl list_vhosts
[root@g66 ~]# rabbitmqctl list_vhosts
Listing vhosts ...
/
test
[root@g66 ~]#
添加vhost rabbitmqctl add_vhost 虚拟主机名
[root@g66 ~]# rabbitmqctl add_vhost ycj
Creating vhost "ycj" ...
[root@g66 ~]# rabbitmqctl list_vhosts
Listing vhosts ...
/
test
ycj
[root@g66 ~]#
查看vhost中权限分配 rabbitmqctl list_permissions -p 虚拟主机名
注意:不使用-p指定vhost时,默认会使用“/”
[root@g66 ~]# rabbitmqctl list_permissions
Listing permissions in vhost "/" ...
guest .* .* .*
[root@g66 ~]# rabbitmqctl list_permissions -p ycj
Listing permissions in vhost "ycj" ...
[root@g66 ~]# rabbitmqctl list_permissions -p test
Listing permissions in vhost "test" ...
[root@g66 ~]#
查看用户的权限 rabbitmqctl list_user_permissions 用户名
[root@g66 ~]# rabbitmqctl list_users
Listing users ...
guest [administrator]
ycj []
[root@g66 ~]# rabbitmqctl list_user_permissions guest
Listing permissions for user "guest" ...
/ .* .* .*
[root@g66 ~]# rabbitmqctl list_user_permissions ycj
Listing permissions for user "ycj" ...
[root@g66 ~]#
分配权限 rabbitmqctl set_permissions -p 虚拟主机名 用户名 权限
[root@g66 ~]# rabbitmqctl set_permissions -p / ycj ".*" ".*" ".*"
Setting permissions for user "ycj" in vhost "/" ...
[root@g66 ~]# rabbitmqctl list_user_permissions ycj
Listing permissions for user "ycj" ...
/ .* .* .*
[root@g66 ~]# rabbitmqctl list_permissions
Listing permissions in vhost "/" ...
guest .* .* .*
ycj .* .* .*
[root@g66 ~]#
收回权限 rabbitmqctl clear_permissions -p 虚拟主机名 用户名
注意:不使用-p指定vhost时,默认会使用“/”,不会清除所有
[root@g66 ~]# rabbitmqctl clear_permissions -p / ycj
Clearing permissions for user "ycj" in vhost "/" ...
[root@g66 ~]# rabbitmqctl list_permissions
Listing permissions in vhost "/" ...
guest .* .* .*
[root@g66 ~]#
删除vhost rabbitmqctl delete_vhost 虚拟主机名
[root@g66 ~]# rabbitmqctl list_vhosts
Listing vhosts ...
/
test
ycj
[root@g66 ~]# rabbitmqctl delete_vhost test
Deleting vhost "test" ...
[root@g66 ~]# rabbitmqctl list_vhosts
Listing vhosts ...
/
ycj
[root@g66 ~]#
[root@g66 ~]# rabbitmqctl delete_vhost /
Deleting vhost "/" ...
[root@g66 ~]# rabbitmqctl list_vhosts
Listing vhosts ...
ycj
[root@g66 ~]#
状态查看
返回queue的信息,如果省略了-p参数,则默认显示的是"/"vhosts的信息。
list_exchanges [-p <vhostpath>] [<exchangeinfoitem> ...]
返回exchange的信息。
list_bindings [-p <vhostpath>] [<bindinginfoitem> ...]
返回绑定信息。
list_connections [<connectioninfoitem> ...]
返回链接信息。
list_channels [<channelinfoitem> ...]
返回目前所有的channels。
list_consumers [-p <vhostpath>]
返回consumers,
status
显示broker的状态
environment
显示环境参数的信息
report
#返回一个服务状态report,
eval <expr>