資料過濾類外掛程式用於根據條件過濾日誌,根據過濾結果選擇是否採集該日誌記錄。
資料過濾外掛程式概覽
Log Service提供以下多種類型的資料過濾外掛程式,請按需要進行選擇。
|
外掛程式名稱 |
類型 |
功能說明 |
|
過濾處理 |
原生 |
通過設定“白名單”Regex,僅採集欄位值完全符合指定正則條件的日誌。 |
|
過濾日誌 |
拓展 |
支援兩種過濾模式:
|
功能入口
當您需要使用Logtail外掛程式處理日誌時,您可以在建立或修改Logtail配置時,添加外掛程式。具體操作,請參見原生與拓展處理外掛程式使用說明。
原生外掛程式與拓展外掛程式的區別
原生外掛程式:C++實現,效能更強。
拓展外掛程式:Go實現,生態豐富且靈活,當業務日誌過於複雜,無法使用原生外掛程式處理時,可以考慮使用拓展外掛程式。
-
拓展外掛程式效能限制
-
日誌採集限制
-
拓展外掛程式對文本日誌的處理採用行模式,即檔案層級的中繼資料(例如
__tag__:__path__、__topic__等)會被存放到每一條日誌中。 -
添加拓展外掛程式後會影響和Tag相關的功能:
-
過濾處理外掛程式(原生)
過濾處理外掛程式支援根據日誌欄位值來進行日誌過濾。
配置說明
|
參數名稱 |
說明 |
|
白名單 |
只採集符合白名單條件的日誌,您需要設定目標欄位名稱和用於過濾的Regex。此處的Regex僅支援全文匹配,不支援關鍵詞部分匹配。如何配置Regex,請參見Regex入門教程。 各個白名單之間為與關係。相關樣本如下:
|
過濾日誌外掛程式(拓展)
使用processor_filter_regex外掛程式或processor_filter_key_regex外掛程式過濾日誌。此處介紹各個外掛程式的參數說明和配置樣本。
使用限制
-
文本日誌和容器標準輸出只支援表單配置方式,其餘輸入源只支援JSON配置方式。
-
Go語言的Regex引擎基於RE2實現,相比PCRE引擎存在以下限制:
-
命名分組文法差異
Go使用
(?P<name>...)文法,而非PCRE的(?<name>...)文法。 -
不支援的正則模式
-
斷言:
(?=...)、(?!...)、(?<=...)、(?<!...)。 -
條件運算式:
(?(condition)true|false)。 -
遞迴匹配:
(?R)、(?0)。 -
子程式引用:
(?&name)、(?P>name)。 -
原子組:
(?>...)。
-
建議使用Regex101等調試正則時,避免使用以上不支援的正則模式,否則外掛程式將無法處理。
-
processor_filter_regex(按值正則過濾)
processor_filter_key_regex(按鍵正則過濾)
相關文檔
-
通過API介面配置Logtail流水線:
-
通過控制台配置處理外掛程式: