RabbitMQ源码解析前奏--管理与监控

    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
   这就算是启用成功了。
   需要注意的是: Mochiweb 必须得有, MochiWeb是一个用来构建Web应用的轻便,高效的 HTTP 应用框架的Erlang库。rabbitmq_mochiweb指南在 这里

   可以通过以下两种方式来访问管理和监控界面:
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可以在 http:// server-name :15672/cli页面下载,也可以在这儿下载。
   下载 rabbitmqadmin.txt后,将其重命名为 rabbitmqadmin,拷贝到 /usr/local/bin或者你想要的路径 ,并增加可执行权限。
   #rabbitmqadmin --help
   可以查看使用指南,使用例子可以看 这里