关于性能:使用 KafkaOffsetMonitoring 工具监控 Kafka Spout

Monitoring Kafka Spout with KafkaOffsetMonitoring tool

我正在为我的项目使用 Storm-0.9.2 发行版附带的 kafkaSpout。我想监控这个 spout 的吞吐量。我尝试使用 KafkaOffsetMonitoring,但它没有显示任何消费者阅读我的主题。

我怀疑这是因为我在 Zookeeper 中为 spout 指定了根路径来存储消费者偏移量。 kafkaOffsetMonitor 如何知道在哪里查找有关我的 kafkaSpout 实例的数据?

谁能解释一下zookeeper在哪里存储有关kafka主题和消费者的数据? zookeeper 是一个文件系统。那么,它是如何排列不同主题的数据及其分区的呢?什么是消费者 groupid,zookeeper 在存储消费者偏移量时如何解释它?

如果有人曾经使用 kafkaOffsetMonitor 来监控 kafkaSpout 的吞吐量,请告诉我如何获得该工具来找到我的 spout?

非常感谢,
帕拉克沙阿


Kafka-Spout 在自己的 znode 中维护其偏移量,而不是在 kafka 为普通消费者存储偏移量的 znode 下。我们有类似的需求,我们必须监控 kafka-spout 消费者和普通 kafka 消费者的偏移量,所以我们结束了编写自己的工具。您可以从这里获得该工具:

https://github.com/Symantec/kafka-monitoring-tool


我没用过KafkaOffsetMonitor,但是其他部分我可以回答。

zookeeper.connect 是您可以为Kafka 指定znode 的属性;默认情况下,它将所有数据保存在 \\'/\\'。

您可以使用zookeeper 命令行zkCli.sh 访问zookeeper 文件系统。
你应该看看 /consumers 和 /brokers;以下将为您提供偏移量

1
get /consumers/my_test_group/offsets/my_topic/0

您可以连续轮询此偏移量以了解 spout 的消耗率。