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

PrometheusOperatorのServiceMonitorでrelabelingすると「relabel configuration for replace action requires 'target_label' value"」と怒られる

この記事は?

タイトル通りです。
PrometheusOperatorのServiceMonitorを書いているときに、「relabel configuration for replace action requires 'target_label' value"」と怒られるときの話です。

症状

ServiceMonitorの設定のrelabelingを変更し、PrometheusのPodを再起動したが起動してこないとき、ログを見ると以下のような記載があります。

level=info ts=2019-06-07T05:27:07.605342963Z caller=notifier.go:521 component=notifier msg="Stopping notification manager..."
level=info ts=2019-06-07T05:27:07.605372036Z caller=main.go:679 msg="Notifier manager stopped"
level=error ts=2019-06-07T05:27:07.605757827Z caller=main.go:688 err="error loading config from \"/etc/prometheus/config_out/prometheus.env.yaml\": couldn't load configuration (--config.file=\"/etc/prometheus/config_out/prometheus.env.yaml\"): parsing YAML file /etc/prometheus/config_out/prometheus.env.yaml: relabel configuration for replace action requires 'target_label' value"

これ

relabel configuration for replace action requires 'target_label' value"

一見、action: replaceは使っていないのになぜ???となります。

原因

target_labelもしくはsource_labelと定義している。

Prometheus PrometheusOperator
target_label targetLabel
source_label sourceLabel

多くは、prometheus.ymlの内容をそのままコピーしてきたときに発生します。PrometheusOperatorでは上記のようなアンダースコア付きのsnake_caseではなく、単語の先頭を大文字にするCamelCaseを利用します。これは、Kubernetsのベストプラクティスに準拠するためにこのような仕様になっています。
該当のIssueもありました。
https://github.com/coreos/prometheus-operator/issues/2503

終わりに

これに1時間近く時間を使ってしまったので、次の被害者を出さないために書きました。
これ統一してほしいんですよね…。

Kameneko
さくらインターネットという会社でエバンジェリストをやっています。最近はKubernetesとかPrometheusとかを触っているので、そのへんの記事をドシドシ載せていきたい気持ち。 あとは、FreeNASというOSSも触っているので同じく。
sakura_internet
さくらレンタルサーバ、さくらのVPS、 さくらのクラウド、さくらの専用サーバなどのインターネットサービス・ITプラットフォームを提供しています。
https://www.sakura.ad.jp/
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
ユーザーは見つかりませんでした