【发布时间】:2018-11-09 02:02:17
【问题描述】:
在一个时间窗口内检查应用程序从 Kafka 主题消耗了多少事件的最佳方法是什么?
目前我正在这样做:
$ ./bin/kafka-console-consumer.sh --zookeeper zookeeper:2181 --topic topic --from-beginning | grep -i '2018-05-29' > kafka.out
$ wc -l kafka.out
一些问题:
- 它需要某种时间戳才能在有效负载中(这是 在这种情况下可以)
- 它从第一个偏移量开始,因此您需要 等待一段时间以填充文件,具体取决于吞吐量 你的主题
有更好的方法吗? 最好是命令行,因为它用于临时分析。
我正在使用Kafka 0.10,但是对于较新版本的任何答案也很高兴知道。
谢谢
【问题讨论】:
-
在 Kafka 中有生产者和消费者。计算“已处理”事件的数量没有意义。您可以计算该应用程序内部的应用程序产生的消息数,也可以计算另一个应用程序消耗的消息数。
-
另外,Kafka 消息可以是任何格式,并且可能根本不包含日期。所以没有内置工具可以实现您的期望。
-
是的,你是对的。我怎么写的没有意义,谢谢你的澄清。我编辑了帖子以指定
consumed by an app -
我想看看是否可以在 kafka 元数据或类似内容中使用
timestamp -
@Harold Kafka 0.10 包含每个事件的时间戳。添加
--property print.timestamp=true
标签: command-line apache-kafka kafka-consumer-api