在Spring Boot中将指标推送到Prometheus Pushgateway

时间:2017-06-15 08:21:03

标签: spring-boot prometheus

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

我很挣扎,因为有许多文件,无论是来自Spring Metrics还是Prometheus,但它们都没有解决我的具体问题。

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

然而,Prometheus指南告诉我使用simpleclient_pushgateway库:https://github.com/prometheus/client_java#exporting-to-a-pushgateway

最后,还有一个名为simpleclient_spring_boot的简单客户端,这是将Prometheus集成到Spring Boot中的第三种方式。

你能告诉我,我该怎样才能完成

A)从针对HTTP请求的优选基于注释的方法推送指标

B)每x秒对JVM指标的一些方法

C)可配置(在application.yml文件中)pushgateway

非常感谢

1 个答案:

答案 0 :(得分:0)

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

您要做的是使用simpleclient_spring_boot公开一个/metrics端点,Prometheus将直接抓取该端点。