如何将riemann整合到dropwizard中以捕获指标?

时间:2015-02-13 13:28:36

标签: dropwizard yammer riemann

我有一个dropwizard应用程序,可以发出yammer指标,可以通过像http://localhost:8081/admin/metrics这样的网址进行监控,以jsons的形式提供结果。

我想在riemann中发送这些监控这些指标,我不知道如何启动。我浏览了riemann-java-client,它有yiemer指标的RiemannReporter类,但我不知道如何在我的应用程序中使用它。

如何将此客户端集成到我的应用程序中或如何从URL中捕获jsons并将这些事件作为事件发送到riemann服务器?

1 个答案:

答案 0 :(得分:6)

Java Client Library中的RiemanReporter Builder将dropwizard metrics注册表放入构造函数中。它支持标记事件,并将速率转换为黎曼事件。您可以使用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 %)))