【问题标题】:How to integrate riemann into the dropwizard to capture metrics?如何将 riemann 集成到 dropwizard 中以捕获指标?
【发布时间】:2015-02-13 13:28:36
【问题描述】:
我有一个 dropwizard 应用程序,它发出 yammer 指标并且可以通过像 http://localhost:8081/admin/metrics 这样的 URL 进行监控,它以 jsons 的形式给出结果。
我想在 riemann 中发送这些监视器这些指标,但我不知道如何开始。我浏览了 riemann-java-client,它有一个用于 yammer 指标的 RiemannReporter 类,但我不知道如何在我的应用程序中使用它。
如何将此客户端集成到我的应用程序中,或者如何从 url 捕获 json 并将它们作为事件发送到 riemann 服务器?
【问题讨论】:
标签:
dropwizard
yammer
riemann
【解决方案1】:
Java Client Library 中的 RiemanReporter Builder 将 dropwizard 指标注册表带入构造函数。它支持标记事件,并将速率转换为黎曼事件。您可以使用 TimeUnit 在 start 方法上设置轮询间隔
Riemann riemann = new Riemann("YOUR_RIEMANN_HOST", 5555);
ArrayList<String> tags = new ArrayList<String>();
tags.add("YOUR_APPLICATION_TAG");
RiemannReporter.Builder builder = RiemannReporter.forRegistry(environment.metrics()).tags(tags);
RiemannReporter riemannReporter = builder.build(riemann);
riemannReporter.start(1, TimeUnit.SECONDS);
Riemann 配置捕获此输出并写入 Riemann 日志:
(streams (where (tag "YOUR_APPLICATION_TAG") #(info %)))