我们想在spring-boot应用程序中仅使用千分尺中的一些给定指标。我们在文档中找到以下代码段。这应该默认禁用所有指标,并且应该允许我们创建可能指标的白名单。
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
,因为该属性已被删除。我有同样的要求将指标列入白名单,只选择所需的指标。博客文章已经过时,建议使用Spring Boot开发人员在gitter上使用management.metrics.enable.all=false
。