RabbitMQ的Web管理与监控简介
RabbitMQ提供了完善的管理和监控工具
1、MANAGEMENT PLUGIN
rabbitmq-management plugin提供HTTP API来管理和监控RabbitMQ Server,具体包含如下功能:
- 删除、生成、列表,包括:exchanges,queues,bindings,users,virtual hosts and permissions。
- 监视 queue 长度,每个 channel的message rates ,每个连接的data rates,等等。
- 发送和接收messages。
- 监控Erlang processes,file descriptors,memory use。
- 导出/导出object definitions to JSON。
- 强制关闭 connections,清空 queues。
management plugin默认就在RabbitMQ的发布版本中,只需要enable就可以了,执行以下命令:
$ cd /usr/lib/rabbitmq/bin/ $ sudo rabbitmq-plugins enable rabbitmq_management
看到这一幕后,重启RabbitMQ就可以了。需要注意的是,mochiweb 必须得有,mochiweb是一个用来构建Web应用的轻便,高效的HTTP应用框架的Erlang库。
下面可以通过以下两种方式来访问管理和监控界面:
2、WEB UI管理消息服务器
打开浏览器,输入 http://[server-name]:15672/ 如 http://localhost:15672/ ,会要求输入用户名和密码,用默认的guest/guest即可(guest/guest用户只能从localhost地址登录,如果要配置远程登录,必须另创建用户),确认后会出现下面界面:
接下来你就可以掌控RabbitMQ了。
3、添加远程管理账户
如果要从远程登录怎么做呢?处于安全考虑,guest这个默认的用户只能通过http://localhost:15672来登录,其他的IP无法直接用这个guest帐号。这里我们可以通过配置文件来实现从远程登录管理界面,只要编辑/etc/rabbitmq/rabbitmq.config文件(没有就新增),添加以下配置就可以了。
[ {rabbit, [{tcp_listeners, [5672]}, {loopback_users, ["asdf"]}]} ].
现在添加了一个新授权用户asdf,可以远程使用这个用户名。记得要先用命令添加这个命令才行:
$ cd /usr/lib/rabbitmq/bin/ #用户名与密码 $ sudo rabbitmqctl add_user asdf 123456 #用户设置为administrator才能远程访问 $ sudo rabbitmqctl set_user_tags asdf administrator $ sudo rabbitmqctl set_permissions -p / asdf ".*" ".*" ".*"
其实也可以通过管理平台页面直接添加用户和密码等信息。
如果还不能远程访问或远程登录检查是不是5672, 15672端口没有开放!!!!!!