跳至主要內容
在 HTTP API 中使用 PromQL

Prometheus 当前稳定的 HTTP API 可以通过 /api/v1 访问。

Prometheus 提供了一套 HTTP API,其中包括查询(Query)和查询范围(Query Range)API,它们允许你使用 PromQL(Prometheus Query Language)从 Prometheus Server 中检索指标数据。这些 API 为外部系统、监控仪表板(如 Grafana)和脚本提供了一种标准化的方式来访问 Prometheus 存储的时间序列数据。

查询(Query)API

查询 API (/api/v1/query) 用于获取 Prometheus Server 当前的即时快照数据。这意味着它返回的是最近接收到的数据点。这个 API 接受一个 PromQL 表达式作为查询参数,并返回与该表达式匹配的最新数据点。


鸟书大约 2 分钟monitorprometheuspromqlhttpapi
远程读取 API

Prometheus 的 Remote Read API 是 Prometheus Server 用于从远程存储(remote storage)查询历史数据的一种机制。Prometheus 通常将数据存储在本地的时序数据库中,但有时候,出于扩展性、持久化存储或数据分析的考虑,你可能需要将数据存储到外部系统,如长期存储解决方案、大数据平台或分布式存储系统。

Remote Read API 允许 Prometheus Server 从这些远程存储系统中检索历史数据,以便进行查询和可视化。这在以下场景中特别有用:

  1. 水平扩展:当单个 Prometheus Server 无法处理大量的时间序列数据时,可以将数据存储到外部系统,然后使用 Remote Read API 来查询这些数据。

  2. 长期存储:Prometheus 本地存储的数据通常有限制,可能不足以保存长期的历史数据。使用 Remote Read API,你可以将数据存储到专门的长期存储解决方案中,如 S3、Google Cloud Storage 或其他对象存储服务。

  3. 数据分析:有些情况下,你可能想在外部系统中对历史数据进行更复杂的数据分析或数据挖掘。在这种情况下,你可以将数据存储到支持更强大查询能力的系统中,然后使用 Remote Read API 查询这些系统。


鸟书大约 2 分钟monitorprometheuspromqlremoteapi