卡夫卡检查队列大小

时间:2015-11-02 23:37:24

标签: python apache-kafka message-queue distributed

我正在尝试定期检查Kafka中某个主题的队列大小。虽然,我无法确定如何甚至一次检查该指标。我对卡夫卡来说是全新的,所以我不确定该怎么办。我认为它将涉及创建一个生产者或消费者来与队列进行交互,但我遇到了障碍。

2 个答案:

答案 0 :(得分:2)

我认为目前不可能。您应该将Kafka主题视为无限数据流,因此您拥有IMO的唯一选择 - 计算消费者中消费的消息。

您可以使用kafka偏移监控工具,它会显示每个主题分区的日志大小(您必须总结):http://ingest.tips/2014/10/12/kafka-high-level-consumer-frequently-missing-pieces/

答案 1 :(得分:1)

  • 如果您想知道按主题和分区消耗多少消息:以编程方式,如果您使用的是高级消费者客户端,则必须查询Zookeeper。与当前偏移位置相关的数据存储在路径/ kafka / consumers下。看一下Kafka Offset Monitor工具。它将为您提供存储在ZK中的数据类型的概念。此行为将在下一版本0.9.0中更改,因为ZK中的写入密集不是最佳用例。
  • 如果您想知道主题中总共有多少个消息:您必须自己计算消费者。或者将消息镜像到另一个专用于分析目的的Kafka集群(统计数据,计数,任何内容)。

Kafka中的队列大小概念是无关紧要的,因为它不是队列而是日志。你可以随意消耗,倒带,跳跃。