使用Java客户端检测Prometheus指标

时间:2018-12-29 17:05:03

标签: java prometheus

我想知道是否可以使用Java客户端从Prometheus收集所有指标?

例如Go指标,主机指标等。

如果是,是否可以像在HTTP api上一样查询这些指标?

1 个答案:

答案 0 :(得分:2)

请您澄清一下:“工具化”通常意味着将度量标准从应用程序的代码公开到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作为中介。另外,这可能比您在此问题中要求的要多。