如果我的指标包含以下标签:
my_metric{group="group a"} 100
my_metric{group="group b"} 100
my_metric{group="group c"} 100
my_metric{group="misc group a"} 1
my_metric{group="misc group b"} 2
my_metric{group="misc group c"} 1
my_metric{group="misc group d"} 1
是否可以进行查询,甚至是label_replace
结合了' misc'小组一起?
(我意识到公制基数需要改进,我已经更新了应用程序来修复它。但是如果我想通过稍后的查询来修复指标,我就会留下这个问题)
答案 0 :(得分:15)
是的,您可以使用标签替换将所有misc组合在一起:
sum by (new_group) (
label_replace(
label_replace(my_metric, "new_group", "$1", "group", ".+"),
"new_group", "misc", "group", "misc group.+"
)
)
内部label_replace将所有值从group复制到new_group,外部覆盖匹配" misc group。+"使用" misc",然后我们按" new_group"标签。使用新标签的原因是,如果我们只是覆盖"组"该系列将不再是唯一的。标签,总和不会起作用。
答案 1 :(得分:8)
更容易
sum by (group) (my_metric)
答案 2 :(得分:4)
您可以使用正则表达式查询:
my_metric{group=~"misc group.+"}
这将为您提供group
以“misc group”开头的所有内容。