如何解决promQL 对 avg_over_time() 的结果应用 avg()
我想更好地了解此查询中发生的事情:
avg (avg_over_time(metric_name{db='cpu',category='db'}[5m]))
这是我的理解:
- metric_name{db='cpu',category='db'}[5m] 返回多个时间序列的范围向量
- avg_over_time() 应用于步骤 1 中的范围向量。它一次获取每个时间序列的原始值,并计算每个时间序列的平均值。每个时间序列的平均值然后在一个即时向量中返回
- avg() 应用于第 2 步的即时向量结果。它为所有时间序列(跨时间序列)计算一个平均值并返回它
如果我们想按某个维度(标签)分解第 3 步的平均值,那么我们可以使用 'by' 运算符和 avg() 函数,如下所示:
avg by (label1) (avg_over_time(metric_name{db='cpu',category='db'}[5m]))
这种对正在发生的事情的细分是否正确?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。