如何让 kafka 在 Java 程序中消耗延迟 [英] How to get kafka consume lag in java program
问题描述
我编写了一个 Java 程序来使用来自 kafka 的消息.我想监控消费延迟,如何通过java获取?
I wrote a java program to consume messsage from kafka. I want to monitor the consume lag, how to get it by java?
顺便说一句,我使用:
<groupId>org.apache.kafka</groupId>
<artifactId>kafka_2.11</artifactId>
<version>0.10.1.1</version>
提前致谢.
推荐答案
我个人直接从我的消费者那里查询 jmx 信息.我只在 Java 中使用,所以 JMX bean :kafka.consumer:type=consumer-fetch-manager-metrics,client-id=*/records-lag-max
可用.
I personnaly query directly jmx informations from my consumers. I only consume in java so the JMX beans : kafka.consumer:type=consumer-fetch-manager-metrics,client-id=*/records-lag-max
are available.
如果 jolokia 在您的类路径中,您可以使用 /jolokia/read/kafka.consumer:type=consumer-fetch-manager-metrics,client-id=*/records-lag- 上的 GET 检索值max
并将所有结果收集到一个地方.
If jolokia is in your classpath you can retrieve the value with a GET on /jolokia/read/kafka.consumer:type=consumer-fetch-manager-metrics,client-id=*/records-lag-max
and gather all the results in one place.
还有 Burrow 很容易配置,但有点过时了(不如果我没记错的话,它适用于 0.10).
There is also Burrow which is very easy to configure, but it's a bit outdated (doesn't work for 0.10 if I remember well).
这篇关于如何让 kafka 在 Java 程序中消耗延迟的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!