spring-boot - Spring Boot 2.1 Micrometer Kafka 消费者指标统计 COUNT 为“NaN”
问题描述
目前我正在使用 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
统计量的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
)。
我建议你打开一个针对千分尺的问题。
推荐阅读
- jquery - 如何使用 ajax jquery 获取最终选择值?
- c - 在 C 中使用带有命令行参数的 system()
- html - 导航栏中的图标不会保持内联
- java - android studio中Firebase电话身份验证的空字符串错误
- python - 将烧瓶嵌入到带有装饰器的类中
- html - CSS:chrome-android中的全屏不尊重视口元
- java - javacc (ph-javacc-maven-plugin) 使用 case `\` 生成 java 开关
- ios - 如何在表格视图单元格的内容视图中居中 UILabel?
- java - Firebase 实时数据库:使用 AddChildEventListener 时如何获取 ChildrenCount?
- php - 我无法在 CodeIgniter 中更新我的记录