前言
在前面的文章中我们介绍过RabbitMQ的搭建:RabbitMQ的安装过以及各大主流消息中间件的对比:,本章就主要来介绍下我们之前安装的管控台是如何使用以及如何通过命令行进行操作。
1. 命令行操作
1.1 基础服务的命令操作
rabbitmqctl stop_app:关闭应用
rabbitmqctl start_app:启动应用
rabbtmqctl status:节点状态
rabbitmqctl add_user username password:添加用户
rabbitmqctl list_users:列出所有用户
rabbitmqctl delete_user username:删除用户
rabbitmqctl clear_permissions – p vhostpath username: 清除用户权限
rabbitmqctl list_user_permissions_username: 列出用户权限
rabbitmqctl change_password username newpassword:修改密码
rabbitmqctl set_permissions -p vhostpath username “.” “.” “.*” :设置用户权限
涉及的用户命令还有许多,这里就不一一列举了。
1.2 对rabbitmq 具体组件的命令
1.2.1 对虚拟主机操作
rabbitmqctl add_vhost vhostpath:创建虚拟主机
rabbitmqctl list_vhosts:列出所有虚拟主机
rabbitmqctl list_permissions -p vhostpath:列出虚拟主机上所有权限
rabbitmqctl delete_vhost vhostpath:删除虚拟主机
1.2.2 队列操作
rabbitmqctl list_queues:查看所有队列信息
rabbitmqctl -p vhostpath purge_queue bule:清除队列里的消息
1.3 高级操作
rabbitmqctl reset:移除所有数据,要在rabbitmqctl stop_app之后使用
rabbitmqctl join_clust [–ram]:组成集群命令
rabbitmqctl clustr_status:查看集群状态
rabbitmqctl change_cluster_node_type disc|ram 修改集群节点的存储形式
rabbitmqctl forget_cluster_node [–offline] 忘记节点(摘除节点)
rabbitmqctl rename_cluster_node oldnode1 newnode1 [oldnode2] [newnode2..] (修改节点名称)
2. 管控台介绍
登录RabbitMQ web管理界面:http://localhost:15672/
默认的初始用户名和密码为:guest
注意:RabbitMQ的管理后台的端口是15672,RabbitMQ监听的端口是5672,要连接RabbitMQ为5672端口!
2.1 Overview(总览)界面介绍
从图中可以看到:
- RabbitMQ以及Erlang安装的版本号:RabbitMQ xxx、Erlang xxx。
- 右上角可以设置页面”刷新时间”(5秒、10秒、30秒、不刷新几个选项)。选择监听的”虚拟主机”。节点的名称。登录的用户
2.1.1 Overview -> Totals
- 如果有消息的话就会有相应的图形展示情况。
- Ready:待消费的消息总数
- Unacked:待应答的消息总数
- Total:总数 Ready+Unacked
- Disk read:queue从磁盘读取消息的速率
- Disk write:queue从磁盘写入消息的速率
- Global counts
- Connections:client的tcp连接的总数
- Channels:通道的总数
- Exchanges: 交换器的总数
- Queues:队列的总数
- Consumers:消费者的总数
2.1.1 Overview -> Node
Broker的属性
- Name:broker名称
- File descriptors:broker打开的文件描述符和限制。
- Socket descriptors:broker管理的网络套接字数量和限制。当限制被耗尽时,RabbitMQ将停止接受新的网络连接。
- Erlang processes:erlang启动的进程数。
- Memory:当前broker占用的内存。
- Disk space:当前broker占用的硬盘。
- Uptime:当前broker持续运行的时长。
- Info:集群的信息。
- Reset stats:重启单节点或整个集群。
2.1.3 Overview -> Ports and contexts
- amqp:与应用通信端口:5672
- clustering:与集群通信端口:25672
- web contexts:管控台端口号:15672
2.1.4 Overview -> Export definitions
定义由用户,虚拟主机,权限,参数,交换,队列和绑定组成。 它们不包括队列的内容或集群名称。 独占队列不会被导出。
2.1.5 Overview -> Import definitions
导入的定义将与当前定义合并。 如果在导入过程中发生错误,则所做的任何更改都不会回滚。
2.2 Connections(连接)界面介绍
连接的属性
- Virtual host:所属的虚拟主机
- Name:名称
- User name:使用的用户名
- State:当前的状态,running:运行中;idle:空闲
- SSL/TLS:是否使用ssl进行连接
- Protocol:使用的协议
- Channels:创建的channel的总数
- From client:每秒发出的数据包
- To client:每秒收到的数据包
- Channels当前连接所有创建的通道
2.3 Channels(信道)界面介绍
通道的属性
- channel:名称
- Node:节点名称
- 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消息的速率
2.4 Exchanges(交换机)界面介绍
交换器属性
- Virtual host:所属的虚拟主机
- Name:名称
- Type:exchange type
- Features:功能。 可以是以下之一,或者不是:D: 持久化。T:Internal,存在改功能表示这个exchange不可以被client用来推送消息,仅用来进行exchange和exchange之间的绑定,否则可以推送消息也可以绑定。
- Message rate in:消息进入的速率
- Message rate out:消息出去的速率
2.5 Queues(队列)界面介绍
队列的属性
- Virtual host:所属的虚拟主机。
- Name:名称。
- Features:功能。 可以是以下之一,或者不是:D: 持久化。
- State:当前的状态,running:运行中;idle:空闲。
- Ready:待消费的消息总数。
- Unacked:待应答的消息总数。
- Total:总数 Ready+Unacked。
- incoming:消息进入的速率。
- deliver/get:消息获取的速率。
- ack:消息应答的速率。
2.6 Admin(用户管理)界面介绍
在Admin界面可以添加用户或者虚拟主机等操作。