字符串操作处理器 - Amazon CloudWatch

字符串操作处理器

字符串处理器通过大小写转换、修剪和模式匹配等操作修改日志事件中的文本值。

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 个字符。