Skip to content

Commit c17950d

Browse files
authored
fix promql usage docs (#477)
1 parent 802e9cf commit c17950d

File tree

1 file changed

+34
-1
lines changed

1 file changed

+34
-1
lines changed

docs/zh/07-integration/03-output/01-query/02-promql.md

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,39 @@ DeepFlow 从 v6.2.1 开始支持 PromQL,目前实现了如下 Prometheus API
1414
GET | /prom/api/v1/label/:labelName/values | /api/v1/label/<label_name>/values | 获取一个指标的所有标签
1515
GET/POST | /prom/api/v1/series | /api/v1/series | 获取所有时序
1616

17+
18+
## 调用方式
19+
20+
在 DeepFlow 里可通过如下方式调用 API:
21+
22+
获取服务端点端口号:
23+
```bash
24+
port=$(kubectl get --namespace deepflow -o jsonpath="{.spec.ports[0].nodePort}" services deepflow-server)
25+
```
26+
27+
API 调用方式示例:
28+
29+
Instant Query:
30+
```bash
31+
time=$((`date +%s`))
32+
33+
curl -XPOST "http://${deepflow_server_node_ip}:${port}/prom/api/v1/query" \
34+
--data-urlencode "query=sum(flow_log__l7_flow_log__server_error) by(request_resource, response_code)" \
35+
--data-urlencode "time=${time}"
36+
```
37+
38+
Range Query:
39+
```bash
40+
end=$((`date +%s`))
41+
start=$((end-600))
42+
43+
curl -XPOST "http://${deepflow_server_node_ip}:${port}/prom/api/v1/query_range" \
44+
--data-urlencode "query=sum(flow_log__l7_flow_log__server_error) by(request_resource, response_code)" \
45+
--data-urlencode "start=${start}" \
46+
--data-urlencode "end=${end}" \
47+
--data-urlencode "step=60s"
48+
```
49+
1750
## DeepFlow 指标定义
1851

1952
DeepFlow 的指标对外提供 PromQL 查询时,指标名称遵循 `${database}__${table}__${metric}__${data_precision}` 的方式构造,可以通过 [AutoMetrics 指标类型](../../../features/universal-map/auto-metrics/#%E6%8C%87%E6%A0%87%E7%B1%BB%E5%9E%8B) 的定义中,获取需要查询的目标数据源,具体规则如下:
@@ -22,7 +55,7 @@ DeepFlow 的指标对外提供 PromQL 查询时,指标名称遵循 `${database
2255
------------------------------------------------------|----------------------------------------------
2356
`flow_log` | `{db}__{table}__{metric}`
2457
`flow_metrics` (data_precision 取值为`1m`/`1s`) | `{db}__{table}__{metric}__{data_precision}`
25-
`ext_metrics` (通过 Prometheus RemoteWrite 写入的数据) | `ext_metrics__metrics__prometheus_{metric}`
58+
`prometheus` (通过 Prometheus RemoteWrite 写入的数据) | `prometheus__samples__{metric}`
2659

2760
比如:
2861
- `flow_metrics__application__request__1m`:表示查询按每分钟粒度聚合的应用层请求数

0 commit comments

Comments
 (0)