我正在使用启用了自动配置(@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,则会发生相同的情况,只会将我自己创建的指标打印到控制台。
关于我在做什么错的任何想法?还是我想念什么?
此外,我启用了调试模式,以查看控制台上打印的“状态评估报告”,但不确定在那里要查找什么。
答案 0 :(得分:2)
尝试将您的MeterRegistry
作为Librato记者的春天@Bean
,让我知道它是否有效。
更新:
我对您提到的ConsoleReporter
进行了测试,并确认它可以与a sample一起使用。 请注意,示例位于分支console-reporter
上,而不是master
分支上。有关详细信息,请参见示例。