首页 文章

Apache Kafka 的交互式管理 shell

提问于
浏览
4

我正在试验卡夫卡。我能够使用 Zookeeper 和运行的代理以及 produce/consume 数据获得一个基本集群。卡夫卡是否有互动管理 shell/cli?我希望有一个关于所有主题的视图,一个主题的分区,produce/consume 速率,持久化的数据等等。我已经在线搜索并查看了安装。我找不到任何管理工具。

谢谢,

4 回答

  • 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/etc.)。

  • 6

    Kafka Web 控制台卡夫卡胶印监视器。 Kafka Web 控制台可能没有您想要的所有内容,但将来它将包含您所要求的内容。

  • 0

    根据您的需要,有一些 OSS 社区工具可用,但您可能需要使用多个(没有单个工具是 all-encompassing),具体取决于您的监视和可观察性需求,以及您是否满足于使用 CLI 工具或是在 web 或 desktop-based 之后工具。以下是一些:

    CLI 工具

    • Kafka 在$KAFKA_HOME/bin中拥有自己的工具,例如kafka-console-consumer.sh(用于阅读主题)和其他工具,如kafka-topics.shkafka-configs.sh用于管理任务。

    • Kafkacat用于浏览主题和发布消息。在撰写本文时,它还支持打印消息标题(与 Kafka 的 built-in 工具不同)。

    基于 Web 的工具

    • Kafdrop 3 - 提供代理信息,并允许您浏览主题内容(文本和 Avro 格式)。这是最初的 Kafdrop 项目的最新分支,它积极维护并与 Docker 和 Kubernetes 一起运行良好。 (温和的免责声明:我一直在为这个工具做贡献,但我不是原来的 author.)

    • 地洞 - 监控消费者群体滞后情况,并在消费者落后时提出警报。严格来说,根据您的问题,这不是一个“主题浏览工具”,但它确实提供了消息消费问题的主要指示(卡住或积压的消费者)。我们多年来一直在生产中使用这个工具,它完全符合包装盒上的标签,并且非常有用。

    桌面工具

    • 卡夫卡工具 - 放下最受欢迎的桌面系列工具。它非常简单,只适用于桌面(Win,Linux,macOS)。用于连接到开发盒上的本地 Kafka,但不是用于连接到生产群集(访问通常仅限于环境)。此外,这是一个商业工具,具有有限的 non-commercial 使用许可。

    • KaDeck - 最新的商业工具,提供基本社区版,仅支持桌面版。

  • 0

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

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

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

相关问题