我有一个dropwizard应用程序,该应用程序发出yammer指标,并且可以通过http://localhost:8081/admin/metrics之类的URL进行监视,该URL以jsons的形式给出结果。

我想用riemann将这些指标发送给这些监视器,而且我不知道如何开始。我经历了riemann-java-client,该客户端具有用于yammer指标的RiemannReporter类,但是我没有在应用程序中使用它的方法。

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

最佳答案

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

关于dropwizard - 如何将riemann集成到dropwizard中以捕获指标?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28500731/

10-10 15:16