在我们的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.");
}
}
任何人都可以分享经验吗?在属性文件配置中要实现此目标我们需要考虑什么?
答案 0 :(得分:3)
您需要使用management.metrics.enable.all=false
而不是management.metrics.enable.root=false
,因为该属性已被删除。
我有相同的要求将指标列入白名单,然后选择所需的指标。博客文章已过时,Spring Boot开发人员建议在management.metrics.enable.all=false
上使用gitter。