收集 kafka.consumer lag mbean

Posted

技术标签:

【中文标题】收集 kafka.consumer lag mbean【英文标题】:collecting kafka.consumer lag mbean 【发布时间】:2017-03-28 21:04:57 【问题描述】:

我是 kafka 的新手,我正在设置一个 ELK 堆栈来收集 JMX 指标和日志文件以进行分析和报告。

目前,我已将我的 logstash 设置为按以下模式收集 kafka mbean:

    
            "object_name" : "kafka.*:type=*,name=*,topic=*,partition=*"
    ,
    
            "object_name" : "kafka.*:type=*,name=*,topic=*"
    ,
    
            "object_name" : "kafka.*:type=*,name=*"
    ,
    
            "object_name" : "kafka.*:type=*,client-id=*"
    ,
    
            "object_name" : "kafka.*:type=*,name=*,clientId=*,brokerHost=*,brokerPort=*"
    ,
    
            "object_name" : "kafka.*:type=*,name=*,clientId=*"
    ,
    
            "object_name" : "kafka.*:type=*,broker-id=*,fetcher-id=*"
    ,
    
            "object_name" : "kafka.*:type=*,client-id=*"
    

我遇到的问题是我缺少所有 kafka.consumer 指标,当我在 RMI 端口上登录到 jconsole 时,我也看不到 kafka.consumer mbeans。

我对整个 JMX/mbeans 和 kafka 都是新手,所以我是否在寻找kafka.consumer 指标的正确位置?我目前确实有活跃的生产者和消费者进入集群。

【问题讨论】:

您最终找到问题所在了吗? 你能找到 kafka.consumer 吗? 【参考方案1】:

kafka.consumer mbean 仅存在于消费者进程本身,而不是 Kafka 代理进程。请注意,如果您使用 Java 以外的消费者客户端库(例如 kafka-python),则 mbean 将不存在。

This 是 Apache 文档中有关代理/消费者/生产者上可用的 mbean 的官方部分,here 是 Confluent Kafka 文档中更易于阅读的版本。

【讨论】:

但是如何从我的 java 消费者应用程序中访问这些 mbean?它们是否可以通过 jconsole 工具通过一些 JMX host:port 远程访问?我没有发现 java kafka-clients lib 的消费者指标的默认 JMX 端口。 这可能会有所帮助:***.com/questions/10331189/…

以上是关于收集 kafka.consumer lag mbean的主要内容,如果未能解决你的问题,请参考以下文章

Kafka Consumer Lag Monitoring

burrow+telegraf+Grafana实现Kafka Consumer Lag监控

kafka consumer offset机制

kafka consumer重新连接后如何获取当前最新数据

如何创建kafka consumer

Kafka Consumer Offset解析