2017-06-15 2718 views
0

我想推送指标,例如处理HTTP请求或当前堆大小的时间,通过Spring Boot应用程序中的Pushgateway传递给Prometheus。在Spring Boot中将指标推送到普罗米修斯Pushgateway

我很挣扎,因为有很多来自Spring Metrics或Prometheus的文档,但他们都没有解决我的具体问题。

最简单的方法是使用@Timed注释上RestController类,如下所述:http://projects.spring.io/spring-metrics/ 不过,我没有看到,在那里我可以为pushgateway配置URL,如果@Timed注释问自己刚将度量标准导出到/prometheus端点,并将它们从中拉出。

普罗米修斯指南,但是,告诉我使用simpleclient_pushgateway库:https://github.com/prometheus/client_java#exporting-to-a-pushgateway

最后,还有另一种名为SimpleClient的simpleclient_spring_boot,这将是普罗米修斯融入春天启动的第三条道路。

能否请你告诉我,我怎么能做到

A)从preferrably注解为基础的方法推动指标HTTP请求

B)为每x秒

ÇJVM度量的一些方法)的配置(在application.yml文件)pushgateway

非常感谢您

回答

0

这是处理事情的错误方式,pushgateway不适用于每个实例的指标,如堆大小或请求时间(https://prometheus.io/docs/practices/pushing/)。

你想要做的是使用simpleclient_spring_boot揭露一个普罗米修斯会直接刮掉的/metrics端点。

+0

对不起,我应该说明为什么我需要pushgateway :-) 我们的应用程序已部署到Cloud Foundry。使用Prometheus轮询它们会导致不同的值,这取决于当前哪个实例响应请求。这就是为什么我喜欢将每个实例的指标推送到pushgateway并在Grafana中区分它们。 – user3105453

+0

这仍然不是推荐的方法。我相信Cloud Foundry的方法是做一些服务发现,然后做一些事情来添加一个HTTP标头来与正确的实例交谈。 –