View a markdown version of this page

変換プロセッサ: - Amazon CloudWatch

変換プロセッサ:

変換プロセッサは、フィールドを追加、コピー、移動、または削除することで、ログイベントの構造を変更します。

add_entries プロセッサ

静的なキーと値のペアをログイベントに追加します。パイプラインに追加できる add_entries プロセッサは、1つのみです。

設定

次のパラメータを使用して add_entries プロセッサを設定します。

processor: - add_entries: entries: - key: "environment" value: "production" overwrite_if_key_exists: false
パラメータ
entries (必須)

各ログイベントに追加するキーと値のペアの配列。

entries[].key (必須)

ログイベントに追加するフィールド名。ドット表記を使用してネストされたフィールドをサポートします。

entries[].value (必須)

キーに割り当てる静的値。

entries[].overwrite_if_key_exists (オプション)

キーが既に存在する場合の動作を決定するブールフラグ。デフォルトは false です。

when (オプション)

プロセッサレベルの条件式。指定すると、式が false と評価された場合、プロセッサ全体がスキップされます。最大長は 256 文字です。「条件付き処理の式構文」を参照してください。

entries[].when (オプション)

エントリレベルの条件式。指定すると、式が false と評価された場合、このエントリのみがスキップされます。最大長は 256 文字です。「条件付き処理の式構文」を参照してください。

entries[].when_else (オプション)

同じプロセッサ内の他の when 条件のいずれも一致しない場合にのみ実行されるフォールバックエントリ。式値は、どの when 条件を考慮するかを識別します。最大長は 256 文字です。「条件付き処理の式構文」を参照してください。

copy_values プロセッサ

フィールド間で値をコピーします。パイプラインに追加できる copy_values プロセッサは、1つのみです。

設定

次のパラメータを使用して copy_values プロセッサを設定します。

processor: - copy_values: entries: - from_key: "user_id" to_key: "backup_user" overwrite_if_to_key_exists: false
パラメータ
entries (必須)

各ログイベントに対して実行するコピー操作の配列。

entries[].from_key (必須)

値のコピー元のフィールド名。ネストされたフィールドにドット表記を使用します。

entries[].to_key (必須)

値のコピー先のフィールド名。ドット表記を使用する場合は、ネストされた構造を作成します。

entries[].overwrite_if_to_key_exists (オプション)

ターゲットフィールドが既に存在する場合の動作を制御するブールフラグ。デフォルトは false です。

when (オプション)

プロセッサレベルの条件式。指定すると、式が false と評価された場合、プロセッサ全体がスキップされます。最大長は 256 文字です。「条件付き処理の式構文」を参照してください。

entries[].when (オプション)

エントリレベルの条件式。指定すると、式が false と評価された場合、このエントリのみがスキップされます。最大長は 256 文字です。「条件付き処理の式構文」を参照してください。

entries[].when_else (オプション)

同じプロセッサ内の他の when 条件のいずれも一致しない場合にのみ実行されるフォールバックエントリ。式値は、どの when 条件を考慮するかを識別します。最大長は 256 文字です。「条件付き処理の式構文」を参照してください。

delete_entries プロセッサ

指定したフィールドをログイベントから削除します。

設定

次のパラメータを使用して delete_entries プロセッサを設定します。

processor: - delete_entries: with_keys: ["temp_field", "debug_info"]
パラメータ
with_keys (必須)

各ログイベントから削除するフィールド名の配列。ドット表記を使用したネストされたフィールドの削除をサポートします。

when (オプション)

このプロセッサを実行するかどうかを決定する条件式。最大長は 256 文字です。「条件付き処理の式構文」を参照してください。

move_keys プロセッサ

フィールドをロケーション間で移動します。

設定

次のパラメータを使用して move_keys プロセッサを設定します。

processor: - move_keys: entries: - from_key: "old_field" to_key: "new_field" overwrite_if_to_key_exists: true
パラメータ
entries (必須)

移動操作の配列。最大 5 エントリ。

entries[].from_key (必須)

ソースフィールド名。最大 128 文字

entries[].to_key (必須)

ターゲットフィールド名。最大 128 文字

entries[].overwrite_if_to_key_exists (オプション)

既存のターゲットフィールドを上書きするかどうかの選択。

when (オプション)

プロセッサレベルの条件式。指定すると、式が false と評価された場合、プロセッサ全体がスキップされます。最大長は 256 文字です。「条件付き処理の式構文」を参照してください。

entries[].when (オプション)

エントリレベルの条件式。指定すると、式が false と評価された場合、このエントリのみがスキップされます。最大長は 256 文字です。「条件付き処理の式構文」を参照してください。

entries[].when_else (オプション)

同じプロセッサ内の他の when 条件のいずれも一致しない場合にのみ実行されるフォールバックエントリ。式値は、どの when 条件を考慮するかを識別します。最大長は 256 文字です。「条件付き処理の式構文」を参照してください。

flatten プロセッサ

