参数解释
名词 | 解释 | 例子、说明 |
---|---|---|
瞬时查询 | 查询特定时间点下的计算结果 | mysql连接数这种只有一个数据点的指标 |
区间查询 | 查询在一段时间返回内的计算结果 | cpu使用率这种多个数据点的指标 |
时间段 | 你要分析的一个具体的时间范围 | 只用于区间查询 |
时间窗口 | 你要进行计算的一个小时间区间 | [5m],表示过去五分钟的数据 |
时间步长 | 计算过程中时间窗口的每次移动量 | 如果步长为 1 分钟,那么每次计算时,窗口的起始时间会向前移动 1 分钟 |
avg、avg_over_time和时间窗口的区别:
- 时间窗口:作用是限制计算的范围,即只计算从当前时间往回推的这段时间的数据。,但是本身不会做任何运算
- avg_over_time:计算指定时间窗口内,给定指标的平均值
- avg:可以计算所有实例的平均值,通常用于聚合多个数据源的值
场景
查询服务器的 CPU 利用率,时间段是从 9:00 到 10:00。
设定
- 时间段:9:00 到 10:00
- 时间窗口:10 分钟
- 时间步长:1 分钟
查询函数:
{ "query": "avg(rate(node_cpu_seconds_total{mode!="idle"}[10m])) * 100", "start": 1729140110, "end": 1729140170, "step": 60 }
计算过程
- 时间窗口:
- 第一个时间窗口:9:00 到 9:10
- 第二个时间窗口:9:01 到 9:11
- 第三个时间窗口:9:02 到 9:12
- 依此类推...
- 覆盖所有时间段:
- 每个窗口计算一个聚合指标(如平均 CPU 利用率)。
结果
- 得到多个时间窗口的计算结果,例如:
- 9:00-9:10 的 CPU 平均利用率:50%
- 9:01-9:11 的 CPU 平均利用率:52%
- 9:02-9:12 的 CPU 平均利用率:48%
- 以此类推...