【问题标题】:Problem with Spring Actuator metrics without @EnableAutoConfiguration没有 @EnableAutoConfiguration 的 Spring Actuator 指标存在问题
【发布时间】:2019-09-20 15:12:47
【问题描述】:

在我基于 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);
    }

}

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

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

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

【问题讨论】:

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


    【解决方案1】:

    我找到了解决办法,metrics导入的顺序不对,顺序应该是这样的:

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

    【讨论】:

    • 不应该使用ImportAutoConfiguration而不是Import来导入自动配置吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-08
    • 1970-01-01
    • 1970-01-01
    • 2019-07-02
    • 2019-10-01
    相关资源
    最近更新 更多