您在使用Logtail采集日志時,您可以使用processor_filter_regex插件或processor_filter_key_regex插件過濾日志。本文介紹各個插件的參數說明和配置示例。
使用限制
文本日志和容器標準輸出只支持表單配置方式,其余輸入插件只支持JSON配置方式。
功能入口
當您需要使用Logtail插件處理日志時,您可以在創建或修改Logtail采集配置時,添加插件配置。具體操作,請參見處理插件概述。
processor_filter_regex
通過正則表達式匹配日志字段的值,從而實現日志過濾。
表單配置方式
參數說明
配置處理器類型為正則過濾日志(匹配日志字段的值),相關參數說明如下表所示。
說明日志字段的值完全匹配采集日志中的正則表達式,且不匹配丟棄日志中的正則表達式時,日志才會被采集,否則直接丟棄。
參數
說明
采集日志
輸入日志字段名和該字段值匹配的正則表達式。如果原始日志中的目標字段值符合對應的正則表達式,則采集該日志。
支持添加多個鍵值對,鍵值對之間為與關系。
丟棄日志
輸入日志字段和該字段值匹配的正則表達式。如果日志中任意一個字段的值符合對應的正則表達式,則丟棄該日志。
支持添加多個鍵值對,鍵值對之間為或關系。
配置示例
只采集ip以10開頭、method為POST且browser不為aliyun.*的日志,配置示例如下:
原始日志
日志1
"ip" : "10.**.**.**" "method" : "POST" "browser" : "aliyun-sdk-java"
日志2
"ip" : "10.**.**.**" "method" : "POST" "browser" : "chrome"
日志3
"ip" : "192.168.*.*" "method" : "POST" "browser" : "ali-sls-ilogtail"
Logtail插件處理配置
處理結果
日志
是否采集
原因
日志1
不采集
browser字段的值匹配丟棄日志中的正則表達式。
日志2
采集
符合條件。
日志3
不采集
ip字段的值不匹配采集日志中的正則表達式。
JSON配置方式
參數說明
配置type為processor_filter_regex,detail說明如下表所示。
說明日志字段的值完全匹配Include中的正則表達式,且不匹配Exclude中的正則表達式時,日志才會被采集,否則直接丟棄。
參數
類型
是否必選
說明
Include
JSON Object
否
Key為日志字段,Value為該字段值匹配的正則表達式。鍵值對之間為與關系。如果日志字段的值符合對應的正則表達式,則采集該日志。
Exclude
JSON Object
否
Key為日志字段,Value為該字段值匹配的正則表達式。鍵值對之間為或關系。如果日志中任意一個字段的值符合對應的正則表達式,則丟棄該日志。
配置示例
只采集ip以10開頭、method為POST且browser不為aliyun.*的日志,配置示例如下:
原始日志
日志1
"ip" : "10.**.**.**" "method" : "POST" "browser" : "aliyun-sdk-java"
日志2
"ip" : "10.**.**.**" "method" : "POST" "browser" : "chrome"
日志3
"ip" : "192.168.*.*" "method" : "POST" "browser" : "ali-sls-ilogtail"
Logtail插件處理配置
{ "type" : "processor_filter_regex", "detail" : { "Include" : { "ip" : "10\..*", "method" : "POST" }, "Exclude" : { "browser" : "aliyun.*" } } }
處理結果
日志
是否采集
原因
日志1
不采集
browser字段的值匹配Exclude中的正則表達式。
日志2
采集
符合條件。
日志3
不采集
ip字段的值不匹配Include中的正則表達式。
processor_filter_key_regex
通過正則表達式匹配日志字段名稱,從而實現日志過濾。
表單配置方式
參數說明
配置處理器類型為正則過濾日志(匹配日志字段名),相關參數說明如下表所示。
說明存在日志字段名稱完全匹配采集日志中的正則表達式,且不匹配丟棄日志中的正則表達式時,日志才會被采集,否則直接丟棄。
參數
說明
采集日志
設置為日志字段的正則表達式,字段之間為與關系。如果日志字段符合對應的正則表達式,則采集該日志。
丟棄日志
設置為日志字段的正則表達式,字段之間為或關系。如果日志中任意一個字段符合對應的正則表達式,則丟棄該日志。
配置示例
采集包含字段名是以request開頭的日志,配置示例如下:
原始日志
日志1
"request_time" : 20 "request_length": 2314 "request_method" : "POST" "browser" : "aliyun-sdk-java"
日志2
"request_time" : 70 "request_method" : "GET" "ip" : "192.168.**.**"
日志3
"browser" : "ali-sls-ilogtail" "status" : 200
Logtail插件處理配置
處理結果
日志
是否采集
原因
日志1
采集
request_time字段、request_length字段和request_method字段符合采集日志中的正則表達式。
日志2
采集
request_time字段和request_length字段符合采集日志中的正則表達式。
日志3
不采集
日志中沒有符合采集日志中的正則表達式的字段。
JSON配置方式
參數說明
配置type為processor_filter_key_regex,detail說明如下表所示。
說明存在日志字段名稱完全匹配Include中的正則表達式,且不匹配Exclude中的正則表達式時,日志才會被采集,否則直接丟棄。
參數
類型
是否必選
說明
Include
string[]
否
設置為日志字段的正則表達式,字段之間為與關系。如果日志字段符合對應的正則表達式,則采集該日志。
Exclude
string[]
否
設置為日志字段的正則表達式,字段之間為或關系。如果日志中任意一個字段符合對應的正則表達式,則丟棄該日志。
配置示例
采集包含字段名是以request開頭的日志,配置示例如下:
原始日志
日志1
"request_time" : 20 "request_length": 2314 "request_method" : "POST" "browser" : "aliyun-sdk-java"
日志2
"request_time" : 70 "request_method" : "GET" "ip" : "192.168.**.**"
日志3
"browser" : "ali-sls-ilogtail" "status" : 200
Logtail插件處理配置
{ "type" : "processor_filter_key_regex", "detail" : { "Include" : [ "request.*" ] } }
處理結果
日志
是否采集
原因
日志1
采集
request_time字段、request_length字段和request_method字段符合Include中的正則表達式。
日志2
采集
request_time字段和request_length字段符合Include中的正則表達式。
日志3
不采集
日志中沒有符合Include中的正則表達式的字段。