2017-05-06 64 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); 
    } 
相關問題