您在使用Logtail采集日志时,可以使用processor_string_replace插件,实现文本日志的全文替换、正则提取替换或去转义符。本文介绍processor_string_replace插件的参数说明和配置示例。
表单配置方式:采集文本日志和容器标准输出时可用。
JSON配置方式:采集文本日志时不可用。
功能入口
当您需要使用Logtail插件处理日志时,您可以在创建或修改Logtail采集配置时,添加插件配置。具体操作,请参见处理插件概述。
插件配置说明
Logtail 1.6.0及以上版本支持processor_string_replace插件。
表单配置方式
配置处理器类型为字符串替换,相关参数说明如下表所示。
参数 | 说明 |
原始字段 | 原始字段名。 |
匹配方式 | 指定匹配方式。可选值:
|
匹配内容 | 输入匹配的内容。
|
替换内容 | 用于替换的字符串。
|
结果字段 | 为替换后的内容指定新字段。 |
JSON配置方式
配置type
为processor_string_replace
,detail
说明如下表所示。
参数 | 类型 | 是否必选 | 说明 |
| String | 是 | 原始字段名。 |
| String | 是 | 指定匹配方式。可选值:
|
| String | 否 | 输入匹配内容。
|
| String | 否 | 用于替换的字符串,默认值为""。
|
| String | 否 | 为替换后的内容指定新字段,默认不新增字段。 |
配置示例
通过字符串匹配方式进行替换
通过字符串匹配方式进行替换,将content
字段值中的Error:
替换为空字符串。
表单配置方式
原始日志如下:
"content": "2023-05-20 10:01:23 Error: Unable to connect to database."
Logtail插件处理配置:
处理结果:
"content": "2023-05-20 10:01:23 Unable to connect to database."
JSON配置方式
原始日志:
"content": "2023-05-20 10:01:23 Error: Unable to connect to database."
Logtail插件处理配置:
{ "processors":[ { "type":"processor_string_replace", "detail": { "SourceKey": "content", "Method": "const", "Match": "Error: ", "ReplaceString": "" } } ] }
处理结果:
"content": "2023-05-20 10:01:23 Unable to connect to database.",
通过正则表达式方式进行替换
通过正则表达式方式进行替换,将content
字段值中与正则表达式\\u\w+\[\d{1,3};*\d{1,3}m|N/A
匹配的字符串替换为空字符串。
表单配置方式
原始日志:
"content": "2022-09-16 09:03:31.013 \u001b[32mINFO \u001b[0;39m \u001b[34m[TID: N/A]\u001b[0;39m [\u001b[35mThread-30\u001b[0;39m] \u001b[36mc.s.govern.polygonsync.job.BlockTask\u001b[0;39m : 区块采集------结束------\r"
Logtail插件处理配置:
处理结果:
"content": "2022-09-16 09:03:31.013 INFO [TID: ] [Thread-30] c.s.govern.polygonsync.job.BlockTask : 区块采集------结束------\r",
JSON配置方式
原始日志:
"content": "2022-09-16 09:03:31.013 \u001b[32mINFO \u001b[0;39m \u001b[34m[TID: N/A]\u001b[0;39m [\u001b[35mThread-30\u001b[0;39m] \u001b[36mc.s.govern.polygonsync.job.BlockTask\u001b[0;39m : 区块采集------结束------\r"
Logtail插件处理配置:
{ "processors":[ { "type":"processor_string_replace", "detail": { "SourceKey": "content", "Method": "regex", "Match": "\\\\u\\w+\\[\\d{1,3};*\\d{1,3}m|N/A", "ReplaceString": "" } } ] }
处理结果:
"content": "2022-09-16 09:03:31.013 INFO [TID: ] [Thread-30] c.s.govern.polygonsync.job.BlockTask : 区块采集------结束------\r",
通过正则分组方式进行替换
通过正则分组方式进行替换,将content
字段值中的16
替换为*/24
,并输出到新字段new_ip
中。
正则分组替换时,替换内容中不能存在{}
,只能使用$1
、$2
等形式。
表单配置方式
原始日志:
"content": "10.10.239.16"
Logtail插件处理配置:
处理结果:
"content": "10.10.239.16", "new_ip": "10.10.239.*/24",
JSON配置方式
原始日志:
"content": "10.10.239.16"
Logtail插件处理配置:
{ "processors":[ { "type":"processor_string_replace", "detail": { "SourceKey": "content", "Method": "regex", "Match": "(\\d.*\\.)\\d+", "ReplaceString": "$1*/24", "DestKey": "new_ip" } } ] }
处理结果:
"content": "10.10.239.16", "new_ip": "10.10.239.*/24",
删除转义字符
表单配置方式
原始日志:
"content": "{\\x22UNAME\\x22:\\x22\\x22,\\x22GID\\x22:\\x22\\x22,\\x22PAID\\x22:\\x22\\x22,\\x22UUID\\x22:\\x22\\x22,\\x22STARTTIME\\x22:\\x22\\x22,\\x22ENDTIME\\x22:\\x22\\x22,\\x22UID\\x22:\\x222154212790\\x22,\\x22page_num\\x22:1,\\x22page_size\\x22:10}"
Logtail插件处理配置:
处理结果:
"content": "{\"UNAME\":\"\",\"GID\":\"\",\"PAID\":\"\",\"UUID\":\"\",\"STARTTIME\":\"\",\"ENDTIME\":\"\",\"UID\":\"2154212790\",\"page_num\":1,\"page_size\":10}",
JSON配置方式
原始日志:
"content": "{\\x22UNAME\\x22:\\x22\\x22,\\x22GID\\x22:\\x22\\x22,\\x22PAID\\x22:\\x22\\x22,\\x22UUID\\x22:\\x22\\x22,\\x22STARTTIME\\x22:\\x22\\x22,\\x22ENDTIME\\x22:\\x22\\x22,\\x22UID\\x22:\\x222154212790\\x22,\\x22page_num\\x22:1,\\x22page_size\\x22:10}"
Logtail插件处理配置:
{ "processors":[ { "type":"processor_string_replace", "detail": { "SourceKey": "content", "Method": "unquote" } } ] }
处理结果:
"content": "{\"UNAME\":\"\",\"GID\":\"\",\"PAID\":\"\",\"UUID\":\"\",\"STARTTIME\":\"\",\"ENDTIME\":\"\",\"UID\":\"2154212790\",\"page_num\":1,\"page_size\":10}",