我在8081端口的Kafka代理上启用了jmx。当我在jconsole中查看mbean属性时,我只看到以下内容 kafka.consumer
-
kafka.consumer:type=FetchRequestAndResponseMetrics,name=FetchRequestRateAndTimeMs,clientId=ReplicaFetcherThread-2-413
kafka.consumer:type=FetchRequestAndResponseMetrics,name=FetchResponseSize,clientId=ReplicaFetcherThread-0-413
但是,在这里根据kafka消费者指标确定的其他指标都不是jmx发出的。
Kafka版本#0.8.2.1
我特别感兴趣的是- kafka.consumer:type=ConsumerFetcherManager,name=MaxLag,clientId=([-.\w]+)
有什么想法吗?
3条答案
按热度按时间laik7k3q1#
consumerlag在Kafka中是一个重载术语,它可以代表:
消费者度量:消费者当前日志偏移量和生产者当前日志偏移量之间的计算差。如果您使用的是基于java/scala的消费者(例如pykafka消费者不导出度量),那么可以在jmxbean下找到它:
Kafka
v0.8.2.x
:Kafka
v0.9+
:消费滞后过去被存储在zookeeper(Kafka)中
<= v0.8
)新版本的Kafka有一个特别的主题__consumer_offsets
存储每个消费者的延迟。有一些工具(如kafka manager)可以通过使用来自此主题的消息并计算延迟来计算延迟。在kafka-manager
必须为每个群集启用此功能:[]轮询消费者信息(不建议大量消费者使用)
broker的度量:表示分区引线与其跟随者之间的偏移量差异。您可以在jmx bean下找到这个度量:
6yt4nkrj2#
这可能有助于找到它的0.8,但我目前正在运行一个Kafka0.10经纪人和消费者。在使用控制台使用者时,我指出
jconsole
在mbeans选项卡上找到:kafka.consumer
->consumer-fetcher-manager-metric
->consumer-1
->Attributes
->records-max-lag
.xsuvu9jc3#
您正在侦听的jmx端口是代理端口。但是kafka.consumer的mbean是consumerjvm度量。因此,如果您有另一个使用某个主题的jvm,您可以看到kafka.consumer mbeans。