@@ -14,6 +14,39 @@ DeepFlow 从 v6.2.1 开始支持 PromQL,目前实现了如下 Prometheus API
14
14
GET | /prom/api/v1/label/: labelName /values | /api/v1/label/<label_name>/values | 获取一个指标的所有标签
15
15
GET/POST | /prom/api/v1/series | /api/v1/series | 获取所有时序
16
16
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
+
17
50
## DeepFlow 指标定义
18
51
19
52
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
22
55
------------------------------------------------------|----------------------------------------------
23
56
` flow_log ` | ` {db}__{table}__{metric} `
24
57
` 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}`
26
59
27
60
比如:
28
61
- ` flow_metrics__application__request__1m ` :表示查询按每分钟粒度聚合的应用层请求数
0 commit comments