promQL 对 avg_over_time() 的结果应用 avg()

问题描述

我想更好地了解此查询中发生的事情:

avg (avg_over_time(metric_name{db='cpu',category='db'}[5m]))

这是我的理解:

  1. metric_name{db='cpu',category='db'}[5m] 返回多个时间序列的范围向量
  2. avg_over_time() 应用于步骤 1 中的范围向量。它一次获取每个时间序列的原始值,并计算每个时间序列的平均值。每个时间序列的平均值然后在一个即时向量中返回
  3. avg() 应用于第 2 步的即时向量结果。它为所有时间序列(跨时间序列)计算一个平均值并返回它

如果我们想按某个维度(标签)分解第 3 步的平均值,那么我们可以使用 'by' 运算符和 avg() 函数,如下所示:

avg by (label1) (avg_over_time(metric_name{db='cpu',category='db'}[5m]))

这种对正在发生的事情的细分是否正确?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...