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>" }

geoip プロセッサ

geoip プロセッサは、IP アドレスに基づく地理的位置データでログイベントを強化します。プロセッサは MaxMind データベースを使用して、IP アドレスを都市、国、大陸、座標、AS 番号 (ASN) の詳細などの地理的情報に分解します。このプロセッサは、ネットワークトラフィック分析、ユーザーロケーションエンリッチメント、セキュリティ調査のシナリオに使用します。

設定

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

processor: - geoip: entries: - source: "client_ip" target: "client_geo" include_fields: - "city_name" - "country_name" - "country_iso_code" - "continent_name" - "latitude" - "longitude" when: '.client_ip != "127.0.0.1"'
パラメータ
entries (必須)

地理的データで強化する IP フィールドを定義するエントリオブジェクトの配列。最小 1、最大 10 のエントリを使用できます。

entries[].source (必須)

検索する IP アドレスが含まれているログイベントのフィールド名。有効な IPv4 アドレスまたは IPv6 アドレスを引用する必要があります。最大 128 文字

entries[].target (必須)

プロセッサがログイベントに地理的エンリッチメントデータを書き込むフィールドの名前。最大 128 文字

entries[].include_fields (必須)

エンリッチメント結果に含める地理的フィールドの配列。フィールド数は最小 1、最大 12。以下のフィールドが利用できます。

  • continent_code – 2 文字の大陸コード (「NA」など)。

  • continent_name – 大陸名 (「北米」など)。

  • country_name – 国名 (「米国」など)。

  • country_iso_code – ISO 3166-1 alpha-2 国コード (「US」など)。

  • city_name – 都市名 (「シアトル」など)。

  • postal_code – IP アドレスの場所に関連付けられた郵便番号。

  • time_zone – IANA タイムゾーン名 (「America/Los_Angeles」など)。

  • latitude – IP アドレスの場所の緯度座標。

  • longitude – IP アドレスの場所の経度座標。

  • network – IP アドレスに関連付けられたネットワークの CIDR 表記。

  • asn – IP アドレスに関連付けられた自律システム番号。

  • asn_organization – 自律システム番号に関連付けられた組織名。

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

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

when (オプション)

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

次の例は、IP アドレスフィールドを含むサンプルログイベントを示しています。

{ "timestamp": "2026-05-04T12:00:00Z", "src_ip": "203.0.113.50", "dst_ip": "198.51.100.25", "action": "ALLOW", "bytes": 4096 }

次のプロセッサ設定は、送信元 IP フィールドと送信先 IP フィールドの両方を地理的エンリッチメントターゲットにマッピングします。

processor: - geoip: entries: - source: "src_ip" target: "src_geo" include_fields: - "city_name" - "country_name" - "country_iso_code" - "latitude" - "longitude" - "asn" - "asn_organization" - source: "dst_ip" target: "dst_geo" include_fields: - "country_name" - "country_iso_code"

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

{ "timestamp": "2026-05-04T12:00:00Z", "src_ip": "203.0.113.50", "dst_ip": "198.51.100.25", "action": "ALLOW", "bytes": 4096, "src_geo": { "city_name": "Seattle", "country_name": "United States", "country_iso_code": "US", "latitude": 47.6062, "longitude": -122.3321, "asn": 16509, "asn_organization": "Amazon.com, Inc." }, "dst_geo": { "country_name": "Germany", "country_iso_code": "DE" } }