RabbitMQ提供了完善的管理和监控工具,分 management plugin 和 rabbitmqctl 两种类型的工具,具体如下:
rabbitmq-management plugin提供HTTP_API来管理和监控RabbitMQ Server,具体包含如下功能:
- Declare, list and delete exchanges, queues, bindings, users, virtual hosts and permissions.
- Monitor queue length, message rates globally and per channel, data rates per connection, etc.
- Send and receive messages.
- Monitor Erlang processes, file descriptors, memory use.
- Export / import object definitions to JSON.
- Force close connections, purge queues.
图1 Web UI截图
management plugin默认就在RabbitMQ的发布版本中,只需要enable就可以了:
# rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
mochiweb
webmachine
rabbitmq_mochiweb
amqp_client
rabbitmq_management_agent
rabbitmq_management
Plugin configuration has changed. Restart RabbitMQ for changes to take effect.
看到这一幕后重启RabbitMQ,重启后会出现如下:
-- plugins running
amqp_client 3.0.0
mochiweb 2.3.1-rmq3.0.0-gitd541e9a
rabbitmq_management 3.0.0
rabbitmq_management_agent 3.0.0
rabbitmq_mochiweb 3.0.0
webmachine 1.9.1-rmq3.0.0-git52e62bc
这就算是启用成功了。
可以通过以下两种方式来访问管理和监控界面:
1、Web UI
打开浏览器,输入 http:// server-name :15672/回车,会要求输入用户名和密码,用默认的guest/guest即可,确认后会出现图1所示界面,接下来你就可以尽情掌控RabbitMQ了。
management UI是static HTML页面,其通过 Javascript查询 HTTP API得到实时数据。实质上Web UI最终也是调用的Management command line tool。RabbitMQ Management HTTP API文档请看这里。
2、命令行工具
Management command line tool拥有跟Web UI同样的功能,可能还更便于脚本使用。 rabbitmqadmin仅仅是一个定制的HTTP客户端,如果想在自己的程序中引入 rabbitmqadmin的话,可以直接使用HTTP API。
下载 rabbitmqadmin.txt后,将其重命名为 rabbitmqadmin,拷贝到 /usr/local/bin或者你想要的路径 ,并增加可执行权限。
#rabbitmqadmin --help
可以查看使用指南,使用例子可以看 这里。