如何根据一个标签值进行聚合,但保留其他标签值?

7 prometheus promql

我想根据一个标签获取指标的最小值,但保留其他标签,以便稍后提取它们。

假设我有这些指标:

Metric{label1="1",label2="2"}  0
Metric{label1="1",label2="3"}  1
Metric{label1="2",label2="2"}  10
Metric{label1="2",label2="3"}  100
Run Code Online (Sandbox Code Playgroud)

如果我做

min(Metric)by(label1) 
Run Code Online (Sandbox Code Playgroud)

我得到正确的结果:

{label1="1"} 0
{label1="2"}  10
Run Code Online (Sandbox Code Playgroud)

但我丢失了 label2,我想稍后提取它。

有没有办法通过 label1 进行最小化,同时仍然在结果中保留 label2 ?

我希望聚合的输出是:

Metric{label1="1",label2="2"}  0
Metric{label1="2",label2="2"}  10
Run Code Online (Sandbox Code Playgroud)

bri*_*zil 9

我想你想要bottomk by(label1)(1, Metric)