Spring Boot 2.0 替代 Jmx MetricWriter

Springboot 2.0 alternative to JmxMetricWriter

我目前正在升级到 SpringBoot 2.0。3.RELEASE。不再支持@ExportMetricWriter、MetricWriter 和 JmxMetricWriter。

@ExportMetricWriter
public MetricWriter metricWriter(MBeanExporter exporter) {
    return new JmxMetricWriter(exporter);
}

2.0 中的替代方案是什么。

Spring Boot 2 现在依赖 Micrometer 将 Metrics 数据导出到监控系统,例如 New Relic 和 Graphite。

Micrometer is a metrics instrumentation library for JVM-based applications. It provides a simple facade over the instrumentation clients for the most popular monitoring systems, allowing you to instrument your JVM-based application code without vendor lock-in.

仪表由 Meter Registries 创建和管理,这是 Micrometer 中的一个基本概念。每个受支持的监控系统都有自己的 MeterRegistry 实现。数据透明导出到监控系统后台

不再支持 Spring Boot 1.5 将数据导出到 JMX、Redis、StatsD ... 的方法,使用指标编写器和导出器。

话虽如此,并不意味着您不能再将指标数据导出到 JMX。您只是不必声明实现 MetricWriter 的 bean,用 @ExportMetricWriter 等对其进行注释

相反,您所要做的就是声明对 micrometer-registry-jmx 的依赖,它会自动配置一个 JmxMeterRegistry,它将指标公开给 JMX。默认情况下,在 metrics 域下。

有关详细信息,请参阅 production-ready-metrics-export-jmx