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

来源:互联网 发布:windows 评估副本 编辑:程序博客网 时间:2024/06/06 03:55
    RabbitMQ提供了完善的管理和监控工具,分management pluginrabbitmqctl两种类型的工具,具体如下:

一、management plugin
    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
       可以查看使用指南,使用例子可以看这里。
    0 0
    原创粉丝点击