Spring boot Actuator vs prometheus Jmx exporter

Posted

技术标签:

【中文标题】Spring boot Actuator vs prometheus Jmx exporter【英文标题】: 【发布时间】:2021-05-30 16:57:42 【问题描述】:

为了从 Spring Boot 微服务中导出指标(到 Prometheus),我们可以使用 Spring Boot 执行器,另外一种选择是在运行服务时使用 Prometheus JMX exporter(https://github.com/prometheus/jmx_exporter) 作为 javaAgent。尽管这两个选项的目的相同,但我确实看到 JMX 导出器导出的指标比弹簧启动执行器要多得多。我正在浏览一些 Spring Boot 文档,以查看是否有任何选项可以使用 Spring Boot 执行器启用更多指标,看起来所有 JMX 指标都是默认启用的。所以问题是,有没有办法从 Spring Boot 执行器中公开更多指标?是否有针对上述两种选择的推荐或比较研究?

非常感谢这里的任何帮助。谢谢!

【问题讨论】:

【参考方案1】:

如果你使用的是 Spring boot 2.x,那么它的工作方式如下:

在 Spring Boot 2.0 中,内部指标被 Micrometer 支持所取代,因此我们可以期待重大变化。如果我们的应用程序使用诸如 GaugeService 或 CounterService 之类的度量服务,它们将不再可用。 相反,我们应该直接与 Micrometer 交互。在 Spring Boot 2.0 中,我们将为我们自动配置一个 MeterRegistry 类型的 bean。

对于 Spring 启动 1.x:

指标端点发布有关操作系统和 JVM 以及应用程序级指标的信息。启用后,我们会获得诸如内存、堆、处理器、线程、加载的类、卸载的类和线程池等信息以及一些 HTTP 指标。

这似乎像 Prometheus JMX 一样工作

【讨论】:

以上是关于Spring boot Actuator vs prometheus Jmx exporter的主要内容,如果未能解决你的问题,请参考以下文章

如何让 spring boot cloud/actuator 支持 prometheus Exemplars?

Spring Boot 2.X(十六):应用监控之 Spring Boot Actuator 使用及配置

无法访问 Spring Boot Actuator“/actuator”端点

Spring Boot -- actuator

spring-boot-starter-actuator监控接口详解

spring-boot 监控 Actuator