管理、监控和统计
对于长期以来,RabbitMQ 内置的管理和监控功能主要由 rabbitmqctl 提供。虽然它是一个合理的管理工具(假设你喜欢命令行),但 rabbitmqctl 从来都不是一个非常强大的监控工具。所以我们将构建更好的东西。
当然,很多人不喜欢命令行工具,因此一些人构建了管理 RabbitMQ 的替代方法。 Alice / Wonderland 和 Spring AMQP 是我首先想到的两个。 然而,并没有太多的标准化,而且人们并不总是觉得通过 epmd 与 Rabbit 通信非常方便。 所以我们将构建更简单的东西。
考虑到这一点,我想宣布 RabbitMQ Management 的存在。 这是一个插件,通过 RESTful 接口提供管理和监控,并带有 Web GUI。 可以将其视为超级 Alice,也是人们想要构建的任何其他工具的集成点。
因此,RabbitMQ Management 将允许更轻松的管理和更好的监控。 有多好? 嗯,作为即将发布的 rabbit 版本的一部分,我们向 broker 添加了统计信息收集功能。 它可以按通道/队列/交换机为单位计算消息的发布、路由、传递和确认,因此我们可以确定哪些通道发布速度快或消费速度慢,哪些队列正在从哪些交换机发布,哪些连接和主机最繁忙等等。
当然,进行所有这些额外的簿记都是有成本的; 当统计信息收集开启时,服务器的运行速度可能会降低约 10%(假设它是 CPU 密集型的;这通常意味着处理瞬态消息。如果是 IO 密集型的,性能影响可能会更小)。 目前,当安装管理插件时,统计信息收集会自动开启,但我们会使其可配置。
因此,我想添加一个警告:它目前处于非常早期的开发阶段,真的不应该信任它用于实验和玩耍以外的任何事情。 REST API 将会改变,UI 将会改变,插件可能会使你的服务器崩溃,并且 TODO 目前几乎是可笑的长。 但希望这能让你了解我们要做什么。