RabbitMQ学习(6)- RabbitMQ管理

5 篇文章 0 订阅

目录

一.多租户与权限

1.Vhost虚拟机

所有vhost:

创建vhost:

删除vhost:

2.权限 

授权权限:

收回权限:

虚拟主机权限列表:

用户权限列表:

二.用户管理

创建用户:

验证用户:

修改密码:

清除密码:

角色分配:

用户列表:

删除用户:

三.Web端管理

插件列表:

关闭插件:

启动插件:

四.应用管理

查看状态:

停止:

启动:

五.服务端状态

查看队列列表

查看交换器列表

查看绑定关系列表

查看连接信息列表

查看信道列表

查看消费者列表

六.HTTP API 接口管理

描述整个系统的各种信息:

集群的名称:

集群中节点的信息:

所有的连接信息:

所有信道的信息:

所有的消费者信息:

所有交换器信息:

列出所有的队列信息:

列出所有绑定关系的信息:

列出所有vhost的信息:

列出所有的用户信息:


一.多租户与权限

1.Vhost虚拟机

  • 所有vhost:

    [root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl list_vhosts
    Listing vhosts ...
    /
  • 创建vhost:

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl add_vhost test
Creating vhost "test" ...
  • 删除vhost:

    [root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl delete_vhost test
    Deleting vhost "test" ...

2.权限 

  • 授权权限:

rabbitmqctl set_permissions [-p vhost]  {user} {conf} {write} {read}

vhost:授权用户访问指定的vhost

user:可以访问指定vhost的用户名

conf:一个用于匹配用户在哪些资源上拥有可配置权限的正则表达式

write:一个用于匹配用户在哪些资源上拥有可写权限的正则表达式

read:一个用于匹配用户在哪些资源上拥有可读权限的正则表达式

[root@localhost ~]# rabbitmqctl set_permissions -p "test" rabbitstudy ".*" ".*" ".*"
Setting permissions for user "rabbitstudy" in vhost "/" ...
  • 收回权限:

rabbitmqctl clear_permissions [-p vhost] {username}

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl clear_permissions -p "test" rabbitstudy
Clearing permissions for user "rabbitstudy" in vhost "test" ...
  • 虚拟主机权限列表:

rabbitmqctl list_permissions [-p vhost]

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl list_permissions -p "/"
Listing permissions in vhost "/" ...
guest   .*      .*      .*
rabbitstudy     .*      .*      .*
  • 用户权限列表:

rabbitmqctl list_user_permissions {username}

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl list_user_permissions rabbitstudy
Listing permissions for user "rabbitstudy" ...
/       .*      .*      .*

 

二.用户管理

  • 创建用户:

rabbitmqctl add_user {username} {password}

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl add_user test 123456
Creating user "test" ...
  • 验证用户:

rabbitmqctl authenticate_user {username} {password}

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl authenticate_user test 1234567
Authenticating user "test" ...
Error: failed to authenticate user "test"
[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl authenticate_user test 123456
Authenticating user "test" ...
Success
  • 修改密码:

rabbitmqctl change_password {username} {password}

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl change_password test 123
Changing password for user "test" ...
  • 清除密码:

rabbitmqctl clear_password {username}

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl clear_password test
Clearing password for user "test" ...
  • 角色分配:

rabbitmqctl set_user_tags {username} {tag...}

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl set_user_tags test administartor
Setting tags for user "test" to [administartor] ...

角色分5种类型

  1. none:无任何角色,新创建的用户默认角色为none
  2. management:可以访问web管理页面
  3. policymaker:包含management的所有权限,并可以管理策略(Policy)和参数(Parameter)
  4. monitoring:包含management的所有权限,并可以看到所有连接、信道及节点相关信息
  5. administartor:包含minitoring的所有权限,并可以管理用户、虚拟主机、权限、策略、参数

 

  • 用户列表:

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl list_users
Listing users ...
test    [administrator]
guest   [administrator]
rabbitstudy     [administrator]
  • 删除用户:

rabbitmqctl delete_user {username}

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl delete_user test
Deleting user "test" ...

 

三.Web端管理

  • 插件列表:

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmq-plugins list
  • 关闭插件:

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmq-plugins disable rabbitmq_management
  • 启动插件:

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmq-plugins enable rabbitmq_management

四.应用管理

  • 查看状态:

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl status
  • 停止:

[root@izbp1iqc3c93ahduzrzdjhz ~]# service rabbitmq-server stop
Redirecting to /bin/systemctl stop rabbitmq-server.service
  • 启动:

[root@izbp1iqc3c93ahduzrzdjhz ~]# service rabbitmq-server start
Redirecting to /bin/systemctl start rabbitmq-server.service

五.服务端状态

  • 查看队列列表

rabbitmqctl list_queues [-p vhost] [queueinfoitem...]

name:队列名称

durable:队列会否持久化

auto_delete:队列是否自动删除

arguments:队列参数

policy:应用到队列上的策略名称

pid:队列关联的Erlang进程ID

owner_pid:处理排他队列连接的进程ID

exclusive:队列是否排他

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl list_queues
Listing queues ...
demo.queue      100
[root@izbp1iqc3c93ahduzrzdjhz ~]#
[root@izbp1iqc3c93ahduzrzdjhz ~]#
[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl list_queues name durable auto_delete
Listing queues ...
demo.queue      true    false
  • 查看交换器列表

rabbitmqctl list_exchanges [-p vhost][exchangeinfoitem...]

name:交换器名称

type:交换器类型

durable:交换器是否持久化

auto_delete:交换器是否自动删除

internal:是否是内置交换器

arguments:交换器的参数

policy:交换器的策略

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl list_exchanges
Listing exchanges ...
amq.rabbitmq.trace      topic
amq.rabbitmq.log        topic
demo.queue      direct
amq.match       headers
amq.headers     headers
amq.topic       topic
amq.direct      direct
amq.fanout      fanout
        direct
demo.exchange   direct
[root@izbp1iqc3c93ahduzrzdjhz ~]#
[root@izbp1iqc3c93ahduzrzdjhz ~]#
[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl list_exchanges name type durable auto_delete
Listing exchanges ...
amq.rabbitmq.trace      topic   true    false
amq.rabbitmq.log        topic   true    false
demo.queue      direct  true    false
amq.match       headers true    false
amq.headers     headers true    false
amq.topic       topic   true    false
amq.direct      direct  true    false
amq.fanout      fanout  true    false
        direct  true    false
demo.exchange   direct  true    false
  • 查看绑定关系列表

rabbitmqctl list_bindings [-p] [bindinginfoitem...]

source_name:绑定中消息来源的名称

source_kind:绑定中消息来源的类别

destination_name:绑定中消息目的地的名称

destination_kind:绑定种消息目的地的种类

routing_key:绑定的路由键

argumenets:绑定的参数

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl list_bindings
Listing bindings ...
        exchange        demo.queue      queue   demo.queue      []
demo.exchange   exchange        demo.queue      queue   demo.routingkey []
[root@izbp1iqc3c93ahduzrzdjhz ~]#
[root@izbp1iqc3c93ahduzrzdjhz ~]#
[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl list_bindings source_name source_kind
Listing bindings ...
        exchange
demo.exchange   exchange
[root@izbp1iqc3c93ahduzrzdjhz ~]#
[root@izbp1iqc3c93ahduzrzdjhz ~]#
[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl list_bindings source_name source_kind destination_name
Listing bindings ...
        exchange        demo.queue
demo.exchange   exchange        demo.queue
  • 查看连接信息列表

rabbitmqctl list_connections [connectioninfoitem ...]

pid:与连接相关的进程ID

name:连接名称

port:服务器端口

host:服务器主机名

peer_port:服务器对端端口。当一个客户端与服务器连接时,这个客户端的端口就是peer_port

peer_host:服务器对端主机名称,或IP,或未启用

ssl:是否启用SSL

state:连接状态,包括starting\tuning\opening\running\flow\blocking\blocked\closing\closed

channels:连接中的信道个数

protocol:使用的AMQP协议版本

user:与连接相关的用户名

vhost:与连接相关的vhost名称

timeout:连接超时/协商的心跳间隔,单位s

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl list_connections pid
  • 查看信道列表

rabbitmqctl list_channels [channelinfoitem...]

pid:与连接相关的进程ID

connection:信道所属连接的进程ID

name:信道名称

number:信道的序号

user:与连接相关的用户名

vhost:与连接相关的vhost名称

transactional:信道是否处于事务模式

confirm:信道是否处于 publisher confirm模式

consumer_count:信道中的消费者个数

messages_unacknowledged:已投递但是还未被ack的消息个数

messages_uncommitted:已接收但是还未提交事务的消息个数

acks_uncommitted:已ack收到但是还未提交事务的消息个数

messages_unconfirmed:已发送但是还未确认的消息个数

perfetch_count:新消费者的Qos个数限制,0表示无上限

global_prefetch_count:整个信道的Qos个数限制

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl list_channels
  • 查看消费者列表

rabbitmqctl list_consumers [-p vhost]

[root@izbp1iqc3c93ahduzrzdjhz ~]# rabbitmqctl list_consumers

 

六.HTTP API 接口管理

  1. 描述整个系统的各种信息:

    localhost:15672/api/overview
  2. 集群的名称:

    localhost:15672/api/cluster-name

     

  3. 集群中节点的信息:

    localhost:15672/api/nodes

     

  4. 所有的连接信息:

    localhost:15672/api/connections

     

  5. 所有信道的信息:

    localhost:15672/api/channels

     

  6. 所有的消费者信息:

    localhost:15672/api/consumers

     

  7. 所有交换器信息:

    localhost:15672/api/exchanges

     

  8. 列出所有的队列信息:

    localhost:15672/api/queues

     

  9. 列出所有绑定关系的信息:

    localhost:15672/api/bindings

     

  10. 列出所有vhost的信息:

    localhost:15672/api/vhosts

     

  11. 列出所有的用户信息:

    localhost:15672/api/usres

     

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值