HTTP API
最后更新于:2022-04-02 03:00:04
[TOC]
> [更多详情](https://prometheus.io/docs/prometheus/latest/querying/api/)
## HTTP API
通过第三方(如:Grafana)调用 prometheus api 获取prometheus信息
### 格式概述
API响应格式为JSON
```
2xx 请求成功
400 Bad Request 参数丢失或不正确时。
422 Unprocessable Entity无法执行表达式时(RFC4918)。
503 Service Unavailable 查询超时或中止时。
```
json 格式
```
{
"status": "success" | "error",
"data": ,
// Only set if status is "error". The data field may still hold
// additional data.
"errorType": "",
"error": "",
// Only if there were warnings while executing the request.
// There will still be data in the data field.
"warnings": [""]
}
```
### 表达式查询
#### 时间点
```
GET /api/v1/query
POST /api/v1/query
```
* `query=`:Prometheus表达式查询字符串。
* `time=`:评估时间戳记。可选的,省略表示当前时间。
* `timeout=`:评估超时。可选的。默认为,并以该`-query.timeout`标志的值为上限
如:
```
curl http://192.168.0.229:9090/api/v1/query?query=node_disk_io_now
```
#### 时间段
```
GET /api/v1/query_range
POST /api/v1/query_range
```
* `query=`:Prometheus表达式查询字符串。
* `start=`:开始时间戳。
* `end=`:结束时间戳记。
* `step=`:以`duration`格式或浮点秒数查询分辨率步长。
* `timeout=`:评估超时。可选的。默认为,并以该`-query.timeout`标志的值为上限
如:
```
curl 'http://localhost:9090/api/v1/query_range?query=up&start=2015-07-01T20:10:30.781Z&end=2015-07-01T20:11:00.781Z&step=15s'
```
';