2017-07-17 171 views
1

如果我有以下標籤的度量:如何在普羅米修斯查詢中對標籤進行分組?

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,結合了「雜項」組在一起嗎?

(我意識到,指標基數有待提高,我已經更新了應用程序來修復它。但是它給我留下了這個問題,因爲如果我想通過以後查詢修復指標)

回答

6

是的,你可以使用標籤替換到組中的所有其它在一起:

sum by (new_group) (
    label_replace(
    label_replace(my_metric, "new_group", "$1", "group", ".+"), 
    "new_group", "misc", "group", "misc group.+" 
) 
) 

內label_replace將複製組中的所有值到new_group,外覆蓋那些匹配以「雜項組+。」 「misc」,然後我們通過「new_group」標籤進行求和。使用新標籤的原因是,如果我們只是覆蓋了「組」標籤,則該系列將不再是唯一的,並且總和不起作用。

+0

難道就沒有可能僅僅做給archieve相同的結果:( 「雜項組+」 label_replace(my_metrics, 「雜項」, 「集團」) ) '由(MISC)和' – Hawky4s

1

您可以使用正則表達式查詢:

my_metric{group=~"misc group.+"} 

這將會給你的一切,其中group開始用「雜項組」。