Help us understand the problem. What is going on with this article?

pushgatewayのgrouping keyとlabelは別物

More than 1 year has passed since last update.

2回ハマったのでメモる

https://github.com/prometheus/pushgateway

pushgatewayにメトリクスを作る時

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

とすると

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

このようなメトリクスが得られ、
labelkey="labelvalue"のlabelを付けたい時は

$ 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

とすれば

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=labelvalue1labelkey=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のメトリクスは削除されません。
job=testjob,labelkey=labelvalueのメトリクスを削除したいなら

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

とする必要があります。
値が変わる時に上書きしたいか別のメトリクスにしたいかで使い分けることができるんですね。

3度目はないぞ

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした