Spring Boot 2.1 Micrometer Kafka 消费者指标统计 COUNT 为“NaN”
Posted
技术标签:
【中文标题】Spring Boot 2.1 Micrometer Kafka 消费者指标统计 COUNT 为“NaN”【英文标题】:Spring Boot 2.1 Micrometer Kafka consumer metric statistic COUNT is "NaN" 【发布时间】:2019-04-04 00:39:41 【问题描述】:目前我正在使用 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 应用 用于启动 Kafka 代理和 Zookeeper 实例的 docker-compose 文件(均为官方 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
统计值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 代理上的一些配置?我希望你能指出我正确的方向。
你可以找到我的示例项目here。
【问题讨论】:
【参考方案1】:我刚刚在调试器中运行它,执行器正在寻找具有对象名称的 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
)。
我建议你打开一个关于千分尺的问题。
【讨论】:
感谢 Gary 花时间调试它。我将针对千分尺创建一个问题。 嘿@jtim,我提出了千分尺的问题。 github.com/micrometer-metrics/micrometer/issues/983 该问题已在 Micrometer 1.1.1 中得到修复。我还更新了我的simple project,Kafka 消费者指标现在是正确的。以上是关于Spring Boot 2.1 Micrometer Kafka 消费者指标统计 COUNT 为“NaN”的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot 2.1 中的 DataSource bean 覆盖
Spring boot 2.1 error.html 页面未显示[重复]
Spring Boot 2.1 bean 覆盖与 Primary
在 Spring Boot 2.1 中热重载 Thymeleaf 模板和资源包
当加载 spring-boot 和 spring-data-jpa 时,Hibernate 无法加载 JPA 2.1 Converter