如何将Riemann集成到Dropwizard中以捕获指标?

5

我有一个Dropwizard应用程序,可以通过URL(http://localhost:8081/admin/metrics)发出Yammer指标,并以JSON形式呈现结果。

我想在Riemann中监视这些指标,但不知道如何开始。我查看了riemann-java-client,其中有一个适用于yammer指标的RiemannReporter类,但我不知道如何在我的应用程序中使用它。

如何将此客户端集成到我的应用程序中,或者如何从URL获取JSON并将其作为事件发送到Riemann服务器?

1个回答

6

Java客户端库中的RiemanReporter Builder将dropwizard指标注册表传递到构造函数中。它支持对事件进行标记,并将速率转换为Riemann事件。您可以使用TimeUnit在启动方法中设置轮询间隔。

        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 %)))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接