2015-09-08 33 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"您可以获得偏移量。