在 Prometheus 中,有时我们需要同时绘制多个指标(例如,具有名称、拟合相同的正则表达式),就像 PromQL 查询一样:
{name=~"camel_proxy.*count"}
Run Code Online (Sandbox Code Playgroud)
它工作正常,相同的标签集线用不同的名称绘制。
当我们想要绘制它们的rate()时,我们面临标题中的错误:
rate({name=~"camel_proxy.*count"}[5m])
Run Code Online (Sandbox Code Playgroud)
因此,这里的方法是使标签集不相同,并将 移动__name__到某个标签,使每个标签集都是唯一的:
rate(label_replace({name=~"camel_proxy.*count"},"name_label","$1","name", "(.+)")[5m])
Run Code Online (Sandbox Code Playgroud)
但我们仍然收到这样的错误
1:90: parse error: ranges only allowed for vector selectors"
Run Code Online (Sandbox Code Playgroud)
如何避免它并正确绘制比率?