如何聚合微服务中的dropwizard指标并将其发送到logstash(ELK)

时间:2017-04-13 16:32:01

标签: java json microservices dropwizard codahale-metrics

我想汇总一些指标。在我的监控应用程序中,我通过HTTP请求在所有微服务上发送请求。微服务(在其他JVM中)报告指标,使用dropwizard和执行器,它运行良好,

在for循环中,我这样打电话:

String metricsQuery = queryHTTPMetrics(application);//String in json format, from dropwizard
JsonNode node = mapper.readTree(metricsQuery);
save(application, node);

然后前端使用JsonNode, 但现在我想重新使用save JsonNode在logstash中发送它们,并避免请求所有微服务的新时间。

我可以使Slf4jReporter适用于当前JVM中的当前metricRegistry,但是如何在HTTP请求中使用远程JVM进行相同操作?我想注入我保存的所有JsonNode: - /

final Slf4jReporter reporter = Slf4jReporter.forRegistry(metricRegistry)
              .outputTo(LoggerFactory.getLogger("metrics"))
              .convertRatesTo(TimeUnit.SECONDS)
              .convertDurationsTo(TimeUnit.MILLISECONDS)
              .prefixedWith("monitoringApp")
              .build();
      reporter.start(monitoringProperties.getMetrics().getLogs().getReportFrequency(), TimeUnit.SECONDS);

我的记录器“指标”已连接到logstash appender并正常工作。

0 个答案:

没有答案