【发布时间】:2018-12-29 17:05:02
【问题描述】:
我想知道是否可以使用 Java 客户端从 Prometheus 收集所有指标?
例如 Go 指标、主机指标等
如果是,是否可以像在 HTTP api 上一样查询这些指标?
【问题讨论】:
标签: java prometheus
我想知道是否可以使用 Java 客户端从 Prometheus 收集所有指标?
例如 Go 指标、主机指标等
如果是,是否可以像在 HTTP api 上一样查询这些指标?
【问题讨论】:
标签: java prometheus
您能否澄清一下:“检测”通常意味着将应用程序代码中的指标暴露给 Prometheus 端点。该问题表明您要么想从应用程序中读取指标,要么从已经抓取指标的 Prometheus 实例中读取指标。
对于这个答案,我假设您正在运行已抓取指标的 Prometheus 实例。
如果您想读取 Prometheus 从您的应用程序中抓取的最新值,您可以通过 HTTP 使用 Prometheus' federation endpoint:您可以一次性读取所有指标及其当前读数,或应用查询。我不知道解析格式的 Java 库,but you find the definition here. 您可以使用相同的方法直接查询您的应用程序。
如果您想接收可能更容易解析的 JSON,您可以使用Prometheus's HTTP API。
如果您想在 Prometheus 查询值后立即收到更新,您可以连接到 remote write API。已经存在集成,但乍一看没有 Java 集成。您可以使用 Kafka 作为中介。此外,这可能比您在本问题中所要求的要多。
【讨论】: