Kafka Consumer - JMX Properties
Я включил JMX на брокерах kafka на порту 8081. Когда я просматриваю свойства MBean в jConsole, я вижу только следующее для kafka.consumer
-
kafka.consumer:type=FetchRequestAndResponseMetrics,name=FetchRequestRateAndTimeMs,clientId=ReplicaFetcherThread-2-413
kafka.consumer:type=FetchRequestAndResponseMetrics,name=FetchResponseSize,clientId=ReplicaFetcherThread-0-413
Но ни одна из других, которые определены здесь в разделе "Метрики потребительских показателей Kafka", не генерируется JMX.
Кафка Версия # 0.8.2.1
Я особенно заинтересован в - kafka.consumer:type=ConsumerFetcherManager,name=MaxLag,clientId=([-.\w]+)
Какие-нибудь мысли?
3 ответа
Порт JMX, который вы слушаете, является портом брокера. Но Mbean kafka.consumer: это метрики потребительского jvm. Так что, если у вас есть другая JVM, которая использует тему, вы можете увидеть kafka.consumer Mbeans.
ConsumerLag - перегруженный термин в Kafka, он может обозначать:
Метрика потребителя: Расчетная разница между текущим смещением журнала потребителя и текущим смещением журнала производителя. Вы можете найти его в компоненте JMX, если вы используете потребитель на основе Java/Scala (например, потребитель pykafka не экспортирует метрики):
Кафка
v0.8.2.x
:kafka.consumer:type= ConsumerFetcherManager, name=MaxLag, clientId=([-.\w]+)
Кафка
v0.9+
:kafka.consumer:type=consumer-fetch-manager-metrics,client-id=([-.w]+)
В ZooKeeper (Кафка) раньше сохранялось потребительское отставание
<= v0.8
), более новые версии Kafka имеют специальную тему__consumer_offsets
что хранит отставание каждого потребителя. Существуют инструменты (например, kafka-manager), которые могут вычислить задержку, используя сообщения из этой темы и вычисляя задержку. Вkafka-manager
Вы должны включить эту функцию для каждого кластера:[] Опрос информации о потребителе (не рекомендуется для большого количества потребителей)
Метрика брокера: представляет разницу между лидерами разделов и их последователями. Вы можете найти этот показатель под JMX bean:
kafka.server:type=FetcherLagMetrics,name=ConsumerLag,clientId=([-.\w]+),topic=([-.\w]+),partition=([0-9]+)
Это может помочь найти его за 0.8, но в настоящее время у меня работает брокер и потребитель Kafka 0.10. При использовании консольного потребителя я указал jconsole
для этого потребителя и нашел на вкладке MBeans: kafka.consumer
-> consumer-fetcher-manager-metric
-> consumer-1
-> Attributes
-> records-max-lag
,