ネストされたオブジェクト構造をフラット化します。

設定

次のパラメータを使用して flatten プロセッサを設定します。

processor: - flatten: source: "metadata" target: "flattened" remove_processed_fields: true exclude_keys: ["sensitive_data"]
パラメータ
source (必須)

フラット化するネストされたオブジェクトを含むフィールド。

target (必須)

フラット化されたキーのターゲットフィールドプレフィックス。

remove_processed_fields (オプション)

フラット化後に元のネストされたフィールドを削除するかどうかの選択。

exclude_keys (オプション)

フラット化から除外するキーの配列。最大 20 個のキー、各キーの最大文字数は 128 文字です。

when (オプション)

このプロセッサを実行するかどうかを決定する条件式。最大長は 256 文字です。「条件付き処理の式構文」を参照してください。

lookup プロセッサ

CloudWatch Logs ルックアップテーブルのデータを使用してログイベントを強化します。プロセッサは、ログイベントのフィールドをルックアップテーブルのフィールドと照合し、指定されたフィールドをログイベントに追加します。このプロセッサは、ユーザー ID をユーザーの詳細にマッピングする、製品コードを製品情報にマッピングする、エラーコードをエラーの説明にマッピングするといった、データエンリッチメントのシナリオで使用します。パイプラインに追加できる lookup プロセッサは、1つのみです。

注記

パイプラインでルックアップテーブルを使用する場合は、テーブルに対する logs:GetLookupTable アクセス許可を持つ実行ロールを指定する必要があります。詳細については、「CloudWatch パイプラインの IAM ポリシーとアクセス許可」を参照してください。

設定

次のパラメータを使用して lookup プロセッサを設定します。

processor: - lookup: lookup_table: "arn:aws:logs:us-east-1:123456789012:lookup-table:my_lookup_table" match_keys: - log_key: "src_ip" lookup_key: "ip_address" entries: - source: "hostname" target: "src_hostname" overwrite_if_exists: true
パラメータ
lookup_table (必須)

エンリッチメントに使用する CloudWatch Logs ルックアップテーブルの ARN。最大長は 2048 文字です。

match_keys (必須)

ログイベントフィールドをルックアップテーブルフィールドと照合する方法を定義するキーペアの配列。最小 1、最大 5 のマッチキーを指定できます。複数のマッチキーを指定する場合、結果を生成するには、ルックアップテーブルの行がすべてのキーと一致する必要があります (AND ロジック)。

match_keys[].log_key (必須)

照合するログイベントのフィールド名。最大 128 文字

match_keys[].lookup_key (必須)

照合するルックアップテーブルの列名。最大 128 文字

entries (必須)

一致したルックアップテーブルの行からログイベントに追加するフィールドの配列。最小 1、最大 10 のエントリを使用できます。

entries[].source (必須)

値を取得するルックアップテーブルの列名。最大 128 文字

entries[].target (オプション)

ログイベントに追加するフィールド名。指定しない場合、source 列名はフィールド名として使用されます。最大 128 文字

entries[].overwrite_if_exists (オプション)

ログイベントにターゲットフィールドが既に存在する場合の動作を決定するブールフラグ。デフォルトは false です。

when (オプション)

このプロセッサを実行するかどうかを決定する条件式。最大長は 256 文字です。「条件付き処理の式構文」を参照してください。

以下の行を含む network_assets という名前のルックアップテーブルと仮定します。

network_assets ルックアップテーブル
ip_address hostname owner (オーナー) location
10.0.1.12 web-server-01 team-alpha us-east-1
10.0.2.45 db-server-03 team-beta us-west-2
10.0.3.78 cache-node-07 team-alpha eu-west-1

次のログイベントが存在し、

{ "timestamp": "2026-05-04T12:00:00Z", "src_ip": "10.0.2.45", "action": "connection_opened", "bytes": 2048 }

次のプロセッサ設定を使用しているとします。

processor: - lookup: lookup_table: "arn:aws:logs:us-east-1:123456789012:lookup-table:network_assets" match_keys: - log_key: "src_ip" lookup_key: "ip_address" entries: - source: "hostname" target: "src_hostname" - source: "owner" - source: "location" target: "src_region" overwrite_if_exists: false

プロセッサは、次の強化されたログイベントを生成します。

{ "timestamp": "2026-05-04T12:00:00Z", "src_ip": "10.0.2.45", "action": "connection_opened", "bytes": 2048, "src_hostname": "db-server-03", "owner": "team-beta", "src_region": "us-west-2" }
IAM アクセス許可

パイプラインで lookup プロセッサを使用する場合、そのパイプラインの実行ロールには、参照されるテーブルに対する logs:GetLookupTable 権限を含める必要があります。次のポリシーステートメントの例では、この権限が付与されています。

{ "Effect": "Allow", "Action": "logs:GetLookupTable", "Resource": "arn:aws:logs:<region>:<account-id>:lookup-table:<table-name>" }