写点什么

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

用户头像
耳东@Erdong
关注
发布于: 刚刚

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

接口格式

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


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


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

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

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


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


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


JSON 响应的返回格式如下:


{  "status": "success" | "error",  "data": <data>,
// 仅当 status 为 error 时设置。数据字段仍然可以保存额外的数据。 "errorType": "<string>", "error": "<string>",
// 仅当执行请求时有警告时,数据字段中仍然有数据. "warnings": ["<string>"]}
复制代码


通用的占位符定义如下:


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

  • <series_selector>: Prometheus 时间序列选择器像http_requests_totalhttp_requests_total{方法=~"(GET|POST)},需要 URL-encoded。

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

  • <bool>: 布尔值, true 或者 false 。


发布于: 刚刚阅读数: 2
用户头像

耳东@Erdong

关注

还未添加个人签名 2020.05.24 加入

主要研究分享运维技术,专注于监控、CICD、操作系统、云原生领域,公众号【耳东学堂】,知识星球同名,坚持原创,希望能和大家在运维路上结伴而行 邮箱:erdong@mail.erdong.site

评论

发布
暂无评论
Prometheus HTTP API 查询(一) 接口格式