資料過濾類外掛程式用於根據條件過濾日誌,根據過濾結果選擇是否採集該日誌記錄。
資料過濾外掛程式概覽
Log Service提供以下多種類型的資料過濾外掛程式,請按需要進行選擇。
外掛程式名稱 | 類型 | 功能說明 |
過濾處理 | 原生 | 通過設定“白名單”Regex,僅採集欄位值完全符合指定正則條件的日誌。 |
過濾日誌 | 拓展 | 支援兩種過濾模式:
|
功能入口
當您需要使用Logtail外掛程式處理日誌時,您可以在建立或修改Logtail配置時,添加外掛程式。具體操作,請參見原生與拓展處理外掛程式使用說明。
原生外掛程式與拓展外掛程式的區別
原生外掛程式:C++實現,效能更強。
拓展外掛程式:Go實現,生態豐富且靈活,當業務日誌過於複雜,無法使用原生外掛程式處理時,可以考慮使用拓展外掛程式。
拓展外掛程式效能限制
使用拓展外掛程式進行Tlog時,LoongCollector會消耗更多的資源(以CPU為主),如有需求可以調整LoongCollector參數配置進行日誌傳輸延時過長最佳化。
當未經處理資料量的產生速度超過5 MB/s時,不建議使用過於複雜的外掛程式組合來處理日誌,可以使用拓展外掛程式進行簡單處理,再通過資料加工完成進一步處理。
日誌採集限制
拓展外掛程式對文本日誌的處理採用行模式,即檔案層級的中繼資料(例如
__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流水線:
通過控制台配置處理外掛程式:

