【发布时间】:2018-12-25 21:09:11
【问题描述】:
我正在尝试弄清楚如何为特定指标设置通用标签。注意:我使用的是 Cloudwatch 监控系统。这是我所拥有的:
@Bean
public MeterRegistryCustomizer<MeterRegistry> metricsCommonTags() {
return new MeterRegistryCustomizer<MeterRegistry>() {
@Override
public void customize(MeterRegistry registry) {
registry.config()
.meterFilter(MeterFilter.denyNameStartsWith("jvm.gc.pause"))
.meterFilter(MeterFilter.denyNameStartsWith("logback"))
.meterFilter(MeterFilter.denyNameStartsWith("process"))
.meterFilter(MeterFilter.denyNameStartsWith("system.cpu"))
.meterFilter(MeterFilter.denyNameStartsWith("jvm.buffer"))
.meterFilter(MeterFilter.denyNameStartsWith("jvm.classes")
.commonTags(Arrays.asList(Tag.of("instanceId", instanceId)));
}
};
}
我在想一个类似于MeterFilter.allow("metric.name").tags("tag1","tag2")的MeterFilter方法
Micrometer 确实允许我在创建 Meter 时设置标签,但这对启用 Spring 的 Meters 没有帮助。
似乎唯一的方法是创建两个 MeterRegistryCustomizer 对象,一个用于 Spring 指标和我创建的任何需要公共标签的自定义指标,另一个用于不需要公共标签的对象。
有没有一种方法可以完成我所缺少的?
【问题讨论】:
标签: spring micrometer spring-micrometer