我试图弄清楚如何为特定指标设置通用标签。注意:我使用的是 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 方法MeterFilter.allow("metric.name").tags("tag1","tag2")
千分尺确实允许我在创建仪表时设置标签,但是这对我启用 Spring 的仪表没有帮助。
似乎唯一的方法是创建两个 MeterRegistryCustomizer 对象,一个用于 Spring 指标和我创建的任何需要公共标签的自定义指标,另一个用于不需要的。
有没有办法做到这一点,我错过了?