1 简介
rabbitmq-management是RabbitMq web管理端,用的是erlang的cowboy框架进行开发。web页面包括Overview(概述)、Connections(连接)、Channels(通道)、Exchanges(交换器)、Queues(队列)、Admin(用户管理)。
关于RabbitMq的安装请参考:Centos 7安装RabbitMQ及web界面登入
2 Overview
![image.png](https://test.ykbkw.top/zb_users/upload/2022/01/202201251643094212737234.png)
2.1 overview->Totals
所有队列的阻塞情况
Ready:待消费的消息总数。
Unacked:待应答的消息总数。
Total:总数 Ready+Unacked。
所有队列的消费情况。速率=(num1-num0)/(s1-s0) num1:s1时刻的个数。num0:s0时刻的个数。
Publish:producter pub消息的速率。
Publisher confirm:broker确认pub消息的速率。
Deliver(manual ack):customer手动确认的速率。
Deliver( auto ack):customer自动确认的速率。
Consumer ack:customer正在确认的速率。
Redelivered:正在传递'redelivered'标志集的消息的速率。
Get (manual ack):响应basic.get而要求确认的消息的传输速率。
Get (auto ack):响应于basic.get而发送不需要确认的消息的速率。
Return:将basic.return发送给producter的速率。
Disk read:queue从磁盘读取消息的速率。
Disk write:queue从磁盘写入消息的速率。
整体角色的个数
Connections:client的tcp连接的总数。
Channels:通道的总数。
Exchange:交换器的总数。
Queues:队列的总数。
Consumers:消费者的总数。
2.2 Overview->Nodes
启动一个broker都会产生一个node。
![image.png](https://test.ykbkw.top/zb_users/upload/2022/01/202201251643094485182650.png)
broker的属性
Name:broker名称
File descriptors:broker打开的文件描述符和限制。
Socket descriptors:broker管理的网络套接字数量和限制。当限制被耗尽时,RabbitMQ将停止接受新的网络连接。
Erlang processes:erlang启动的进程数。
Memory:当前broker占用的内存。
Disk space:当前broker占用的硬盘。
Uptime:当前broker持续运行的时长。
Info:未知。
Reset stats:未知。
2.3 Overview->Ports and contexts
![image.png](https://test.ykbkw.top/zb_users/upload/2022/01/202201251643094547745392.png)
2.4 Overview->Export definitions
定义由用户,虚拟主机,权限,参数,交换,队列和绑定组成。 它们不包括队列的内容或集群名称。 独占队列不会被导出。
2.5 Overview->Import definitions
导入的定义将与当前定义合并。 如果在导入过程中发生错误,则所做的任何更改都不会回滚。
3 Connections
当前所有客户端活动的连接。包括生成者和消费者。
![image.png](https://test.ykbkw.top/zb_users/upload/2022/01/202201251643094645612457.png)
连接的属性
Virtual host:所属的虚拟主机。
Name:名称。
User name:使用的用户名。
State:当前的状态,running:运行中;idle:空闲。
ssl/TLS:是否使用ssl进行连接。
Protocol:使用的协议。
Channels:创建的channel的总数。
From client:每秒发出的数据包。
To client:每秒收到的数据包。
4 Channels
当前连接所有创建的通道。
![image.png](https://test.ykbkw.top/zb_users/upload/2022/01/202201251643094705584459.png)
通道的属性
channel:名称。
Virtual host:所属的虚拟主机。
User name:使用的用户名。
Mode:渠道保证模式。 可以是以下之一,或者不是:C: confirm。T:transactional(事务)。
State :当前的状态,running:运行中;idle:空闲。
Unconfirmed:待confirm的消息总数。
Prefetch:设置的prefetch的个数。
Unacker:待ack的消息总数。
publish:producter pub消息的速率。
confirm:producter confirm消息的速率。
deliver/get:consumer 获取消息的速率。
ack:consumer ack消息的速率。
5 Exchanges
![image.png](https://test.ykbkw.top/zb_users/upload/2022/01/202201251643094736703100.png)
交换器属性
Virtual host:所属的虚拟主机。
Name:名称。
Type:常用模式有direct、topic、fanout三种
direct:将消息中的Routing key与该Exchange关联的所有Binding中的Routing key进行比较,如果相等,则发送到该Binding对应的Queue中。
topic:将消息中的Routing key与该Exchange关联的所有Binding中的Routing key进行对比,如果匹配上了,则发送到该Binding对应的Queue中,可设置通配符匹配,'*'表示匹配一个单词, '#'则表示匹配没有或者多个单词。
fanout:直接将消息转发到所有binding的对应queue中,这种exchange在路由转发的时候,忽略Routing key。
Features:功能。 可以是以下之一,或者不是:D: 持久化。T:Internal,存在改功能表示这个exchange不可以被client用来推送消息,仅用来进行exchange和exchange之间的绑定,否则可以推送消息也可以绑定。
Message rate in:消息进入的速率。
Message rate out:消息出去的速率。
5.1 添加exchange
![](https://test.ykbkw.top/zb_users/upload/2022/03/202203181647586692819234.png)
6 Queues
![image.png](https://test.ykbkw.top/zb_users/upload/2022/01/202201271643248976427238.png)
队列的属性
Virtual host:所属的虚拟主机。
Name:名称。
Features:功能。 可以是以下之一,或者不是:D: 持久化。
State:当前的状态,running:运行中;idle:空闲。
Ready:待消费的消息总数。
Unacked:待应答的消息总数。
Total:总数 Ready+Unacked。
incoming:消息进入的速率。
deliver/get:消息获取的速率。
ack:消息应答的速率。
6.1 添加queue
![image.png](https://test.ykbkw.top/zb_users/upload/2022/01/202201251643094873284941.png)
7 Admin
![image.png](https://test.ykbkw.top/zb_users/upload/2022/01/202201251643094908749762.png)
用户属性
Name:名称。
Tags:角色标签,只能选取一个。
Can access virtual hosts:允许进入的vhost。
Has password:设置了密码。
administrator (超级管理员)
可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
monitoring(监控者)
可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
policymaker(策略制定者)
可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。
management(普通管理者)
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
none(其他)
无法登陆管理控制台,通常就是普通的生产者和消费者。