如何查看kafka消息

时间:2017-05-29 09:28:21

标签: apache-kafka

有没有什么办法可以查看发送给kafka的消息内容?如果可能的话,请说一些事情,例如查看该主题的最后5条消息。

11 个答案:

答案 0 :(得分:42)

您可以使用控制台使用者查看在某个主题上生成的消息:

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

答案 1 :(得分:3)

使用Kafka提供的Kafka消费者:

main

它将显示收到它的消息。如果您想从头开始,请添加bin/kafka-console-consumer.sh --bootstrap-server BROKERS --topic TOPIC_NAME

答案 2 :(得分:2)

我为一家拥有数百名开发人员的公司工作,这些开发人员显然需要定期检查Kafka消息。员工来来往往,因此我们希望避免为每个新员工设置(专用的SASL凭证,证书,ACL等)。

我们的平台团队负责部署Kowl(https://github.com/cloudhut/kowl),以便每个人都可以访问它而无需进行常规设置。在使用docker-compose文件进行本地开发时,我们也会使用它。

Kowl Messages List

答案 3 :(得分:1)

如果您是从Windows文件夹中进行操作,那么我的意思是如果您正在从Windows机器中使用kafka

kafka-console-consumer.bat --bootstrap-server localhost:9092 --<topic-name> test --from-beginning

答案 4 :(得分:0)

如果您正在寻找一种简单直观的方式来查看和搜索Apache Kafka消息,则应尝试KaDeck。社区版是完全免费的,它支持Win,Mac OS和Linux。

要在企业环境中使用,还提供了一个企业版,其中包括一个Web服务。

答案 5 :(得分:0)

关于Kafka工具的讨论涉及以下SO线程,它们涵盖的范围相当完整:

如果您使用的是基于Web的工具,请尝试Kafdrop 3(这是对原始Kafdrop(现在大部分都处于休眠状态)的复活)。它使您可以查看主题并为您提供集群配置(但这不是完整的管理工具)。这是一个简单的spring boot应用程序,并带有Docker构建。 (温和的免责声明:我是撰稿人之一,但我不是原始作者。)

对于命令行工具,请尝试Kafkacat浏览主题和发布消息。在撰写本文时,它还支持消息标题的打印(不同于Kafka的内置工具)。

答案 6 :(得分:0)

如果您希望通过编程方式执行此操作,则可以编写包装Kafka客户端(几乎每种语言都有一个)的应用程序,或使用内置kafka-console-consumer工具之一的bash脚本或Kafkacat稍微灵活一点(但缺点是,kafka-console-consumer与Kafka捆绑在一起时,您必须下载一个单独的工具)。

如果只需要显示主题中最后几条消息的GUI,则可以使用Kafdrop 3Kafka Tool。前者是基于Web的(springboot应用程序),而后者是基于Swing的桌面应用程序。

答案 7 :(得分:0)

您可以尝试Kafka Magic-它是免费的,您可以在JavaScript中编写引用消息属性和元数据的复杂查询。也可以与Avro序列化一起使用

答案 8 :(得分:0)

如果您想知道原始答案为什么不起作用。可能是您不在主目录中。试试这个:

$KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

答案 9 :(得分:0)

旧版本包含kafka-simple-consumer-shell.shhttps://kafka.apache.org/downloads#1.1.1),这很方便,因为我们不需要退出cltr+c

例如

kafka-simple-consumer-shell.sh --broker-list $BROKERIP:$BROKERPORT --topic $TOPIC1 --property print.key=true --property key.separator=":"  --no-wait-at-logend

答案 10 :(得分:0)

在管理员运行kafka的服务器上,通过命令find . -name kafka-console-consumer.sh找到 kafka-console-consumer.sh ,然后转到该目录并运行以获取您主题中的已读邮件

./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning --max-messages 10

请注意,在这种情况下,我可能使用-max-messages