我有一个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/