LoginSignup
31
20

More than 5 years have passed since last update.

Prometheusのrelabel config例

Last updated at Posted at 2017-07-01

Prometheusのrelabel configの挙動がドキュメントからだと良くわからなかったのと、すぐ忘れそうなので実際に試してみた結果をざっとメモっておく。

1. scrape結果に含まれるlabelは弄くれない模様

例えばnode_exporterが公開しているメトリクスにnode_cpuというメトリクスがあり、このメトリクスにはcpuというラベルがあるがこれをrelabel configで弄るのは不可能だった。

2. action=replace

source_labelsで指定したラベルの値をseparatorでjoinした結果に対してregexの正規表現でマッチした結果をreplacementで置き換えて、target_labelにセットする。

設定例

relabel_configs:
  - source_labels: [__address__, __metrics_path__]
    separator: ;
    target_label: relabel
    regex: ([^:]+):(\d+);\/(.*)
    replacement: ${1}_${2}_${3}

__address__localhost:9100__metrics__path__/metricsの場合、relabelの値としてlocalhost_9100_metricsがセットされる。  
また、target_labelでregexのマッチ結果の後方参照値をラベル名にセットすることも出来る。

target_label: relabel_${2}

とセットするとラベル名がrelabel_9100になる。

3. action=keep

source_labelsで指定したラベルの値をseparatorでjoinした結果に対してregexの正規表現でマッチした結果のみを残し、マッチしないケースを除外する。

設定例

relabel_configs:
  - source_labels: [__address__, __metrics_path__]
    separator: ;
    regex: localhost:\d+;\/.*
    action: keep

上記の場合__address__localhostとそれ以外の値が設定される場合はlocalhost以外は除外される。

4 action=drop

action=keepのケースと逆にregexにマッチする項目を除外して、マッチしない項目を残す。3の例でaction=dropに変更すると__address__localhostのもののみが除外される。

5 action=hashmod

source_labelsseparatorでjoinした結果のハッシュ値をmodulusで指定された値でmodした結果をtarbet_labelにセットする模様。

6 action=labelmap

regexの正規表現にマッチするラベル名をreplacementで置き換える。

設定例

relabel_configs:
  - regex: __(address|metrics_path)__
    replacement: ${1}_relabel
    action: labelmap

上記の例だとaddress_relabelmetrics_path_relabelというラベルが追加される。値はそれぞれ__address____metrics_path__のそれ。

7. action=labeldrop

regexでマッチしたラベルを削除する。

設定例

relabel_configs:
  - regex: job
    action: labeldrop

上記の例ではjobラベルを削除する。

8. action=labelkeep

action=labeldropの逆で、regexでマッチしたラベルのみを残す。7の例でaction: labelkeepにするとjobラベル以外を削除する。
(但し、実際にこれをやると__scheme____metrics_path__等のラベルが削除されてmetricsが表示されなくなった。)

31
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
31
20