我正在试验卡夫卡。我能够使用 Zookeeper 和运行的代理以及 produce/consume 数据获得一个基本集群。卡夫卡是否有互动管理 shell/cli?我希望有一个关于所有主题的视图,一个主题的分区,produce/consume 速率,持久化的数据等等。我已经在线搜索并查看了安装。我找不到任何管理工具。
谢谢,
Kafka 指标可能会通过 JMX 公开,并在jconsole中进行探索。
jconsole
在每个代理上,在 Linux/MacOS 上的kafka-server-start.sh中的某处添加以下行:
kafka-server-start.sh
export JMX_PORT=9999
或 Windows 上的kafka-server-start.bat:
kafka-server-start.bat
set JMX_PORT=9999
请注意,大多数 JMX 指标都会公开本地代理的状态,因此您必须同时连接到所有代理以获得全局。因此,将必要的 JMX 指标导出到您选择的监控系统更方便(Ganglia/Graphite/Nagios/etc.)。
有Kafka Web 控制台和卡夫卡胶印监视器。 Kafka Web 控制台可能没有您想要的所有内容,但将来它将包含您所要求的内容。
根据您的需要,有一些 OSS 社区工具可用,但您可能需要使用多个(没有单个工具是 all-encompassing),具体取决于您的监视和可观察性需求,以及您是否满足于使用 CLI 工具或是在 web 或 desktop-based 之后工具。以下是一些:
CLI 工具
Kafka 在$KAFKA_HOME/bin中拥有自己的工具,例如kafka-console-consumer.sh(用于阅读主题)和其他工具,如kafka-topics.sh和kafka-configs.sh用于管理任务。
$KAFKA_HOME/bin
kafka-console-consumer.sh
kafka-topics.sh
kafka-configs.sh
Kafkacat用于浏览主题和发布消息。在撰写本文时,它还支持打印消息标题(与 Kafka 的 built-in 工具不同)。
基于 Web 的工具
Kafdrop 3 - 提供代理信息,并允许您浏览主题内容(文本和 Avro 格式)。这是最初的 Kafdrop 项目的最新分支,它积极维护并与 Docker 和 Kubernetes 一起运行良好。 (温和的免责声明:我一直在为这个工具做贡献,但我不是原来的 author.)
地洞 - 监控消费者群体滞后情况,并在消费者落后时提出警报。严格来说,根据您的问题,这不是一个“主题浏览工具”,但它确实提供了消息消费问题的主要指示(卡住或积压的消费者)。我们多年来一直在生产中使用这个工具,它完全符合包装盒上的标签,并且非常有用。
桌面工具
卡夫卡工具 - 放下最受欢迎的桌面系列工具。它非常简单,只适用于桌面(Win,Linux,macOS)。用于连接到开发盒上的本地 Kafka,但不是用于连接到生产群集(访问通常仅限于环境)。此外,这是一个商业工具,具有有限的 non-commercial 使用许可。
KaDeck - 最新的商业工具,提供基本社区版,仅支持桌面版。
在工作中,我们使用Kafdrop 3来查看经纪人信息,浏览主题和消费者滞后。 Kafdrop 3 的主要原因是因为我们将 Kafka 锁定在生产中,所有生产者和消费者都在 Kubernetes 集群中。我们的开发机器上没有访问 Kafka(端口不暴露于外部世界)。所以我们在 K8s 集群中运行 Kafdrop 并使用kubectl proxy代理它。
kubectl proxy
消费者滞后特征并不像提供的那样复杂,但可能已经足够好了,特别是考虑到它只在一个工具中。
如果您希望使用 CLI 环境中的消息,我建议您尝试使用Kafkacat。虽然它没有与 Kafka 发行版捆绑在一起,但下载和构建它的努力绝对值得。 (上次我尝试过,你必须自己构建,这只是运行的问题make .)我们使用 Kafka 的标题功能,具有讽刺意味的是捆绑工具不支持 - 但是像 Kafdrop 3 和 Kafkacat 这样的社区工具和商业像 Kafka Tool 这样的工具确实支持。
make
4 回答
Kafka 指标可能会通过 JMX 公开,并在
jconsole
中进行探索。在每个代理上,在 Linux/MacOS 上的
kafka-server-start.sh
中的某处添加以下行:或 Windows 上的
kafka-server-start.bat
:请注意,大多数 JMX 指标都会公开本地代理的状态,因此您必须同时连接到所有代理以获得全局。因此,将必要的 JMX 指标导出到您选择的监控系统更方便(Ganglia/Graphite/Nagios/etc.)。
有Kafka Web 控制台和卡夫卡胶印监视器。 Kafka Web 控制台可能没有您想要的所有内容,但将来它将包含您所要求的内容。
根据您的需要,有一些 OSS 社区工具可用,但您可能需要使用多个(没有单个工具是 all-encompassing),具体取决于您的监视和可观察性需求,以及您是否满足于使用 CLI 工具或是在 web 或 desktop-based 之后工具。以下是一些:
CLI 工具
Kafka 在
$KAFKA_HOME/bin
中拥有自己的工具,例如kafka-console-consumer.sh
(用于阅读主题)和其他工具,如kafka-topics.sh
和kafka-configs.sh
用于管理任务。Kafkacat用于浏览主题和发布消息。在撰写本文时,它还支持打印消息标题(与 Kafka 的 built-in 工具不同)。
基于 Web 的工具
Kafdrop 3 - 提供代理信息,并允许您浏览主题内容(文本和 Avro 格式)。这是最初的 Kafdrop 项目的最新分支,它积极维护并与 Docker 和 Kubernetes 一起运行良好。 (温和的免责声明:我一直在为这个工具做贡献,但我不是原来的 author.)
地洞 - 监控消费者群体滞后情况,并在消费者落后时提出警报。严格来说,根据您的问题,这不是一个“主题浏览工具”,但它确实提供了消息消费问题的主要指示(卡住或积压的消费者)。我们多年来一直在生产中使用这个工具,它完全符合包装盒上的标签,并且非常有用。
桌面工具
卡夫卡工具 - 放下最受欢迎的桌面系列工具。它非常简单,只适用于桌面(Win,Linux,macOS)。用于连接到开发盒上的本地 Kafka,但不是用于连接到生产群集(访问通常仅限于环境)。此外,这是一个商业工具,具有有限的 non-commercial 使用许可。
KaDeck - 最新的商业工具,提供基本社区版,仅支持桌面版。
在工作中,我们使用Kafdrop 3来查看经纪人信息,浏览主题和消费者滞后。 Kafdrop 3 的主要原因是因为我们将 Kafka 锁定在生产中,所有生产者和消费者都在 Kubernetes 集群中。我们的开发机器上没有访问 Kafka(端口不暴露于外部世界)。所以我们在 K8s 集群中运行 Kafdrop 并使用
kubectl proxy
代理它。消费者滞后特征并不像提供的那样复杂,但可能已经足够好了,特别是考虑到它只在一个工具中。
如果您希望使用 CLI 环境中的消息,我建议您尝试使用Kafkacat。虽然它没有与 Kafka 发行版捆绑在一起,但下载和构建它的努力绝对值得。 (上次我尝试过,你必须自己构建,这只是运行的问题
make
.)我们使用 Kafka 的标题功能,具有讽刺意味的是捆绑工具不支持 - 但是像 Kafdrop 3 和 Kafkacat 这样的社区工具和商业像 Kafka Tool 这样的工具确实支持。