spring-boot - Spring Boot 2.1 Micrometer Kafka 消费者指标统计 COUNT 为 "NaN"

标签 spring-boot spring-kafka micrometer

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

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

  • 一个 Spring Boot 2 应用程序向 Kafka 主题发布随机 Hello World 消息
  • 使用来自 Kafka 主题的 Hello World 消息的 Spring Boot 2 应用程序
  • 一个 docker-compose 文件来启动一个 Kafka 代理和一个 Zookeeper 实例(两个官方 Confluent Docker 镜像)

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

    生成和使用 Hello World 消息工作得非常好,而且 (kafka) 指标也暴露了 http://host:port/actuator/metrics但当
    我请求一个特定的 Kafka 指标,例如:

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

    统计值 COUNTNaN .
    {
      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 代理上的一些配置?我希望你能指出我正确的方向。

    您可以找到我的示例项目 here .

    最佳答案

    我只是在调试器中运行它,执行器正在寻找具有对象名称的 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 )。

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

    关于spring-boot - Spring Boot 2.1 Micrometer Kafka 消费者指标统计 COUNT 为 "NaN",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53073328/

    相关文章:

    spring-boot - 在 Spring Boot 应用程序中使用 Micrometer 测量 HTTP 性能

    java - 通过Spring Boot JPA + Postgresql + H2执行间隔

    java - Spring Boot + Thymeleaf : How to show books and their authors in one list on the page

    apache-kafka - 消费者 'group_name' 组永远重新平衡

    maven - gradle依赖失败,但在那里

    java - Micrometer (micrometerClock) 中的错误处理条件

    java - 如何根据属性有条件地使 Spring Boot 应用程序在启动时终止

    java - intelij更新后无法正确导入spring boot项目

    java - 为特定的 Spring Boot 测试禁用 Kafka 监听器

    java - 如何在 spring-integration-kafka 2.1.0.RELEASE 和 Kafka 0.10.0 中为不同的主题配置不同的生产者?