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
需要根据数值是否发生变化,选择覆盖或者使用不同的度量标准。
第三次機會是不會有的