我有一个kafka设置,其中包括一个用于prometheus的jmx导出器。我正在寻找一个指标,该指标基于主题和groupid给出偏移量滞后。我正在运行kafka 2.2.0。
一些在线资源指向一个称为kafka.consumer
的指标,但是我的设置中没有这样的指标。
从我的jmxterminal:
$>domains
#following domains are available
JMImplementation
com.sun.management
java.lang
java.nio
java.util.logging
jdk.management.jfr
kafka
kafka.cluster
kafka.controller
kafka.coordinator.group
kafka.coordinator.transaction
kafka.log
kafka.network
kafka.server
kafka.utils
但是,我可以使用以下命令查看所需的数据:
root@kafka-0:/kafka# bin/kafka-consumer-groups.sh --describe --group benchmark_consumer_group --bootstrap-server localhost:9092
Consumer group 'benchmark_consumer_group' has no active members.
TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
benchmark_topic_10B 2 2795128 54223220 51428092 - - -
benchmark_topic_10B 9 4 4 0 - - -
benchmark_topic_10B 6 7 7 0 - - -
benchmark_topic_10B 7 5 5 0 - - -
benchmark_topic_10B 0 2834028 54224939 51390911 - - -
benchmark_topic_10B 1 15342331 54222342 38880011 - - -
benchmark_topic_10B 4 5 5 0 - - -
benchmark_topic_10B 5 6 6 0 - - -
benchmark_topic_10B 8 8 8 0 - - -
benchmark_topic_10B 3 4 4 0 - - -
但这无济于事,因为我需要从指标中进行跟踪。另外,此命令的执行时间约为25秒,因此无法用作度量标准的来源。
我的猜测是,指标kafka.consumer
在版本2.2.0中不存在,已被另一个指标替代。虽然,我无法在线找到任何资源以及有关如何以及在何处获取该指标的最新信息
答案 0 :(得分:2)
kafka.consumer
JMX指标仅出现在使用者进程本身上,而不出现在Kafka经纪人进程上。请注意,使用Java以外的使用者库,不会从使用者那里获得kafka.consumer
指标。
当前,没有来自Kafka经纪人本身的针对消费者滞后的JMX指标。还有其他通常用于监视消费者滞后的解决方案,例如LinkedIn的Burrow。还有一些开源项目,例如kafka9.offsets,这些项目通过JMX公开了消费者滞后指标,但可能没有更新以与最新的Kafka一起使用。
答案 1 :(得分:0)
您可以尝试Kafka奴才(https://github.com/cloudworkz/kafka-minion)。虽然Kafka Minion在内部像Burrow一样工作(消耗__consumer_offsets主题涉及“消费组偏移”),但对于您的用例却有很多优势
Kafka奴才在Burrow方面的优势:
免责声明::我是Kafka Minion的作者,但我仍在寻找其他用户的更多反馈。我打算为我的项目,我所服务的公司以及社区的出口商积极维护和发展。
使用kafka-consumer-groups.sh
shell脚本回答有关所看到内容的问题。这将无法正常工作,因为它无法报告不活动的消费者的滞后现象,这会适得其反。