やりたいこと
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", }
と削除された状態となります。
以上です。