如何通过 JMX 将 Spring Boot 应用程序中的 Kafka 指标公开给 Prometheus?
Posted
技术标签:
【中文标题】如何通过 JMX 将 Spring Boot 应用程序中的 Kafka 指标公开给 Prometheus?【英文标题】:How to expose Kafka metrics from SpringBoot application through JMX to Prometheus? 【发布时间】:2020-10-06 11:40:27 【问题描述】:我有一个 springboot 应用程序,我想通过 JMX 将 kafka.consumer
指标公开给 Prometheus。我可以看到指标here,但我只是不知道在哪里设置这些 mBean(即 kafka.consumer:type=consumer-metrics,client-id=([-.\w]+))。我了解到阅读 spring boot documentation 我只需要通过执行此设置 spring.jmx.enabled=true
来激活 JMX,但我不知道该怎么做才能通过 JMX 向 Prometheus 公开这些指标。
【问题讨论】:
【参考方案1】:Kafka 自动使用这些名称注册自己的 MBean。
如果您添加执行器启动器,Boot 将配置 Micrometer 以抓取这些 MBean。
但是,Micrometer 已弃用 JMX 刮板并具有新的 KafkaMetrics 对象。
Spring Boot 2.3 现在使用这些类来配置 Micrometer 而不是 JMX。
【讨论】:
你能推荐一个简单的例子来说明如何查看 Kafka 生产者指标吗? 生产者指标的公开方式相同(JMX 和 Micrometer)。以上是关于如何通过 JMX 将 Spring Boot 应用程序中的 Kafka 指标公开给 Prometheus?的主要内容,如果未能解决你的问题,请参考以下文章
在 Spring Boot Camel 应用程序公开的 Micrometer / Prometheus 信息中包含其他 JMX 指标