监控 Apache kafka 的 UI - kafka 管理器与 kafka 监视器

Monitoring UI for Apache kafka - kafka manager vs kafka monitor

我是卡夫卡的新手。我们想监控和管理kafka主题。我们尝试了不同的开源监控工具,例如

  1. kafka-monitor
  2. kafka-manager

两个工具都不错。但是我们无法决定哪些应该包含在我们的部署堆栈中。哪个更好,为什么,在哪种情况下?

来自 yahoo 的

'kafka manager' 看起来较旧,来自 LinkedIn 的 'kafka monitor' 看起来较新

Kafka 监视器-

kafka-monitor 是(尽管有名称)负载生成和报告工具。 Yahoo 的 kafka-manager 是一个整体监控工具。

如果您想为许可和 Kafka 集群支持付费,那么您可以使用 Confluent Control Center

或者,免费途径是使用 Datadog and/or Prometheus/Influxdb 的 JMX 导出器(使用 Grafana 仪表板)查看整体系统健康检查(CPU、网络、内存、等)...比仅通过使用 Kafka 工具监控 Kafka 进程获得的信息多得多

镜片
Lenses(前 Landoop)通过用户界面、流式处理 SQL 引擎和集群监控增强了 Kafka。它可以更快地监控 Kafka 数据管道。

他们提供免费的 all-in-one docker (Lenses Box),它可以为单个代理提供最多 2500 万条消息。请注意,建议将其用于开发环境。

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

汇合
另一个选项是 Confluent Enterprise which is a Kafka distribution for production environments. It also includes Control Centre,它是 Apache Kafka 的管理系统,可以从用户界面启用集群监控和管理。

Yahoo CMAK(Apache Kafka 集群管理器,以前称为 Kafka 管理器)
Kafka Manager or CMAK 是一种用于监控 Kafka 的工具,与上述工具相比功能较少。

KafDrop
KafDrop 是一个 UI 用于监控 Apache Kafka 集群。该工具显示代理、主题、分区等信息,甚至可以让您查看消息。它是一个轻量级应用程序,在 Spring 引导上运行并且需要很少的配置。

LinkedIn Burrow
Burrow 是 Apache Kafka 的监控伴侣,它提供消费者滞后检查服务,无需指定阈值。它监视所有消费者的承诺偏移量,并按需计算这些消费者的状态。提供 HTTP 端点以按需请求状态,并提供其他 Kafka 集群信息。还有可配置的通知程序,可以通过电子邮件或 HTTP 调用将状态发送到其他服务。

卡夫卡工具
Kafka Tool是一个GUI应用,用于管理和使用Apache Kafka集群。它提供了一种直观的 UI ,允许人们快速查看 Kafka 集群中的对象以及存储在集群主题中的消息。它包含面向开发人员和管理员的功能。


如果您买不起许可证,请选择 Yahoo Kafka Manager、LinkedIn Burrow 或 KafDrop。 Confluent 和 Landoop 的产品是最好的,但不幸的是,它们需要许可。

更多细节可以参考我的博客post Overview of UI Monitoring tools for Apache Kafka Clusters.

在我的公司,我们使用了 Yahoo 产品,我们调查了 LinkedIn 产品,并提到了其他几个产品。我公司最终选择了使用Prometheus+Grafana。每个人都喜欢它,我强烈推荐它。

Prometheus+Grafana有两大优势。首先是它执行全功能的 Kafka 指标摄取+可视化+警报,但它不限于 Kafka。虽然我们最初的需求只是监控 Kafka,但我们还需要有关 HTTP 服务器+流量、服务器利用率 (cpu/ram/disk) 和自定义应用程序级别指标的指标。普罗米修斯处理上述所有事情。其次,Prometheus + Grafana 质量很高,设计很好,也很容易使用。此 space 中的许多其他产品都很旧且使用起来很复杂。 Prometheus + Grafana 都非常好用,它们非常可定制、完善且易于使用。 Grafana 有一个非常华丽 + 实用的 JavaScript 界面,可以让你制作你想要的定制仪表板。 Prometheus 有一个非常完善的指标收集引擎、存储引擎、查询语言和警报系统。像 Yahoo Kafka Manager 这样的东西在所有这些类别中的功能要有限得多。

如果你想试用 Prometheus,你需要做两件事:

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

2) 设置 Prometheus 服务器以收集指标 + 并设置 Grafana 仪表板以显示您想要的图表。

我还要说这只是用于监控+仪表板+警报。对于管理功能,您还需要其他工具。