【问题标题】:Check how many events are consumed from a Kafka topic in one day?检查一天内从 Kafka 主题中消耗了多少事件?
【发布时间】: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

一些问题:

  1. 它需要某种时间戳才能在有效负载中(这是 在这种情况下可以)
  2. 它从第一个偏移量开始,因此您需要 等待一段时间以填充文件,具体取决于吞吐量 你的主题

有更好的方法吗? 最好是命令行,因为它用于临时分析。

我正在使用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


【解决方案1】:

不清楚您是想从代理方还是从您的消费者那里找到这些信息。

如果消费者方面没问题,您可以检查以下指标:

kafka.consumer:type=consumer-fetch-manager-metrics,client-id="{client-id}"

它有一个records-consumed-total 属性,指示消费者实例已收到多少条记录。

【讨论】:

    猜你喜欢
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 2017-08-30
    • 2020-03-19
    • 1970-01-01
    • 2019-10-09
    • 2010-09-06
    • 1970-01-01
    相关资源
    最近更新 更多