Spring boot management.metrics.export not created bean in case enable set false

问题描述 投票:0回答:0

当我设置

enabled
false
这里

management:
  metrics:
    enable:
      tomcat: false
      jvm: false
      process: false
      hikaricp: false
      system: false
      jdbc: false
      http: false
      logback: false
    tags:
      env: local
      service: my-service
    export:
      statsd:
        host: localhost
        port: 8089
        flavor: telegraf
        step: 10s
        enabled: false

spring-boot 抛出错误

Consider defining a bean of type 'io.micrometer.statsd.StatsdMeterRegistry' in your configuration. 

仅供参考:如果设置

enabled
true
.

,它工作得很好

我希望它不会发送指标,以防它被设置为 false 而不是完全忽略定义 bean。

以下是我的使用方法。

@Component
public class MordorMetricsRegistry {

    private CompositeMeterRegistry compositeMeterRegistry;
    private StatsdMeterRegistry statsdMeterRegistry;

    public MordorMetricsRegistry(StatsdMeterRegistry statsdMeterRegistry) {
        this.statsdMeterRegistry = statsdMeterRegistry;

        this.compositeMeterRegistry = new CompositeMeterRegistry();
        this.compositeMeterRegistry.add(this.statsdMeterRegistry);
    }

    public void monitorCaffeineCache(String name, LoadingCache cache) {
        CaffeineCacheMetrics.monitor(compositeMeterRegistry, cache, name, Collections.emptyList());
    }
}

编辑:在我使用 StatsdMeterRegistry 的地方添加了代码

spring-boot spring-boot-actuator
© www.soinside.com 2019 - 2024. All rights reserved.