(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【fluetnd】record_transformerで不要な項目をJSON構造で削除する

スポンサーリンク

やりたいこと

forward定義が入ったfluentdにて送付する対象から特定の項目を排除する。

環境情報
# fluentd --version
fluentd 1.3.3

やり方

fillteの中にremove_keysで項目を指定する。尚、JSON形式におけるネスト構造は$.A.Bのように記載して抽出する。

<filter **>
  @type record_transformer
   remove_keys docker,$.kubernetes.master_url
</filter>
<match **>
  @type forward
 ...

以下、補足です。

補足

例えばそのまま全量のログを送った場合に以下のような形式だった場合

{
	"time": "XX",
	"docker": {
		"container_id": "X"
	},
	"kubernetes": {
		"namespace_name": "XX",
		"pod_name": "XX",
		"master_url": "https://XX:443/api",
	},
	"message": "XX INFO XX",
}

以下のように記載することで

remove_keys docker,$.kubernetes.master_url

受信する側に届く際には

{
	"time": "XX",
	"kubernetes": {
		"namespace_name": "XX",
		"pod_name": "XX",
	},
	"message": "XX INFO XX",
}

と削除された状態となります。

以上です。