Apache Kafka的交互式管理shell

时间:2014-06-05 19:43:58

标签: apache-kafka

我正在试验卡夫卡。我能够获得一个基本的集群,其中包含Zookeeper和运行并生成/使用数据的代理。 Kafka是否有交互式管理shell / cli? 我希望有一个关于所有主题的视图,一个主题的分区,产生/消费率,持久化数据等等。 我在网上搜索并查看了安装。我找不到任何管理工具。

谢谢,

4 个答案:

答案 0 :(得分:6)

Kafka Web ConsoleKafka Offset Monitor。 Kafka Web控制台可能没有您想要的所有内容,但将来它将包含您所要求的内容。

答案 1 :(得分:0)

Kafka指标可能会通过JMX公开,并在jconsole中进行了探讨。

在每个代理上,在Linux / MacOS上的kafka-server-start.sh中的某处添加以下行:

export JMX_PORT=9999
Windows上的

kafka-server-start.bat

set JMX_PORT=9999

请注意,大多数JMX指标都会公开本地代理的状态,因此您必须同时连接到所有代理以获得全局。因此,将必要的JMX指标导出到您选择的监控系统(Ganglia / Graphite / Nagios /等)会更方便。

答案 2 :(得分:0)

有几种OSS社区工具可用,具体取决于您的需求,但您可能需要使用多种工具(没有一个工具可以包罗万象),具体取决于您的监视和可观察性需求,以及您是否满意CLI工具或追求基于Web或桌面的工具。这里有一些:

CLI工具

  • Kafka在$KAFKA_HOME/bin中拥有的工具,例如kafka-console-consumer.sh(用于阅读本主题),以及其他工具,例如kafka-topics.shkafka-configs.sh,用于管理任务。
  • Kafkacat用于浏览主题和发布消息。在撰写本文时,它还支持消息标题的打印(不同于Kafka的内置工具)。

基于Web的工具

  • Kafdrop 3-提供代理信息,并让您浏览主题内容(文本和Avro格式)。这是原始Kafdrop项目的最新分支,该项目一直得到积极维护,并与Docker和Kubernetes良好配合。 (温和的免责声明:我当时一直在为该工具做出贡献,但我不是原始作者。)
  • Burrow-监视消费者组的滞后并在消费者落后时发出警报。严格来讲,这不是您所提问题的“主题浏览工具”,但确实提供了消息消耗问题(拥挤或积压的消费者)的主要指示。我们已经在生产中使用此工具已有多年了,它确实可以按照包装盒上的标签上的说明进行操作,并且非常有用。

台式机工具

  • Kafka Tool –传递最流行的桌面工具系列。这非常简单,并且仅适用于台式机(Win,Linux,macOS)。对于在开发箱上连接到本地Kafka很有用,但对于连接到生产集群(访问通常仅限于环境)的作用不大。另外,这是一种商业工具,具有非商业用途的有限许可。
  • KaDeck-一种更新的商业工具,具有仅支持桌面的基本社区版本。

答案 3 :(得分:0)

在工作中,我们使用Kafdrop 3查看经纪人信息,浏览主题和消费者滞后。 Kafdrop 3的主要原因是因为我们将Kafka锁定在生产中,并且所有生产者和消费者都位于Kubernetes集群中。我们无法在我们的开发机上访问Kafka(端口未暴露于外界)。因此,我们在K8s集群中运行Kafdrop,并使用kubectl proxy对其进行代理。

Burrow所提供的消费者滞后功能并不复杂,但可能已经足够好了,特别是考虑到它是在一个工具中。

如果您希望使用CLI环境中的消息,建议尝试Kafkacat。虽然它并不与Kafka发行版捆绑在一起,但是下载和构建它的努力绝对值得。 (我上次尝试时,您必须自己构建,这只需要运行make。)我们使用Kafka的 headers 功能,具有讽刺意味的是,捆绑工具不支持-但支持Kafdrop 3和Kafkacat等社区工具以及支持Kafka Tool 的商业工具。