RabbitMQ windows 管理工具
RabbitMQ提供了两种管理rabbitmq的工具,一种是管理插件management plugin,一种是rabbitmqctl。
1. management plugin:包含两种插件,一种是基于Web UI管理插件,另一种是基于命令行方式的管理工具rabbitmqadmin,二者实现的功能基本基本一样,但后者更适合于脚本,rabbitmqadmin也是一个HTTP客户端。因为基于web的管理插件使用简单,所以主要介绍rabbitmqadmin,后面简单介绍web UI版的。
2. rabbitmqctl:官网文档
Management Plugin
RabbitMQ Management Command Line Tool (rabbitmqadmin)
获取rabbitmqadmin及基本功能
以下步骤的前提是管理插件management pluin已安装好。
1. 在浏览器中输入 (“server-name”为你rabbitmq的hostname)
http://server-name:15672/cli/
本机使用默认的localhost,在浏览器中输入
http://localhost:15672/cli/
2. 按照页面提示,右键保存下载链接,浏览器会下载rabbitmqadmin文件,并且自动加上后缀名txt,这个rabbitmqadmin.txt其实是一个python内容的文件,所以需要用python解析,确保你电脑有python环境,并且是2.x版本,不支持3.x。
3. 将rabbitmqadmin.txt放到和python.exe同个路径,并把后缀txt去掉,然后通过下面的方式去调用rabbitmqadmin
python.exe rabbitmqadmin
4. 使用下面的命令可以查看使用说明
python.exe rabbitmqadmin --help
基本功能和网页版插件一样,包括:
- 查看exchanges, queues, bindings, vhosts, users, permissions, connections和channels.
- overview信息查看
- 声明,删除exchanges, queues, bindings, vhosts, users 和 permissions
- 发布或获取消息
- 关闭连接,释放队列
- 导入导出配置
5. rabbitmqadmin支持bash shell用tab键自动补齐,查看bash自动补齐脚本可以调用一下命令
python.exe rabbitmqadmin --bash-completion
实例
- 获得exchanges列表
python.exe rabbitmqadmin -V test list exchanges
- 获得队列及指定的信息
rabbitmqadmin list queues vhost name node messages message_stats.publish_details.rate
- 获得队列的所有信息
rabbitmqadmin -f long -d 3 list queues
- 连接到其他host
rabbitmqadmin -H myserver -u simon -p simon list vhosts
- 声明exchange
rabbitmqadmin declare exchange name=my-new-exchange type=fanout
- 声明队列
rabbitmqadmin declare queue name=my-new-queue durable=false
- 发布消息
rabbitmqadmin publish exchange=amq.default routing_key=test payload="hello, world"
- 获取发布的消息
rabbitmqadmin get queue=test requeue=false
- 导出配置信息
rabbitmqadmin export rabbit.config
- 关闭所有连接
rabbitmqadmin -q close connection name=${conn}
Management Plugin Web UI
安装及登录
- 打开RabbitMQ Command Prompt 命令提示窗口,输入以下命令
rabbitmq-plugins enable rabbitmq_management
- 安装完毕后在浏览器地址栏中输入下面地址就可以找到web UI
http://server-name:15672/
其中server-name是hostname,rabbitmq3.0以前的版本端口号要改成55672 - 在登录窗口中输入username和password,授权进入,默认二者均为guest。
简单介绍
Web UI的进行上面实例中的操作比较简单,只需按照页面提示来操作即可。下面介绍一些通用设置。
1. 权限 Permissions
user可以有不同的权限,包括 “management”,”policymaker”,”monitoring”,”administrator” 四种,这些权限类型以tags的形式赋予user,通过设置tags来设置权限。
2. 影响管理插件的配置信息(在配置文件中修改配置)
- 定义文件
配置文件为json格式,包含了整个broker的配置定义(包括队列,转发器,绑定,用户,权限等),可以导出观察,也可以导入,从而覆盖整个broker的配置。
- 消息速率
可以显示队列,通道,转发器,虚拟主机的速率,也可以显示他们间相互连接间的速率。
- 统计数据的间隔时间
设置 rabbit 中的 collect_statistics_interval 变量的值,然后重启RabbitMQ。
- Http请求日志
设置 rabbit_management 中的 http_log_dir 的路径,然后重启RabbitMQ,只有发送到API的请求可以被记录,其他的file的http的请求不能被记录。
例如,可以对tcp监听端口进行设置,统计数据更新周期和http请求日志等进行配置
[
{rabbit, [ {tcp_listeners, [5672]},
{collect_statistics_interval, 10000} ] },
{rabbitmq_management, [ {http_log_dir, "/tmp/rabbit-mgmt"},
{rates_mode, basic}] }
].