54.1 入门指南

Spring Boot会自动配置一个复合MeterRegistry,并为它在类路径上找到的每个受支持的实现向复合添加注册。在运行时类路径中依赖于micrometer-registry-{system}就足以让Spring Boot配置注册表。

大多数注册表都具有相同的特性。例如,即使Micrometer注册表实现位于类路径上,也可以禁用特定的注册表。例如,要禁用Datadog:

management.metrics.export.datadog.enabled=false

Spring Boot还会在Metrics类的全局静态复合注册表中添加任何自动配置的注册表,除非您明确告诉它不要:

management.metrics.use-global-registry=false

你可以注册任何数量的MeterRegistryCustomizer bean来进一步配置注册表。例如在注册表注册任何meter之前应用通用标签:

@Bean
MeterRegistryCustomizer<MeterRegistry> metricsCommonTags() {
    return registry -> registry.config().commonTags("region", "us-east-1");
}

您可以通过更具体的泛型类型将定制应用到特定的注册表实现:

@Bean
MeterRegistryCustomizer<GraphiteMeterRegistry> graphiteMetricsNamingConvention() {
    return registry -> registry.config().namingConvention(MY_CUSTOM_CONVENTION);
}

有了这样的设置,你可以注入MeterRegistry在你的组件和注册指标:

@Component
public class SampleBean {

    private final Counter counter;

    public SampleBean(MeterRegistry registry) {
        this.counter = registry.counter("received.messages");
    }

    public void handleMessage(String message) {
        this.counter.increment();
        // handle message implementation
    }

}

Spring Boot还配置了内置的工具(即MeterBinder实现),你可以通过配置或专用的注释标记来控制这些工具。

最后更新于