本文介绍了从多个指标(相同标签集,不同名称)绘制rate()时,如何避免向量不能包含具有相同标签集的指标错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在Prometheus中,有时我们需要像PromQL查询那样一次绘制几个指标(例如,有名称,符合相同的正则表达式):

{name=~"camel_proxy.*count"}

并且运行良好,使用不同的名称绘制相同的标签集线。

当我们想要绘制它们的Rate()时,我们面临标题中的错误:

rate({name=~"camel_proxy.*count"}[5m])

因此,这里的方法是使标签集不同,并将__name__移动到某个标签,使每个标签集是唯一的:

rate(label_replace({name=~"camel_proxy.*count"},"name_label","$1","name", "(.+)")[5m])

但我们仍收到类似

的错误
1:90: parse error: ranges only allowed for vector selectors"

如何避免它并正确绘制费率?

推荐答案

此处的PromQL查询应为

rate(label_replace({name=~"camel_proxy.*count"},"name_label","$1","name", "(.+)")[5m:])

请注意5M**:**而不是5M

这篇关于从多个指标(相同标签集,不同名称)绘制rate()时,如何避免向量不能包含具有相同标签集的指标错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-20 01:07