使用指标的值作为另一个指标标签的值

Use metric's value as a value of another metric's label

是否可以将某个metric的值作为另一个metric的label值?

假设我有两个指标:metric_ametric_bmetric_a 也有 some_label 标签。我想进行如下查询:

metric_a{some_label=metric_b}

你不能使用那样的指标,但是如果你想指定 metric_ametric_b 共享一个标签值,你可以这样做:

metric_a and on (some_label) metric_b

你可以,尽管这很麻烦:

metric_a and count_values without() ("some_label", metric_b)

count_values 函数实质上是将 some_label 标签添加到您的 metric_b,等于 metric_b 的值。实际值将是 1,但您对此不感兴趣,只是构建正确的标签集来过滤 metric_a by.

此外,您可能需要注意如何体现您的价值。例如。有更多表示值 1 的方法("1""1.0""1e0" 等)并且 count_values 只会产生 "1" 作为输出。