这里我们用http_requests_total来表示收集到的数据,经仔细了解后,发现朋友使用的是类似 的 PromQL,并且将 query_range 时间范围设置为:start=周一的 00:00,end = 周日的 23:59:59,看上去没有问题,但为什么会出现上面的问题呢? 排查思路 首先我们来了解下Prometheus对于( v range-vector) 范围查询的实现原理,以...
在Prometheus的WebUI界面中图形视图中的查询就是区间查询,API 接口/api/v1/query_range?query=xxx&start=xxxxxx&end=xxxx&step=14中的query参数就是 PromQL 表达式,start为开始时间,end为结束时间,step为评估的步长。 比如把上面的http_requests_total表达式作为一个范围查询来进行评估,它的评估结果如下所示: 注意...
当使用QUERY_RANGE API查询PromQL表达式时,返回结果一定是一个区间向量: { "resultType": "matrix", "result": <value> } 需要注意的是,在QUERY_RANGE API中PromQL只能使用瞬时向量选择器类型的表达式。 例如使用以下表达式查询表达式up在30秒范围内以15秒为间隔计算PromQL表达式的结果。 $ curl 'http://localhost...
query=kube_pod_container_info&time=1636457100 api 路径都是/api/v1/query 有两种查询类型, 这里面我们用的查询类型就是 query 类型(还有另一个叫 query_range) 在路径和查询类型后跟着的就是 PromQL 语句了。 最后的 time 是时间戳, 代表着查询的时间基线。 就是我们的 PromQL 是以哪个时间点为基准查询的...
query_range 这是一个范围查询,或者区间查询。因为需要绘图,所以不是一个点,是一个时间范围内的。 在graph里面的查询都是区间查询。 选择时间序列 本节我们将学习如何用不同的方式来选择数据,如何在单个时间戳或一段时间范围内基于标签过滤数据,以及如何使用移动时间的方式来选择数据。
http://promurl:port/api/v1/query?query=kube_pod_container_info&time=1636457100 api 路径都是/api/v1/query 有两种查询类型, 这里面我们用的查询类型就是 query 类型(还有另一个叫 query_range) 在路径和查询类型后跟着的就是 PromQL 语句了。
query=1 # 执行结果 {"status":"success","data":{"resultType":"scalar","result":[1629540849.286,"1"]}} Query_range 描述: 主要采用其api进行查询查询并返回范围向量的指标结果,其除了查询指标参数外,还有提供start、end、step参数。 Tips : 将来自不同执行的所有瞬时向量组合成范围向量并返回。 例如: ...
Tips: 如果query_range 的步长大于抓取时间间隔,则使用irate时将跳过数据。 注意: 当将irate()函数与聚合运算符(例如 sum())或随时间聚合的函数(任何以 _over_time 结尾的函数)一起使用时,必须先执行 irate 函数,然后再进行聚合操作,否则当采样目标重新启动时 irate() 无法检...
histogram_quatile(φ float, b instant-vector)函数计算b向量的φ-直方图 (0 ≤φ≤ 1) 。参考中文文献[https://www.howtoing.com/how-to-query-prometheus-on-ubuntu-14-04-part-2/] holt_winters() holt_winters(v range-vector, sf scalar, tf scalar)函数基于范围向量v,生成事件序列数据平滑值。平滑...
通过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>...