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

标签 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);
    }

}

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

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

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

最佳答案

我找到了解决办法,指标导入的顺序不正确,顺序应该如下:

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

关于java - 没有 @EnableAutoConfiguration 的 Spring Actuator 指标存在问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58031056/

相关文章:

java - 如何在 Spring Maven 中通过 Junit 测试获取 Spring 配置

java - spring boot GenericFilterBean ,过滤器在客户端返回错误代码和响应头

java - ModelMapper 不忽略空值

java - Spring JPA 方法查找具有 beforeAndEqual 日期和 afterAndEqual 日期的实体

java - 如何在java中读取和播放实时声音流?

java - 在 mac NFC 上直接命令 acr122u

java - 如何记住登录谷歌帐户 Android

java - oAuth2 clientId 和 clientSecret 的正确位置

spring-boot - spring data mongo通过Id检索实体时在实体类上找不到属性b

javascript - 使用 PDFBox 将计算脚本添加到 pdf 表单字段