禁用Spring Boot 2默认指标

问题描述 投票:2回答:4

我有启用了弹簧执行器的spring boot 2 REST应用程序。默认情况下,spring在/metrics端点中生成许多度量标准(jvm,cpu,内存等)。除此之外,我还使用了Micrometer API创建自定义指标。到目前为止,它的运行情况非常好。

现在,我只需要生成自定义指标,但是禁用spring提供的所有默认指标。请注意,我不想想要禁用/metrics端点,但是我只想禁用默认指标。

现在有可能直接/间接吗?

感谢您的任何意见和建议!

spring spring-boot spring-boot-actuator
4个回答
2
投票

与Spring Boot中的大多数事情一样,默认指标是通过各种自动配置类配置的。要禁用默认指标,请使用exclude上的@SpringBootApplication属性排除其自动配置类。要查看涉及的自动配置,可以使用--debug启动应用程序,或查看source code


2
投票
@SpringBootApplication(exclude = { 
CompositeMeterRegistryAutoConfiguration.class,
DataSourcePoolMetricsAutoConfiguration.class, 
TomcatMetricsAutoConfiguration.class,
SimpleMetricsExportAutoConfiguration.class, 
SystemMetricsAutoConfiguration.class })

您需要排除所有在春季启动时负责默认指标的指标自动配置类。您可以在此处找到所有指标自动配置类。https://github.com/spring-projects/spring-boot/blob/v2.1.1.RELEASE/spring-boot-project/spring-boot-actuator-autoconfigure/src/main/resources/META-INF/spring.factories


0
投票

排除像这样由MetricsAutoConfiguration.class连线的指标:

@SpringBootApplication(exclude = MetricsAutoConfiguration.class)

-1
投票

从理论上讲,应该可以扩展org.springframework.boot.actuate.metrics.MetricsEndpoint并仅公开要公开的信息。

但是,我建议始终定义一个新的端点来处理您的特定用例。在这种情况下,您将不会太紧密地绑定到Spring库。


0
投票

排除像这样由MetricsAutoConfiguration.class连线的指标:

@SpringBootApplication(exclude = MetricsAutoConfiguration.class)
© www.soinside.com 2019 - 2024. All rights reserved.