2

我想通过 Spring Boot 应用程序中的 Pushgateway 将指标(例如 HTTP 请求的处理时间或当前堆大小)推送到 Prometheus。

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

最简单的方法是@Timed在 RestController 类上使用注释,如下所述: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

非常感谢

4

1 回答 1

0

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

您想要做的是使用simpleclient_spring_boot暴露/metricsPrometheus 将直接抓取的端点。

于 2017-06-15T08:35:42.263 回答