文章目录
- 1. 前言
- 1.1. API终端
- 1.2. API状态码说明
- 1.3. API请求返回的格式均使用以下的 JSON 格式
- 2. API接口文档
- 2.1. 查询时间点结果
- 2.1.1. 请求类型
- 2.1.2. URL
- 2.1.3. 请求参数
- 2.1.4. 返回
- 2.1.5. 实例
- 2.2. 查询时间范围结果
- 2.2.1. 请求类型
- 2.2.2. URL
- 2.2.3. 请求参数
- 2.2.3.1. step
- 2.2.4. 返回
- 2.2.5. 实例
1. 前言
以下是介绍调用Prometheus的API获取数据的方法
1.1. API终端
IP:PORT(prometheus一般在内网暴露9090端口,对外网暴露8395端口)
1.2. API状态码说明
- 2xx: 调用成功
- 404 Bad Request :参数错误或者缺失。
- 422 Unprocessable Entity : 表达式无法执行。
- 503 Service Unavailable : 请求超时或者被中断
1.3. API请求返回的格式均使用以下的 JSON 格式
{"status": "success" | "error","data": <data>,// 当有错误的时候才有以下返回字段"errorType": "<string>","error": "<string>"
}
2. API接口文档
2.1. 查询时间点结果
2.1.1. 请求类型
GET/POST
2.1.2. URL
/api/v1/query
2.1.3. 请求参数
参数名称 | 类型 | 是否必须 | 实例 | 备注 |
---|---|---|---|---|
query | string | 是 | base_user_count{project=“测试22”, organization=“test123”} | PromQL表达式,需要url encode |
time | rfc3339或unix_timestamp | 否 | 1646382531 | 时间戳,精确到秒。如果不填写则用系统当前时间。 |
timeout | duration | 否 | 5m | 请求Prometheus的超时时间,一般不用填写。 |
2.1.4. 返回
{"status": "success","data": {"resultType": "vector", //返回字段参考:响应数据格式"result": [{"metric": {}, //指标的label,可以理解为索引,可以根据以下字段进行具体查询"value": [] //返回结果 时间戳(与传入的时间对应)+具体值}]}
}