7.prometheus之查询API

二、表达式查询

2.1 Instant queries(即时查询)

2.2 范围查询

三、查询元数据

3.1 通过标签匹配器找到度量指标列表

3.2 获取标签名

3.3 查询标签值

四、表达式查询结果格式

4.1 范围向量

4.2 瞬时向量

4.3 标量

4.4 字符串

五、Targets目标

六、Rules规则

七、Alerts报警

八、查询目标元数据

九、Altermanagers警报管理器

十、Status状态

10.1 Config配置

10.2 Flags标志

十一、TSDB Admin APIs,TSDB管理API

11.1 快照

11.2 删除序列

11.3 CleanTombstones

在Prometheus服务器上的/api/v1下可以访问当前稳定的HTTP API。 将在该端点下添加任何非中断添加项。

一、格式概述

这个API返回是JSON格式。每个请求成功的返回值都是以2xx开头的编码。

到达API处理的无效请求,返回一个JSON错误对象,并返回下面的错误码:

400 Bad Request。当参数错误或者丢失时。

422 Unprocessable Entity。当一个表达式不能被执行时。

503 Service Unavailable。当查询超时或者中断时。

对于在到达API端点之前发生的错误,可以返回其他非2xx代码。

如果存在不阻止请求执行的错误,则可以返回警告数组。 成功收集的所有数据都将在数据字段中返回。

JSON响应格式如下:

{ "status": "success" | "error", "data": <data>, // Only set if status is "error". The data field may still hold // additional data. "errorType": "<string>", "error": "<string>", // Only if there were warnings while executing the request. // There will still be data in the data field. "warnings": ["<string>"] }  

 

输入时间戳可以以RFC3339格式提供,也可以以秒为单位提供给Unix时间戳,可选的小数位数用于亚秒级精度。 输出时间戳始终表示为Unix时间戳,以秒为单位。

可以以[]结尾查询参数的名称。

<series_selector>占位符指的是Prometheus时间序列选择器,如http_requests_total或http_requests_total{method =〜"(GET|POST)"},需要进行URL编码。

<duration>占位符指的是[0-9]+[smhdwy]形式的Prometheus持续时间字符串。 例如,5m指的是5分钟的持续时间。

<bool>占位符引用布尔值(字符串true和false)。

二、表达式查询

可以对指标或指标聚合表达式在某一时刻或者某一段时间进行查询操作,详细解释见下:

2.1 Instant queries(即时查询)

以下端点在单个时间点评估即时查询:

GET /api/v1/query  

URL查询参数:

query=<string>: Prometheus表达式查询字符串。

time=<rfc3339 | uninx_timestamp>: 执行时间戳,可选项。

timeout=<duration>: 执行超时时间设置,可选项,默认由-query.timeout标志设置

如果time缺省,则用当前服务器时间表示执行时刻。

这个查询结果的data部分有下面格式:

{ "resultType": "matrix" | "vector" | "scalar" | "string", "result": <value> }  

<value> 是一个查询结果数据,依赖于这个resultType格式,见> 。

下面例子执行了在时刻是2015-07-01T20:10:51.781Z的up表达式:

$ curl 'http://localhost:9090/api/v1/query?query=up&time=2020-03-01T20:10:51.781Z' { "status": "success", "data":{ "resultType": "vector", "result" : [ { "metric" : { "__name__" : "up", "job" : "prometheus", "instance" : "localhost:9090" }, "value": [ 1435781451.781, "1" ] }, { "metric" : { "__name__" : "up", "job" : "node", "instance" : "localhost:9100" }, "value" : [ 1435781451.781, "0" ] } ] } }  

2.2 范围查询

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyzgsy.html