需要检查生产中监控Kafka的工具。 此外,工具不需要许可证或重型硬件。 特别是我需要一个工具来评估消费者对主题的偏差,主题的健康状况。
答案 0 :(得分:10)
Landoop
Landoop通过用户界面,流式SQL引擎和集群监控增强了Kafka。它可以更快地监控Kafka数据管道。
它们提供了一个免费的一体化docker(LENSES Box),它可以为单个代理提供最多25M条消息。请注意,建议将其用于开发环境。
<强>汇合强>
另一个选项是Confluent Enterprise,它是生产环境的Kafka发行版。它还包括Control Centre,它是Apache-Kafka的管理系统,可通过用户界面进行集群监控和管理。
Yahoo Kafka Manager
Kafka's Manager是一种用于监控Kafka的工具,与上述工具相比,它提供的功能更少。
<强> KafDrop 强>
KafDrop是用于监控Apache Kafka集群的UI。该工具显示诸如代理,主题,分区等信息,甚至可以让您查看消息。它是一个轻量级应用程序,在Spring Boot上运行,只需要很少的配置。
LinkedIn Burrow
Burrow是Apache Kafka的监控伴侣,它将消费者滞后检查作为服务提供,无需指定阈值。它监控所有消费者的承诺抵消额,并根据需要计算这些消费者的状态。提供HTTP端点以按需请求状态,以及提供其他Kafka群集信息。还有可配置的通知程序可以通过电子邮件或HTTP调用将状态发送到另一个服务。
Kafka的工具
Kafka's Tool是用于管理和使用Apache-Kafka集群的GUI应用程序。它提供了一个直观的UI,允许用户快速查看Kafka群集中的对象以及存储在群集主题中的消息。它包含面向开发人员和管理员的功能。
我担心您找不到适合生产环境的免费产品,但如果您负担不起,请选择Yahoo Kafka Manager,LinkedIn Burrow或KafDrop。 Confluent和Landoop的产品是最好的,但不幸的是,它们需要许可。
答案 1 :(得分:3)
有几种免费的监控解决方案,但都有其局限性。例如,Burrow,Kafka经理,Kafdrop,你可以brew your own使用JMX指标加上InfluxDB和Grafana。
Confluent Control Center非常适合您的要求,但它确实需要许可证。有一个30 day free trial available。除了监控一系列指标外,还需要实际监控各个主题以及流经的消息并对每个主题进行校验,以确保准确报告消耗情况。
答案 2 :(得分:2)
Kafka正在/通过JMX制作相当多的信息。您可以使用任何JMX客户端来获取它。 即使在您的应用程序内部,您也可以将Kafka JMX信息转发到JMX MBean以构建,例如JMX Facade。
一些具体建议:
答案 3 :(得分:1)
这取决于监视的程度和自动化程度。 Kafka Manager是一个很好的起点,可以开始深入了解/观察集群的运行状况,吞吐量,延迟等,以及一些基本的管理操作,但是很快您将获得更多。例如,您需要监视消费者的健康状况吗?您是否需要查看主题内容来调试应用程序,执行验尸,跟踪消息流等?您将如何处理不良/格式错误的邮件,“中毒”主题等?建议您在工具箱中再添加一些项目:
以上所有都是开放源代码,不需要许可。我之所以没有在其中列出Confluent,Landoop或KaDeck工具是因为它们是商业性的并且需要许可。而且,它们确实不能给您太多OSS替代产品,恕我直言。
自2014年以来,已经将Kafka作为大型微服务部署的主要消息传递/事件主干网运行了一段时间,不能仅仅强调基本的经纪人级别检查并关注整个端到端的重要性。从生产者到消费者的最终消息路径。具有讽刺意味的是,我们发现大多数时候我们都感觉到经纪人正在忙碌,实际上是应用程序编写得不好。我们倾向于使用工具的组合,直到编写我们自己的基本“ canary”应用程序为止,这些应用程序伪装成消息生产者和消费者,并在出现不利情况时为我们提供领先的指示。
Kafka确实在$KAFKA_HOME/bin
中附带了一些基本的CLI工具,例如kafka-console-consumer.sh
(用于阅读本主题)以及其他工具,例如kafka-topics.sh
和kafka-configs.sh
用于管理任务。还有一个单独的工具kafkacat用于浏览主题。但是以我的经验,这些方法只能作为最后的手段使用,例如,如果您失去了与群集的连接,并且需要安装到一个代理节点上,那么它们确实很有用。但是它们本身并不是监视工具。
答案 4 :(得分:0)
我刚刚发布了kafka的开源GUI:https://github.com/tchiotludo/kafkahq 任何反馈表示赞赏!
您还可以在此处找到其他一些用户界面:https://github.com/monksy/awesome-kafka/blob/master/tools.md#dashboards
答案 5 :(得分:0)
这取决于监视的程度和自动化程度。 Kafka Manager是一个很好的起点,可以开始深入了解/观察集群的运行状况,吞吐量,延迟等,以及一些基本的管理操作,但是很快您将获得更多。例如,您需要监视消费者的健康状况吗?您是否需要查看主题内容来调试应用程序,执行验尸,跟踪消息流等?您将如何处理不良/格式错误的邮件,“中毒”主题等?建议您在工具箱中再添加一些项目:
以上所有都是开放源代码,不需要许可。我之所以没有在其中列出Confluent,Landoop或KaDeck工具是因为它们是商业性的并且需要许可。而且,它们确实不能给您太多OSS替代产品,恕我直言。
自2014年以来,已经将Kafka作为大型微服务部署的主要消息传递/事件主干网运行了一段时间,不能仅仅强调基本的经纪人级别检查并关注整个端到端的重要性。从生产者到消费者的最终消息路径。具有讽刺意味的是,我们发现大多数时候我们都感觉到经纪人正在忙碌,实际上是应用程序编写得不好。我们倾向于使用工具的组合,直到编写我们自己的基本“ canary”应用程序为止,这些应用程序伪装成消息生产者和消费者,并在出现不利情况时为我们提供领先的指示。
Kafka确实在$KAFKA_HOME/bin
中附带了一些基本的CLI工具,例如kafka-console-consumer.sh
(用于阅读本主题)以及其他工具,例如kafka-topics.sh
和kafka-configs.sh
用于管理任务。还有一个单独的工具-Kafkacat-用于浏览主题。但是以我的经验,这些方法只能作为最后的手段使用,例如,如果您失去了与群集的连接,并且需要安装到一个代理节点上,那么它们确实很有用。但是它们本身并不是监视工具。