che*_*tts 14 prometheus promql
如果我有一个包含以下标签的指标:
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
Run Code Online (Sandbox Code Playgroud)
有可能进行查询,甚至label_replace将"misc"组合在一起吗?
(我意识到公制基数需要改进,我已经更新了应用程序来修复它.但是如果我想通过稍后的查询来修复指标,我就会留下这个问题)
tom*_*kie 21
是的,您可以使用标签替换将所有misc组合在一起:
sum by (new_group) (
label_replace(
label_replace(my_metric, "new_group", "$1", "group", ".+"),
"new_group", "misc", "group", "misc group.+"
)
)
Run Code Online (Sandbox Code Playgroud)
内部label_replace将所有值从group复制到new_group,外部覆盖那些匹配"misc group.+"和"misc"的值,然后我们用"new_group"标签求和.使用新标签的原因是,如果我们只是覆盖"组"标签,系列将不再是唯一的,并且总和将不起作用.
uam*_*ger 15
更容易
sum by (group) (my_metric)
Run Code Online (Sandbox Code Playgroud)
您可以使用正则表达式查询:
my_metric{group=~"misc group.+"}
Run Code Online (Sandbox Code Playgroud)
这将为您group提供以“ misc group”开头的所有内容。
| 归档时间: |
|
| 查看次数: |
20769 次 |
| 最近记录: |