【发布时间】:2021-10-26 20:06:48
【问题描述】:
在 Prometheus 中,有时我们需要像 PromQL 查询一样一次绘制多个指标(例如,具有名称、拟合相同的正则表达式):
{name=~"camel_proxy.*count"}
它工作正常,相同的标签集线用不同的名称绘制。
当我们想绘制它们的 rate() 时,我们会遇到标题中的错误:
rate({name=~"camel_proxy.*count"}[5m])
所以,这里的方法是让labelset不一样,把__name__移动到某个label,让每个labelset都是唯一的:
rate(label_replace({name=~"camel_proxy.*count"},"name_label","$1","name", "(.+)")[5m])
但我们仍然收到类似的错误
1:90: parse error: ranges only allowed for vector selectors"
如何避免它并正确绘制费率?
【问题讨论】:
-
我发现我必须在 Ilya 在此处共享的查询中使用
__name__而不是name- 既在开头的度量选择器中,也在label_replace函数中,如下所示:label_replace({__name__=~"camel_proxy.*count"},"name_label","$1","__name__", "(.+)")(我尝试通过编辑来更新问题本身,但 Stack Overflow 上的编辑队列已满????)
标签: prometheus grafana promql