2015-09-08 39 views

回答

7

如果您使用Kafka客戶端庫及其API,則可以獲取此信息。也就是說,如果您是在Kafka指標/監控之後,有些工具可以爲您提供這些信息,並提供更多信息。來自Linkedin的Burrow和來自Sematext的SPM for Kafka是兩個很好的看看。

0

你會發現你在這個項目中所需要的:https://github.com/apache/storm/tree/master/external/storm-kafka/src/jvm/storm/kafka

在那裏,你可以看到kafka.javaapi.consumer.SimpleConsumer以及它如何被使用。使用Maven從Maven回購庫中提取所有依賴關係,您應該看到一個kafka_2.10-0.8.2.1.jar文件,該文件提供您需要的Kafka API調用。

上面引用的github項目應該給你提供關於如何使用API​​的額外指針。

+0

不幸的是,SimpleConsumer讓我知道抵消一個客戶而不是所有消費者的話題。我需要所有抵消。另外它沒有提供任何關於滯後。不過,我需要這個API在生產者端而不是消費者端。 – user3359139

+0

@ user3359139相同的API具有包生產者和消費者類所需的包包kafka.producer。 – Derar

+0

好的,然後讓我知道爲主題和消費者羣體提供滯後大小的API ... – user3359139

2

您可以使用Java Management Extensions(JMX)來監視您的KAFKA
卡夫卡已經有了內置的JMX,你只需要啓用它 - 通過添加以下行來它

在卡夫卡的設置,編輯「kafka-run-class.sh」腳本文件:

KAFKA_JMX_OPTS = 「 - Dcom.sun.management.jmxremote =真 -Dcom.sun.management.jmxremote.authenticate =假-Dcom.sun.management.jmxremote.ssl =假」

而且,編輯「kafka-server」 -start.sh」腳本文件存在於卡夫卡設置通過添加以下行來設置JMX端口9999:

出口JMX_PORT = $ {JMX_PORT:-9999}

+0

tnx,但我喜歡有一個美麗的API – user3359139

+0

在它上面使用Ganglia。你會得到你想看到的所有指標。 – Bector2

0

是的,有是在java中編寫的應用程序,用於跟蹤Kafka集羣中所有使用者組的偏移量。您可以使用Json或html獲得結果,還可以配置應用程序以按固定間隔將偏移量度量推送到StatsD服務器。

這裏是項目:

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

監測結果:

enter image description here

-1

組的偏移量存儲在動物園管理員,你需要一個飼養員例如,然後使用方法zk.getChildren(path,false)獲取節點信息並使用方法zk.getData(path,false,null)獲取偏移量信息。

設置path="/consumers"您可以獲取消費者組列表。

設置path="/consumers/xxx group/offset/xxx topic/xxx partition"您可以獲得偏移量。