Spring Boot自动配置的指标未到达Librato

时间:2018-08-09 14:05:41

标签: spring spring-boot spring-boot-actuator micrometer librato

我正在使用启用了自动配置(@EnableAutoConfiguration)的Spring Boot,并尝试将我的Spring MVC指标发送到Librato。现在,只有我自己创建的指标才能到达Librato,但是自动配置的指标(CPU,文件描述符等)不会发送给我的记者。

如果我访问一个度量标准端点,则可以看到在那里生成的信息,例如http://localhost:8081/actuator/metrics/system.cpu.count

我的代码基于this post for ConsoleReporter。所以我有这个:

public static MeterRegistry libratoRegistry() {
    MetricRegistry dropwizardRegistry = new MetricRegistry();

    String libratoApiAccount = "xx";
    String libratoApiKey = "yy";
    String libratoPrefix = "zz";

    LibratoReporter reporter = Librato
            .reporter(dropwizardRegistry, libratoApiAccount, libratoApiKey)
            .setPrefix(libratoPrefix)
            .build();
    reporter.start(60, TimeUnit.SECONDS);

    DropwizardConfig dropwizardConfig = new DropwizardConfig() {
        @Override
        public String prefix() {
            return "myprefix";
        }

        @Override
        public String get(String key) {
            return null;
        }
    };

    return new DropwizardMeterRegistry(dropwizardConfig, dropwizardRegistry, HierarchicalNameMapper.DEFAULT, Clock.SYSTEM) {
        @Override
        protected Double nullGaugeValue() {
            return null;
        }
    };
}

在我的主要职能上,我添加了Metrics.addRegistry(SpringReporter.libratoRegistry());

对于Librato库,我在compile("com.librato.metrics:metrics-librato:5.1.2") build.gradle中使用。文档here。我以前没有任何问题地使用过这个库。

如果我在this post中使用ConsoleReporter,则会发生相同的情况,只会将我自己创建的指标打印到控制台。

关于我在做什么错的任何想法?还是我想念什么?

此外,我启用了调试模式,以查看控制台上打印的“状态评估报告”,但不确定在那里要查找什么。

1 个答案:

答案 0 :(得分:2)

尝试将您的MeterRegistry作为Librato记者的春天@Bean,让我知道它是否有效。


更新:

我对您提到的ConsoleReporter进行了测试,并确认它可以与a sample一起使用。 请注意,示例位于分支console-reporter上,而不是master分支上。有关详细信息,请参见示例。