変換プロセッサ:
変換プロセッサは、フィールドを追加、コピー、移動、または削除することで、ログイベントの構造を変更します。
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 という名前のルックアップテーブルと仮定します。
| 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>" }