[英]How to monitor consumer lag in kafka via jmx?
我有一個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秒,因此將其用作指標的來源是不合理的。
我的猜測是,版本2.2.0中不存在度量標准kafka.consumer
,而是替換為另一個。 雖然,我在網上找不到任何有關如何以及在何處獲得該指標的最新信息的資源
kafka.consumer
JMX指標僅出現在消費者流程本身,而不是Kafka經紀人流程上。 請注意,您不會使用除Java之外的使用者庫從消費者那里獲得kafka.consumer
指標。
目前,Kafka經紀商本身沒有可用的消費者滯后JMX指標。 還有其他常用於監控消費者滯后的解決方案,例如LinkedIn的Burrow 。 還有一些開源項目,例如kafka9.offsets ,它們通過JMX公開消費者滯后指標,但可能無法更新以使用最新的Kafka。
您可以試試Kafka Minion( https://github.com/cloudworkz/kafka-minion )。 雖然Kafka Minion內部的工作方式與Burrow類似(消費群組偏移消耗__consumer_offsets主題),但它對您的用例有幾個優點
Kafka Minion優於Burrow的優勢:
免責聲明:我是Kafka Minion的作者,我仍在尋找其他用戶的更多反饋。 我打算為我的項目,我為公司工作的公司和社區積極維護和發展出口商。
使用kafka-consumer-groups.sh
shell腳本回答有關您所看到的問題。 這不起作用,因為它無法報告非活動消費者的滯后,這有點適得其反。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.