分组时间序列时如何保留缺失标签值?PromQL求和场景求助
解决方案
当然可行,你只需要在二元运算符的匹配规则里加上group_left()修饰符,强制保留左边操作数的所有标签组,对于右边没有匹配到的条目自动用0填充。
修改后的查询语句如下:
sum(metric1) by(a) + on(a) group_left() sum(metric2) by(a)
执行这个查询后,返回结果会是:
{a='1'} 22 {a='2'} 11
解释一下:
group_left()告诉PromQL以左边的标签组(也就是sum(metric1) by(a)的结果)为基准进行匹配- 对于左边存在但右边没有对应
a标签的条目,右边的取值会被视为0,因此左边的数值直接保留(即11+0=11)
内容的提问来源于stack exchange,提问作者Ngoral
相关产品推荐
相关产品推荐

