我想使用 Spring Boot MetricsWriter
将数据从 Spring Boot 应用程序写入/导出到我选择的数据源(例如 - Jmx/Graphite)。我可以用 JmxReporter
/GraphiteReporter
,但我猜是 Spring 对 Writer
的抽象/Exporter
可以在以后的数据源更改方面发挥至关重要的作用。
我的 REST 端点使用 Dropwizard 注释进行注释
@Timed(absolute=true, name="invokeEndpoint")
public ResponseEntity<Object> callSomeApi() {
...
}
我的配置类如下所示:
@Configuration
public class SpringBootMetrics {
@Bean
@ExportMetricReader
public MetricReader metricReader() {
return new MetricRegistryMetricReader(metricRegistry());
}
public MetricRegistry metricRegistry() {
final MetricRegistry metricRegistry = new MetricRegistry();
return metricRegistry;
}
@Bean
@ExportMetricWriter
MetricWriter metricWriter(MBeanExporter exporter) {
return new JmxMetricWriter(exporter);
}
}
我没有看到通过我的 jconsole 在 Jmx 中收集端点调用的任何指标。我错过了什么?
最佳答案
在这种情况下唯一缺少的部分似乎是添加了 org.springframework.boot.actuate.endpoint.MetricsEndpointMetricReader
到您的 Spring 配置,例如:
@Bean
MetricsEndpointMetricReader metricsEndpointMetricReader(MetricsEndpoint metricsEndpoint) {
return new MetricsEndpointMetricReader(metricsEndpoint);
}
关于spring-boot - 使用 Dropwizard 将 Spring Boot Actuator Metrics 导出到 Jmx 或 Graphite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43820661/