弹簧启动 2.1 千分尺卡夫卡消费者指标统计计数是"NaN"



目前我正在使用Spring Boot 2.1,Spring Kafka(2.2.0)和千分尺(1.1.0)。

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

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

我的目标是让 Kakfa 消费者指标正常工作,这些指标作为千分尺 1.1.0 的一部分发布。

生成和使用 Hello World 消息也非常有效,(kafka) 指标也会公开 http://host:port/actuator/metrics,但是当 我请求一个特定的卡夫卡指标,例如:

http://host:port/actuator/metrics/kafka.consumer.records.consumptiond.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 代理上的某些配置?我希望你能为我指出正确的方向。

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

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

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

最新更新