Apache Kafka的监控UI - Kafka Manager与Kafka Monitor比较

31
我对kafka不太了解。我们想要监控和管理kafka主题。我们尝试了不同的开源监控工具,如kafka-monitorkafka-manager。这两个工具都很好。但我们无法决定应该将哪一个包含在我们的部署堆栈中。哪一个更好,为什么,在哪种情况下使用?来自Yahoo的'kafka manager'似乎是较旧的版本,而来自LinkedIn的'kafka monitor'则更新一些。Kafka Monitor- enter image description here

关于Kafka-manager的设置,请参考以下链接:https://codeforgeek.com/setting-up-kafka-management-for-kafka-cluster/ - roottraveller
4个回答

90

Lenses
Lenses(前身为 Landoop)增强了 Kafka 的用户界面、流式 SQL 引擎和集群监控。它使 Kafka 数据管道的监控更加快速。

他们提供了一个免费的一体化 Docker(Lenses Box),可以为单个代理服务超过 25M 条消息。请注意,这仅建议用于开发环境。

Cloudera SMM
Streams Messaging Manager 是用于监视和管理运行 Cloudera 或 Hortonworks kafka 集群的解决方案。它还具有复制功能。

Confluent
另一个选择是 Confluent Enterprise,这是一个用于生产环境的 Kafka 发行版。它还包括 Control Centre,这是一个管理系统,可通过用户界面实现 Apache Kafka 的集群监控和管理。

Yahoo CMAK (Cluster Manager for Apache Kafka, 先前称为 Kafka Manager)
Kafka Manager 或 CMAK 是一个用于监视 Kafka 的工具,与上述工具相比,其功能较少。

KafDrop
KafDrop是用于监控Apache Kafka集群的用户界面。该工具显示诸如代理、主题、分区甚至让您查看消息等信息。它是一个在Spring Boot上运行且需要非常少配置的轻量级应用程序。

LinkedIn Burrow
Burrow是Apache Kafka的监视伴侣,提供消费者滞后检查服务而无需指定阈值。它监视所有消费者的提交偏移量,并根据需要计算这些消费者的状态。提供了HTTP端点以按需请求状态,以及提供其他Kafka集群信息。还有可配置的通知器,可以通过电子邮件或HTTP调用向另一个服务发送状态。

Kafka Tool
Kafka Tool是管理和使用Apache Kafka集群的GUI应用程序。它提供了直观的用户界面,允许快速查看Kafka集群中的对象以及存储在主题中的消息。它包含面向开发人员和管理员的功能。


如果您无法支付许可证费用,可以考虑使用Yahoo Kafka Manager、LinkedIn Burrow或KafDrop。Confluent和Landoop的产品是最好的,但不幸的是,它们需要许可证。
如需更多详细信息,请参阅我的博客文章Apache Kafka集群UI监控工具概述

3
还有另一个工具叫做KafkaEsque,与Kafka Tool类似,但可在GPL下使用(请参见https://github.com/patschuh/KafkaEsque)。 - datentyp
5
KaDeck是完全免费的开发者工具。在编写本文时,它可能是企业和开发人员最好的解决方案。它无需任何额外的基础设施设置,并提供详细的数据记录洞察,包括时间窗口过滤,非常有帮助。它可以作为桌面应用程序和网络服务运行。 - Ben
可以将 https://github.com/tchiotludo/kafkahq 添加到此列表中,用于管理和浏览 Kafka 主题。 - Antonin
3
使用过Confluent Enterprise后,我无法推荐他们的工具。虽然在纸上看起来似乎符合要求,屏幕截图也很漂亮,但整体用户体验并不流畅。我们经常遇到仪表板无法刷新,显示的统计数据矛盾甚至有时完全错误的问题。我们对Kafka集群进行了基准测试,将消息吞吐量提高到约100MB/s(并验证消息已被发布),但在他们的仪表板上却看到几KB/s的吞吐量数据。 - Emil Koutanov

6
如果您想支付许可证和Kafka集群支持费用,那么您可以使用Confluent Control Center
或者,免费的方法是使用Datadog和/或Prometheus/Influxdb的JMX导出器(带有Grafana仪表板),以查看整个系统的健康状况检查(CPU、网络、内存等)...比仅使用Kafka工具监控Kafka进程获得更多的信息。

3
在我们公司,我们使用了Yahoo产品,调查了LinkedIn产品以及其他几个提到的产品。最终,我们的公司选择使用Prometheus+Grafana。每个人都喜欢它,我强烈推荐它。
Prometheus + Grafana有两个重要的优点。第一个是它可以完全支持Kafka指标摄取、可视化和警报,但不仅限于Kafka。虽然我们最初的需求只是监视Kafka,但我们还想要HTTP服务器+流量、服务器利用率(CPU/RAM/磁盘)以及自定义应用程序级别的指标。Prometheus可以处理以上所有内容。其次,Prometheus + Grafana非常高质量、设计良好且易于使用。在这个领域中,很多其他产品都很老旧且难以操作。Prometheus + Grafana都非常适合使用,它们非常可定制、精致且易于使用。Grafana有一个非常华丽+功能齐全的JavaScript界面,可以让您制作出您想要的定制化仪表板。Prometheus有一个非常精致的度量收集引擎、存储引擎、查询语言和警报系统。像Yahoo Kafka Manager这样的产品在所有这些类别中的功能都要有限得多。
如果您想尝试Prometheus,需要做两件事:

1)在您的Kafka代理上安装+配置JMX->Prometheus导出程序: https://github.com/prometheus/jmx_exporter

2)设置一个Prometheus服务器来收集指标+设置一个Grafana仪表板来显示所需的图形。

我还想说,这仅用于监视+仪表板+警报。对于管理功能,您仍需要其他工具。


你知道有没有一个预先构建的Kafka仪表盘的存储库可以用于Grafana吗? - OneCricketeer
1
我自己搭建了一个,但也有现成的:https://grafana.com/dashboards?search=kafka。我想Datadog也有一些。 - clay
谢谢 :) 不确定你是否知道其他的。我目前在工作中使用DataDog,但想要设置一个家庭实验室来玩弄Influx和Grafana。 - OneCricketeer

0

kafka-monitor是一个负载生成和报告工具(尽管名字不太准确)。雅虎的kafka-manager则是一个全面的监控工具。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接