Bootstrap

Prometheus HTTP API 查询(一) 接口格式

本文已经收录在 Prometheus 合集 中。

在 Prometheus 服务器的 下可以访问当前稳定的 HTTP API。新添加的 API 接口在如果没有任务破坏性,也会加在这个 endpoint 。

接口格式

Prometheus 的 API 响应格式是 JSON,每一个成功的 API 请求都会返回 的状态码。

针对 Prometheus 的 API 的无效请求会返回一个 JSON 的错误对象,并且会返回下列 HTTP 响应码:

  • 400 Bad Request : 一般情况下是参数丢失或者错误造成的。

  • 422 Unprocessable Entity :一般情况下是表达式无法执行。

  • 503 Service Unavailable : 一般情况下是请求超时或者被中止了。

当请求没有到达 API 就发生错误的时候,会返回其他非 2xx 的状态码。

如果请求中存在不妨碍请求执行的错误, Prometheus 可能返回一组警告。所有请求成功的数据将在对应的数据字段中返回。

JSON 响应的返回格式如下:

{
  "status": "success" | "error",
  "data": ,

  // 仅当 status 为 error 时设置。数据字段仍然可以保存额外的数据。
  "errorType": "",
  "error": "",

  // 仅当执行请求时有警告时,数据字段中仍然有数据.
  
  "warnings": [""]
}

通用的占位符定义如下:

  • : 一般输入的时间戳以 RFC3339 的格式来进行提供,或者是一个单位是秒的 Unix 时间戳, 可选的小数位数表示秒级精度。输出时间戳是 Unix时间戳,单位为秒。

  • : Prometheus 时间序列选择器像 或 ,需要 URL-encoded。

  • : Prometheus 的时间字符。比如 表示 5 分钟。

  • : 布尔值, true 或者 false 。