RabbitMQ指南(4)-管理监控
来源:互联网 发布:拉拉菲尔族捏脸数据 编辑:程序博客网 时间:2024/05/17 23:44
1、管理插件
通过浏览器UI、命令行管理工具以及rabbitmqadmin,RabbitMQ的管理插件提供了基于HTTP API的方式来管理和监控服务。主要功能包括:
- 定义、罗列和删除Exchange、队列、绑定(bingdings)、用户、虚拟主机(virtual hosts)和权限。
- 监控队列长度、channel中和全局的消息速率、每个连接的数据速率、等。
- 发送和接收消息。
- 监控Erlang的进程、文件信息、内存使用情况。
- 通过JSON将对象定义导入/导出。
- 强制关闭连接、清空队列。
管理插件包含在RabbitMQ的发布包中,使用rabbitmq-plugins命令来开启它(会直接启动):
rabbitmq-plugins enable rabbitmq_management
- Web UI的地址:http://server-name:15672/,如:http://localhost:15672/。
- HTTP API和它的文档说明地址:http://server-name:15672/api/,如:http://localhost:15672/api/。
- 从http://server-name:15672/cli/地址下载rabbitmqadmin工具。
注意:在RabbitMQ 3.0之前的版本,这个端口号为:55672。
管理界面的后台数据交互是基于HTTP API的。
1.1、权限控制
用户可以赋予Rabbit支持的标签(tag),主要有四种标签:management、policymaker、monitoring、administrator。以下是它们的区别:
- 罗列通过AMQP连接的虚拟主机列表。
- 列出有权限虚拟主机下的所有队列、Exchange、和绑定。
- 查看和关闭自己的channel和连接。
- 查看虚拟主机的全局统计,包括其它用户的活跃情况。
- 查看、创建、删除虚拟主机的策略和参数。
- 列出所有的虚拟主机,包括不能通过AMQP协议访问的。
- 列出所有用户的连接和channel。
- 列出节点的内存使用情况和集群信息。
- 查询所有虚拟主机的全局统计信息。
- 查询、创建和删除虚拟主机。
- 查询、创建和删除用户。
- 查询、创建和删除权限。
- 关闭其它用户的连接。
所有的用户都只能同时列出一个虚拟主机下的对象。
如果由于没有用户,或只有非管理员用户而无法登录,可以使用rabbitmqctl add_user命令来增加一个非管理员用户,再使用rabbitmqctl set_user_tags给增加的用户指定为管理员用户。
1.2、配置相关
在RabbitMQ的主配置文件rabbitmq.config中,有一些选项会影响到管理插件。
1.2.1、在启动时加载定义对象
管理界面可以将所有的Broker对象(队列、Exchange、bindings、用户、虚拟主机、权限控制、参数)以JSON形式导出,在某些情况下,可能需要在启动后就包含所有对象的定义。
使用load_definitions参数可以设置启动时包含先前导出的JSON文件中的所有对象定义。
注意,使用这个参数将会覆盖Broker中相同的对象,但是是不会删除已经存在的不同对象。但是如果要完全重置Broker,使用这个选项将会阻止默认用户、虚拟主机、权限的创建。
1.2.2、消息速率
管理插件可以显示全局的、队列的、channel的、Exchange的、虚拟主机的消息速率。这是最基本的。
它也可以展示队列、channel、Exchange等的各种组合的消息速率,为了节约内存、CPU,该功能默认是关闭的。
消息速率的显示模式是通过参数rates_mode控制的,可选值:basic(默认)、detailed、none。
1.2.3、统计刷新间隔
默认管理插件的统计刷新间隔为5000ms,它可由参数collect_statistics_interval控制,单位为ms,重启生效。
1.2.4、HTTP请求日志配置
创建访问HTTP API的日志,使用http_log_dir参数来设置,注意它仅会记录HTTP API的日志,界面的静态文件的访问不会被记录,重启生效。
1.2.5、配置示例
[
{rabbit, [ {tcp_listeners, [5672]},
{collect_statistics_interval, 10000} ] },
{rabbitmq_management, [ {http_log_dir, "/tmp/rabbit-mgmt"},
{message_rates, basic}] }
]
将统计刷新间隔设置为10000ms,HTTP请求日志目录为/tmp/rabbit-mgmt。
修改Web UI的端口号:
{rabbitmq_management, [{listener, [{port, 12345}]}]}
支持HTTPS:
[{rabbitmq_management,
[{listener, [{port, 15671},
{ssl, true},
{ssl_opts, [{cacertfile, "/path/to/cacert.pem"},
{certfile, "/path/to/cert.pem"},
{keyfile, "/path/to/key.pem"}]}
]}
]}
]
1.3、集群相关
管理插件是支持集群的。可以在集群中的一个或者多个节点上开启它,就可以查看整个集群的信息。
如果要部署不需要全量开启管理插件的集群节点,但至少也应该在每个节点上开启rabbitmq-management-agent插件。
- RabbitMQ指南(4)-管理监控
- RabbitMQ之管理与监控
- RabbitMQ的管理与监控
- RabbitMQ源码解析前奏--管理与监控
- RabbitMQ 远程Web管理与监控
- [django-celery]监控管理指南
- rabbitmq监控
- RabbitMQ的远程Web管理与监控工具
- rabbitmq中的管理和监控功能:rabbitmqctl 命令的使用
- RabbitMQ指南
- RabbitMQ指南
- RabbitMQ指南
- RabbitMQ监控(4)——URL监控
- rabbitmq 管理
- rabbitmq管理
- RabbitMQ安装与监控
- RabbitMQ安装与监控
- RabbitMQ安装与监控
- django操作数据库
- 双飞翼布局和圣杯布局的对比
- 数据库中ALTER 和 UPDATE
- Android 6.0 权限申请
- 正则表达式的基本用法和常用案例
- RabbitMQ指南(4)-管理监控
- Python pydot模块安装
- Solr解析器通用的查询参数
- NIO,BIO,AIO,JAVA通讯编程学习笔记3
- 内存对齐
- activiti 快速入门--排他网关(3)
- 用户态 TCP/IP 协议栈
- MySQL第二天--where条件查询、视图及函数
- 经典Java面试题-Spring BeanFactory