Promql 查询"cpu_usage_value or memory_usage_value"不起作用



根据普罗米修斯文件:

vector1或vector2的结果包含vector1的所有原始元素(标签集+值)以及vector2中没有匹配标签集的所有元素

但是上面的查询只返回cpu_usage_value

promql初学者,如果理解错了请原谅

or算子在用标签集搜索or左侧的时间序列时没有考虑到度量名,而or右侧的时间序列没有考虑到标签集。

有以下解决方案:

  1. 在标签列表中明确提及__name__标签(又名度量名称),在通过其标签集匹配系列时应考虑到这一点:foo or on(__name__) bar将返回具有foobar名称的系列。

  2. 枚举序列选择器regexp:{__name__=~"foo|bar"}返回具有foobar名称的序列。

  3. 使用MetricsQL中的联合函数:union(foo, bar)返回具有foobar名称的序列。注意,这个解决方案只适用于VictoriaMetrics(我所使用的类似普罗米修斯的系统)。它在普罗米修斯中不起作用:(

相关内容

  • 没有找到相关文章

最新更新