我的 Spring-Boot 应用程序只有一个计数器指标。我只是不知道如何将这些信息发送给 Prometheus。我正在使用 Maven(构建工具)和 Spring Boot(Java)。
最佳答案
Prometheus 和 Graphite 一样,是一个时间序列存储引擎。
然后 Grafana 可以查询 Prometheus 以生成图形和警报。
https://prometheus.io/docs/introduction/faq/
正如文档所引用的,与其他指标存储系统不同,Prometheus 使用(有争议的)“拉”模型。
这意味着必须下载/安装一个(独立的)Prometheus 服务器。然后,该服务器定期向应用服务器列表(例如 Java SpringBoot 服务器)发出 HTTP GET 请求(拉取)以获取(内存中)存储的指标。
引用:https://prometheus.io/docs/introduction/faq/#why-do-you-pull-rather-than-push?
因此,(Spring Boot)应用程序必须公开 Prometheus 服务器可以从中提取的指标端点(默认为/metrics)。
引用:https://github.com/prometheus/client_java
因此,谷歌上有很多可用的文档,但这就是(可以说是令人费解的)拓扑——以及来自 SoundCloud 和 Prometheus 的人关于为什么“拉”模型比“推”更受欢迎的论点,就像其他所有指标框架所采用的那样。
关于maven - 如何从 Java (Spring boot) 应用程序向 Prometheus 公开指标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47559338/