【问题标题】:Does servo monito annotation works out of the box?伺服监视器注释是否开箱即用?
【发布时间】:2017-01-26 07:15:30
【问题描述】:

我写过这样的方法:

@Scheduled(fixedDelay = 10_000)
@Monitor(name = "componentMonitor", type = DataSourceType.COUNTER)
public int method() {
    log.info("ping");
    return RandomUtils.nextInt();
}

它被调用并且ping 出现在控制台中,但componentMonitor 没有出现在/metrics 中,这个指标不会发送到org.springframework.boot.actuate.autoconfigure.ExportMetricReader。那么如何配置servo/spectacor 来使@Monitor 注释起作用呢?

注意

通过com.netflix.spectator.api.Registry 报告其他指标有效。所以通常度量报告和伺服本身是有效的。

【问题讨论】:

    标签: java spring spring-cloud netflix-servo


    【解决方案1】:

    不,它没有。我想你可以使用Monitors.newObjectMonitor(id, object) 让它工作。没有任何方面或任何东西可以自动创建Monitor

    【讨论】:

    • 那么Monitor注解是干什么用的?
    • Netflix 大量使用它。每当他们创建一个对象时,他们都会调用Monitors.newObjectMonitor()
    【解决方案2】:

    据我了解,您需要注册 MonitorRegistryMetricPoller 才能使 @Monitor 工作:

    private void schedule(MetricPoller poller, List<MetricObserver> observers) {
        final PollRunnable task = new PollRunnable(poller, BasicMetricFilter.MATCH_ALL,
                true, observers);
        PollScheduler.getInstance().addPoller(task, 1, TimeUnit.MINUTES);
    }
    
    private void initMetricsPublishing() {
        final List<MetricObserver> observers = new ArrayList<>();
    
        final AmazonCloudWatchClient cloudWatchClient =
                new AmazonCloudWatchClient(awsCredentials);
        cloudWatchClient.setEndpoint(String.format("monitoring.%s.amazonaws.com", REGION));
        AwsTaggingCloudWatchMetricObserver cloudWatchMetricObserver = new AwsTaggingCloudWatchMetricObserver("cloudwatch",
                "Nomp", cloudWatchClient);
        observers.add(cloudWatchMetricObserver);
        PollScheduler.getInstance().start();
        schedule(new MonitorRegistryMetricPoller(), observers);  // <--- this
        schedule(new JvmMetricPoller(), observers);
        schedule(new TomcatPoller(), observers);
    }
    

    【讨论】:

      猜你喜欢
      • 2015-07-14
      • 1970-01-01
      • 2017-06-11
      • 2011-10-12
      • 2011-03-28
      • 1970-01-01
      • 2019-11-01
      • 2014-07-21
      • 2012-11-28
      相关资源
      最近更新 更多