首页 > 解决方案 > Spring Boot 2.1 Micrometer Kafka 消费者指标统计 COUNT 为“NaN”

问题描述

目前我正在使用 Spring Boot 2.1、Spring Kafka (2.2.0) 和 Micrometer (1.1.0)。

我创建了一个简单的示例项目,其中包含:

我的目标是让作为 micrometer 1.1.0 的一部分发布的 Kakfa 消费者指标正常工作。

生产和使用 Hello World 消息也可以正常工作,(kafka)指标也暴露在http://host:port/actuator/metrics但是当我请求特定的 Kafka 指标时,例如:

http://host:port/actuator/metrics/kafka.consumer.records.consumed.total

统计量的COUNT值为NaN

{
  name: "kafka.consumer.records.consumed.total",
  description: "The total number of records consumed.",
  baseUnit: "records",
  measurements: [
    {
      statistic: "COUNT",
      value: "NaN"
    }
   ],
   availableTags: [
     {
       tag: "client.id",
       values: [
         "spring-kafka-consumer-hello-world-app"
       ]
     }
   ]
 }

我是否忽略了 Spring Boot 应用程序或 Kafka 代理上的一些配置?我希望你能指出我正确的方向。

你可以在这里找到我的示例项目。

标签: spring-bootspring-kafkamicrometer

解决方案


我只是在调试器中运行它,执行器正在寻找具有对象名称的 MBean...

kafka.consumer:type=consumer-fetch-manager-metrics,\
client-id=spring-kafka-consumer-hello-world-app

我们得到...

javax.management.InstanceNotFoundException: kafka.consumer:type=consumer-fetch-manager-metrics,client-id=spring-kafka-consumer-hello-world-app

...但该应用程序实际上有 3 个具有名称的使用者 MBean:

kafka.consumer:type=consumer-fetch-manager-metrics,\
client-id=spring-kafka-consumer-hello-world-app-0

(和-1-2)。

我建议你打开一个针对千分尺的问题。


推荐阅读