您在使用Logtail採集日誌時,您可以使用processor_filter_regex外掛程式或processor_filter_key_regex外掛程式過濾日誌。本文介紹各個外掛程式的參數說明和配置樣本。
使用限制
文本日誌和容器標準輸出只支援表單配置方式,其餘輸入外掛程式只支援JSON配置方式。
功能入口
當您需要使用Logtail外掛程式處理日誌時,您可以在建立或修改Logtail採集配置時,添加外掛程式配置。具體操作,請參見處理外掛程式概述。
processor_filter_regex
通過Regex匹配日誌欄位的值,從而實現日誌過濾。
表單配置方式
參數說明
配置處理器類型為正則過濾日誌(匹配日誌欄位的值),相關參數說明如下表所示。
說明日誌欄位的值完全符合採集日誌中的Regex,且不匹配丟棄日誌中的Regex時,日誌才會被採集,否則直接丟棄。
參數
說明
採集日誌
輸入日誌欄位名和該欄位值匹配的Regex。如果原始日誌中的目標欄位值符合對應的Regex,則採集該日誌。
支援添加多個索引值對,索引值對之間為與關係。
丟棄日誌
輸入日誌欄位和該欄位值匹配的Regex。如果日誌中任意一個欄位的值符合對應的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欄位的值匹配丟棄日誌中的Regex。
日誌2
採集
符合條件。
日誌3
不採集
ip欄位的值不匹配採集日誌中的Regex。
JSON配置方式
參數說明
配置type為processor_filter_regex,detail說明如下表所示。
說明日誌欄位的值完全符合Include中的Regex,且不匹配Exclude中的Regex時,日誌才會被採集,否則直接丟棄。
參數
類型
是否必選
說明
Include
JSON Object
否
Key為日誌欄位,Value為該欄位值匹配的Regex。索引值對之間為與關係。如果日誌欄位的值符合對應的Regex,則採集該日誌。
Exclude
JSON Object
否
Key為日誌欄位,Value為該欄位值匹配的Regex。索引值對之間為或關係。如果日誌中任意一個欄位的值符合對應的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外掛程式處理配置
{ "type" : "processor_filter_regex", "detail" : { "Include" : { "ip" : "10\..*", "method" : "POST" }, "Exclude" : { "browser" : "aliyun.*" } } }
處理結果
日誌
是否採集
原因
日誌1
不採集
browser欄位的值匹配Exclude中的Regex。
日誌2
採集
符合條件。
日誌3
不採集
ip欄位的值不匹配Include中的Regex。
processor_filter_key_regex
通過Regex匹配日誌欄位名稱,從而實現日誌過濾。
表單配置方式
參數說明
配置處理器類型為正則過濾日誌(匹配日誌欄位名),相關參數說明如下表所示。
說明存在日誌欄位名稱完全符合採集日誌中的Regex,且不匹配丟棄日誌中的Regex時,日誌才會被採集,否則直接丟棄。
參數
說明
採集日誌
設定為日誌欄位的Regex,欄位之間為與關係。如果日誌欄位符合對應的Regex,則採集該日誌。
丟棄日誌
設定為日誌欄位的Regex,欄位之間為或關係。如果日誌中任意一個欄位符合對應的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欄位符合採集日誌中的Regex。
日誌2
採集
request_time欄位和request_length欄位符合採集日誌中的Regex。
日誌3
不採集
日誌中沒有符合採集日誌中的Regex的欄位。
JSON配置方式
參數說明
配置type為processor_filter_key_regex,detail說明如下表所示。
說明存在日誌欄位名稱完全符合Include中的Regex,且不匹配Exclude中的Regex時,日誌才會被採集,否則直接丟棄。
參數
類型
是否必選
說明
Include
string[]
否
設定為日誌欄位的Regex,欄位之間為與關係。如果日誌欄位符合對應的Regex,則採集該日誌。
Exclude
string[]
否
設定為日誌欄位的Regex,欄位之間為或關係。如果日誌中任意一個欄位符合對應的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外掛程式處理配置
{ "type" : "processor_filter_key_regex", "detail" : { "Include" : [ "request.*" ] } }
處理結果
日誌
是否採集
原因
日誌1
採集
request_time欄位、request_length欄位和request_method欄位符合Include中的Regex。
日誌2
採集
request_time欄位和request_length欄位符合Include中的Regex。
日誌3
不採集
日誌中沒有符合Include中的Regex的欄位。