没有@EnableAutoConfiguration的Spring Actuator指标存在问题

时间:2019-09-20 15:12:47

标签: java spring spring-boot metrics spring-boot-actuator

在基于Springboot的应用程序中,我无法使用@EnableAutoConfiguration,因此必须将所有配置手动添加到@Import注释中。我知道如何启用通用端点/actuator和其他一些端点,例如/actuator/health/actuator/env(下面的示例)。但是,即使我尝试了数千种选择,我也无法使metrics正常工作(使用@EnableAutoConfiguration可以正常工作)。 我的配置如下:

@SpringBootConfiguration
@ComponentScan(excludeFilters = { @ComponentScan.Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
        @ComponentScan.Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
@Import({
        ServletWebServerFactoryAutoConfiguration.class,
        DispatcherServletAutoConfiguration.class,
        WebMvcAutoConfiguration.class,

        ManagementContextAutoConfiguration.class,
        EndpointAutoConfiguration.class,
        WebEndpointAutoConfiguration.class,

        HealthIndicatorAutoConfiguration.class,
        HealthEndpointAutoConfiguration.class,

        EnvironmentEndpointAutoConfiguration.class,

        //---------- configs metrics related: 
        MetricsAutoConfiguration.class,
        CompositeMeterRegistryAutoConfiguration.class,
        JvmMetricsAutoConfiguration.class,
        MetricsEndpointAutoConfiguration.class,
        SystemMetricsAutoConfiguration.class,
        SimpleMetricsExportAutoConfiguration.class,
        WebMvcMetricsAutoConfiguration.class
}
)
public class Application {

    public static void main(String[] args) {
        ApplicationContext ctx = SpringApplication.run(Application.class, args);
    }

}

使用这样的配置,即使我可以看到metrics页面上列出的/actuator端点: actuator main page

如果我去那里,它显示为空集合: no metrics

它应该包含系统和jvm指标(以及第一次http调用后的http端点指标)。 知道要启用Spring Actuator指标应该做什么吗?

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案,指标导入顺序不正确,顺序应如下:

        MetricsAutoConfiguration.class,
        SimpleMetricsExportAutoConfiguration.class,
        CompositeMeterRegistryAutoConfiguration.class,
        JvmMetricsAutoConfiguration.class,
        MetricsEndpointAutoConfiguration.class,
        SystemMetricsAutoConfiguration.class,
        WebMvcMetricsAutoConfiguration.class