如何指定我想在 spring-boot with micrometer 中使用的指标的白名单

How to specify a whitelist of the metrics I want to use in spring-boot with micrometer

我们只想在 spring-boot 应用程序中使用来自 micrometer 的一些给定指标。我们在文档中找到以下代码片段。这应该默认禁用所有指标,并且应该使我们能够创建可能指标的白名单。

Spring blog about Micrometer metrics

management.metrics.enable.root=false
management.metrics.enable.jvm=true

问题是,它不起作用。所有现有指标都写入我们的石墨实例。

我们已经找到了解决方法,但我们想在 属性 文件中编辑指标。

这是我们目前的解决方法:

@Configuration
public class MicrometerGraphiteConfig {

    @Bean
    public MeterRegistryCustomizer<MeterRegistry> commonTags() {
        return registry -> registry
            .config()
            .meterFilter(MeterFilter.denyUnless(this::isMetricToInclude))
            .commonTags("a_tag", "some_common_tags");
    }

    private boolean isMetricToInclude(Meter.Id id) {
        return id.getName().startsWith("jvm.");
    }
}

有没有人有任何经验可以分享,我们必须想到什么才能在 属性-文件配置中达到这个目标?

您需要使用 management.metrics.enable.all=false 而不是 management.metrics.enable.root=false,因为 属性 已被删除。 我有同样的要求将指标列入白名单并只选择所需的指标。博客 post 已过时,Spring Boot devs 在 gitter 上建议使用 management.metrics.enable.all=false