使用QUERY_RANGE API我们则可以直接查询PromQL表达式在一段时间返回内的计算结果。 GET /api/v1/query_range URL请求参数: query=: PromQL表达式。 start=: 起始时间。 end=: 结束时间。 step=: 查询步长。 timeout=: 超时设置。可选参数,默认情况下使用-query,timeout的全局设置。 当使用QUERY_RANGE API查询P...
在Prometheus的WebUI界面中图形视图中的查询就是区间查询,API 接口/api/v1/query_range?query=xxx&start=xxxxxx&end=xxxx&step=14中的query参数就是 PromQL 表达式,start为开始时间,end为结束时间,step为评估的步长。 比如把上面的http_requests_total表达式作为一个范围查询来进行评估,它的评估结果如下所示: 注意...
query=kube_pod_container_info&time=1636457100 api 路径都是/api/v1/query 有两种查询类型, 这里面我们用的查询类型就是 query 类型(还有另一个叫 query_range) 在路径和查询类型后跟着的就是 PromQL 语句了。 最后的 time 是时间戳, 代表着查询的时间基线。 就是我们的 PromQL 是以哪个时间点为基准查询的...
这里我们用http_requests_total来表示收集到的数据,经仔细了解后,发现朋友使用的是类似 的 PromQL,并且将 query_range 时间范围设置为:start=周一的 00:00,end = 周日的 23:59:59,看上去没有问题,但为什么会出现上面的问题呢? 排查思路 首先我们来了解下Prometheus对于( v range-vector) 范围查询的实现原理,以...
http://promurl:port/api/v1/query?query=kube_pod_container_info&time=1636457100 api 路径都是/api/v1/query 有两种查询类型, 这里面我们用的查询类型就是 query 类型(还有另一个叫 query_range) 在路径和查询类型后跟着的就是 PromQL 语句了。
query_range 这是一个范围查询,或者区间查询。因为需要绘图,所以不是一个点,是一个时间范围内的。 在graph里面的查询都是区间查询。 选择时间序列 本节我们将学习如何用不同的方式来选择数据,如何在单个时间戳或一段时间范围内基于标签过滤数据,以及如何使用移动时间的方式来选择数据。
通过HTTP API 我们可以分别通过/api/v1/query和/api/v1/query_range查询 PromQL 表达式当前或者一定时间范围内的计算结果。 瞬时数据查询 通过使用QUERY API我们可以查询 PromQL 在特定时间点下的计算结果。 GET /api/v1/query URL 请求参数: query=<string>: PromQL 表达式。time=<rfc3339 | unix_timestamp>...
方括号中的回溯窗口超出了图表上点之间的时间间隔(Grafana通过step查询参数传递此间隔到/api/v1/query_range)。 例如,如果使用以下查询来构建过去一小时的图表:max_over_time(process_resident_memory_bytes[30m]),Grafana会把step参数传给/api/v1/query_range,step比30分钟显然会小很多。这意味着每个原始样本都会...
Prometheus当前稳定的HTTP API可通过/api/v1访问,其响应内容采用JSON格式。成功调用API将返回2xx状态码,反之可能返回如5xx等失败状态码。所有API请求均遵循JSON格式。在HTTP API中运用PromQL,通过/api/v1/query与/api/v1/query_range可查询PromQL表达式的即时或特定时间范围内的计算结果。针对瞬时数据...
所以如果使用query_range区间查询,例如在绘图中,那么范围应该至少是步长的大小,否则会丢失一些数据。 irate 由于使用 rate 或者 increase 函数去计算样本的平均增长速率,容易陷入长尾问题当中,其无法反应在时间窗口内样本数据的突发变化。 例如,对于主机而言在 2 分钟的时间窗口内,可能在某一个由于访问量或者其它问题...