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