字符串操作处理器
字符串处理器通过大小写转换、修剪和模式匹配等操作修改日志事件中的文本值。
lowercase_string 处理器
将指定字段转换为小写。
配置
使用以下参数配置 lowercase_string 处理器:
processor: - lowercase_string: with_keys: ["status", "method"]
Parameters
with_keys(必需)-
要转换为小写的字段名称数组。仅处理字符串值。
uppercase_string 处理器
将指定字段转换为大写。
配置
使用以下参数配置 uppercase_string 处理器:
processor: - uppercase_string: with_keys: ["status_code", "method"]
Parameters
with_keys(必需)-
要转换为大写的字段名称数组。仅处理字符串值。
trim_string 处理器
从指定字段中移除前导和尾随空格。
配置
使用以下参数配置 trim_string 处理器:
processor: - trim_string: with_keys: ["message", "user_input"]
Parameters
with_keys(必需)-
要从中修剪空格的字段名称数组。仅处理字符串值。
substitute_string 处理器
使用正则表达式执行字符串替换。
配置
使用以下参数配置 subte_string 处理器:
processor: - substitute_string: entries: - source: "message" from: "ERROR" to: "WARN"
Parameters
entries(必需)-
要对每个日志事件执行的替换操作数组。
entries[].source(必需)-
要对其执行字符串替换的字段。
entries[].from(必需)-
要匹配和替换的正则表达式模式。
entries[].to(必需)-
匹配模式的替换字符串。
truncate 处理器
将字段值截断为指定长度。
配置
使用以下参数配置 truncate 处理器:
processor: - truncate: source_keys: ["message", "description"] length: 100 start_at: 0
Parameters
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"
Parameters
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"
Parameters
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"
Parameters
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}"
Parameters
map(必需)-
使用剖析模式进行字段映射。
list_to_map 处理器
将数组字段转换为映射结构。
配置
使用以下参数配置 list_to_map 处理器:
processor: - list_to_map: source: "tags" key: "name" value_key: "value" target: "tag_map"
Parameters
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
Parameters
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"]
Parameters
include_keys(必需)-
要保留的字段名称数组。最多 50 个键,每个键最多可包含 128 个字符。
translate 处理器
使用查找表转换字段值。
配置
使用以下参数配置 translate 处理器:
processor: - translate: mappings: - source: "status_code" targets: - target: "status_text" map: "200": "OK" "404": "Not Found"
Parameters
mappings(必需)-
翻译配置数组。最多 10 个映射。
mappings[].source(必需)-
要翻译的字段。最多 128 个字符。
mappings[].targets(必需)-
目标配置数组。最多 10 个目标。
mappings[].targets[].target(必需)-
目标字段名称。最多 128 个字符。
mappings[].targets[].map(必需)-
翻译映射。最多 100 个条目,每个条目最多可包含 512 个字符。