文字列操作プロセッサ - Amazon CloudWatch

文字列操作プロセッサ

文字列プロセッサは、ケース変換、トリミング、パターン一致などの操作を通じて、ログイベント内のテキスト値を変更します。

lowercase_string プロセッサ

指定したフィールドを小文字に変換します。

設定

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

processor: - lowercase_string: with_keys: ["status", "method"]
パラメータ
with_keys (必須)

小文字に変換するフィールド名の配列。文字列値のみを処理します。

uppercase_string プロセッサ

指定したフィールドを大文字に変換します。

設定

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

processor: - uppercase_string: with_keys: ["status_code", "method"]
パラメータ
with_keys (必須)

大文字に変換するフィールド名の配列。文字列値のみを処理します。

trim_string プロセッサ

指定したフィールドから先頭と末尾の空白を削除します。

設定

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

processor: - trim_string: with_keys: ["message", "user_input"]
パラメータ
with_keys (必須)

空白をトリミングするフィールド名の配列。文字列値のみを処理します。

substitute_string プロセッサ

正規表現を使用して文字列の置換を行います。

設定

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

processor: - substitute_string: entries: - source: "message" from: "ERROR" to: "WARN"
パラメータ
entries (必須)

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

entries[].source (必須)

文字列置換を実行するフィールド。

entries[].from (必須)

一致したら置換を行う正規表現パターン。

entries[].to (必須)

一致したパターンの置換文字列。

truncate プロセッサ

フィールド値を指定した長さに切り詰めます。

設定

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

processor: - truncate: source_keys: ["message", "description"] length: 100 start_at: 0
パラメータ
source_keys (必須)

切り詰めるフィールド名の配列。各フィールド名の最大文字数は 128 文字です。

length (オプション)

切り詰め後の最大長。範囲は 1~8192 です。

start_at (オプション)

切り捨ての開始位置。範囲は 0~8192 です。デフォルトは 0 です。

extract_value プロセッサ

正規表現を使用して値を抽出します。

設定

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

processor: - extract_value: entries: - source: "message" target: "extracted_data" from: "user=(?<user>\\w+)" to: "${user}" target_type: "string"
パラメータ
entries (必須)

抽出操作の配列。最大 20 エントリ。

entries[].source (必須)

抽出元のフィールド。最大 128 文字

entries[].target (必須)

抽出された値のターゲットフィールド。最大 128 文字

entries[].from (必須)

正規表現パターン。最大 128 文字

entries[].to (必須)

キャプチャグループを使用した置換パターン。最大 128 文字

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

ターゲットデータ型 (「integer」、「double」、「string」、「boolean」)

convert_entry_type プロセッサ

異なるデータ型間でフィールド値を変換します。

設定

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

processor: - convert_entry_type: key: "count" type: "integer"
パラメータ
key (必須)

変換する単一のフィールド名。

type (必須)

ターゲットデータ型。オプション:「integer」、「double」、「string」、「boolean」

date プロセッサ

日付/時刻フィールドを解析してフォーマットします。

設定

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

processor: - date: match: - key: "timestamp" patterns: ["yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'"] destination: "@timestamp" source_timezone: "UTC" destination_timezone: "America/New_York"
パラメータ
match (必須)

日付一致設定の配列。最大 10 エントリ。

match[].key (必須)

日付文字列を含むフィールド。最大 128 文字

match[].patterns (必須)

試行する日付形式パターンの配列。最大 5 つのパターン、各パターンの最大文字数は 256 文字です。

destination (オプション)

解析されたすべての日付用の単一のターゲットフィールド。最大 128 文字

source_timezone (オプション)

解析用のソースタイムゾーン。

destination_timezone (オプション)

出力用のターゲットタイムゾーン。

output_format (オプション)

出力日付形式。最大 64 文字

destination_type (オプション)

出力タイプ –「timestampz」、「long」、または「string」

dissect プロセッサ

パターン一致を使用して構造化データを抽出します。

設定

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

processor: - dissect: map: message: "%{timestamp} %{level}"
パラメータ
map (必須)

dissect パターンを使用したフィールドマッピング。

list_to_map プロセッサ

配列フィールドをマップ構造に変換します。

設定

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

processor: - list_to_map: source: "tags" key: "name" value_key: "value" target: "tag_map"
パラメータ
source (必須)

配列データを含むフィールド。最大 128 文字

key (必須)

マップキーとして使用するフィールド名。最大 128 文字

value_key (オプション)

マップ値として使用するフィールド名。最大 128 文字

target (オプション)

マップ構造のターゲットフィールド。最大 128 文字

flatten (オプション)

生成されたマップをフラット化するかどうかの選択。

flattened_element (オプション)

フラット化するときに使用する要素 (「first」または「last」)。

rename_keys プロセッサ

ログイベントのフィールドの名前を変更します。

設定

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

processor: - rename_keys: entries: - from_key: "old_name" to_key: "new_name" overwrite_if_to_key_exists: true
パラメータ
entries (必須)

名前変更操作の配列。最大 5 エントリ。

entries[].from_key (必須)

現在のフィールド名。最大 128 文字

entries[].to_key (必須)

新しいフィールド名。最大 128 文字

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

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

select_entries プロセッサ

イベントから指定したフィールドのみを選択します。

設定

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

processor: - select_entries: include_keys: ["timestamp", "level", "message"]
パラメータ
include_keys (必須)

保持するフィールド名の配列。最大 50 個のキー、各キーの最大文字数は 128 文字です。

translate プロセッサ

ルックアップテーブルを使用してフィールド値を翻訳します。

設定

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

processor: - translate: mappings: - source: "status_code" targets: - target: "status_text" map: "200": "OK" "404": "Not Found"
パラメータ
mappings (必須)

翻訳設定の配列。最大 10 個のマッピング。

mappings[].source (必須)

翻訳するフィールド。最大 128 文字

mappings[].targets (必須)

ターゲット設定の配列。最大 10 個のターゲット。

mappings[].targets[].target (必須)

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

mappings[].targets[].map (必須)

翻訳マッピング。最大 100 エントリ、各値の最大文字数は 512 文字。