2017-05-06 81 views
6

我想使用Spring Boot MetricsWriter将Spring Boot应用程序中的数据写入/导出到我选择的数据源(例如 - Jmx/Graphite)。我可以使用JmxReporter/GraphiteReporter,但我认为Spring的抽象Writer/Exporter可以在稍后的数据源更改方面发挥重要作用。使用Dropwizard输出Spring Boot Actuator指标到Jmx或石墨

我的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); 
    } 
} 

我没有看到任何指标在JMX通过收集端点调用我的JConsole的。我错过了什么?

回答

2

在这种情况下,唯一缺少的部分似乎是一个org.springframework.boot.actuate.endpoint.MetricsEndpointMetricReader添加到您的Spring配置,例如像:

@Bean 
    MetricsEndpointMetricReader metricsEndpointMetricReader(MetricsEndpoint metricsEndpoint) { 
     return new MetricsEndpointMetricReader(metricsEndpoint); 
    } 
相关问题