Pushgateway 的分组键和标签是不同的物件

由于两次陷入困境,因此我做了记录。

在创建Pushgateway指标时

$ echo 'testmetric 1' | curl --data-binary @- localhost:9091/metrics/job/testjob

假设如下

testmetric{instance="",job="testjob"} 1

当获取到这样的指标时,
希望给予 key 为 “labelvalue” 的标签时,

$ echo 'testmetric 1' | curl --data-binary @- localhost:9091/metrics/job/testjob/labelkey/labelvalue

或者,

$ echo 'testmetric{labelkey="labelvalue"} 1' | curl --data-binary @- localhost:9091/metrics/job/testjob

如果这样的话 dehuà)

testmetric{instance="",job="testjob",labelkey="labelvalue"} 1

可以得到这种形式的度量指标
而这两者的区别是

前者如job=testjob,labelkey=labelvalue的度量标准被分组,
后者如job=testjob被分组。

这个差别是什么差别呢?

$ echo 'testmetric 1' | curl --data-binary @- localhost:9091/metrics/job/testjob/labelkey/labelvalue1
$ echo 'testmetric 1' | curl --data-binary @- localhost:9091/metrics/job/testjob/labelkey/labelvalue2

当条件为真时,由于labelkey=labelvalue1和labelkey=labelvalue2属于不同的组,所以它们都会保留下来。

$ echo 'testmetric{labelkey="labelvalue1"} 1' | curl --data-binary @- localhost:9091/metrics/job/testjob
$ echo 'testmetric{labelkey="labelvalue2"} 1' | curl --data-binary @- localhost:9091/metrics/job/testjob

假设这样,由于群组两方面都是job=testjob,因此labelvalue1被覆盖,只剩下labelvalue2的指标。

另外,如果要删除指标,

$ curl -XDELETE localhost:9091/metrics/job/testjob

如果您想要删除job=testjob的组的指标,只需使用此命令。而不会删除job=testjob,labelkey=labelvalue的指标。

$ curl -XDELETE localhost:9091/metrics/job/testjob/labelkey/labelvalue

需要根据数值是否发生变化,选择覆盖或者使用不同的度量标准。

第三次機會是不會有的

bannerAds