全部產品
Search
文件中心

Simple Log Service:過濾日誌

更新時間:Nov 12, 2024

您在使用Logtail採集日誌時,您可以使用processor_filter_regex外掛程式或processor_filter_key_regex外掛程式過濾日誌。本文介紹各個外掛程式的參數說明和配置樣本。

使用限制

文本日誌和容器標準輸出只支援表單配置方式,其餘輸入外掛程式只支援JSON配置方式。

功能入口

當您需要使用Logtail外掛程式處理日誌時,您可以在建立或修改Logtail採集配置時,添加外掛程式配置。具體操作,請參見處理外掛程式概述

processor_filter_regex

通過Regex匹配日誌欄位的值,從而實現日誌過濾。

表單配置方式

  • 參數說明

    配置處理器類型正則過濾日誌(匹配日誌欄位的值),相關參數說明如下表所示。

    說明

    日誌欄位的值完全符合採集日誌中的Regex,且不匹配丟棄日誌中的Regex時,日誌才會被採集,否則直接丟棄。

    參數

    說明

    採集日誌

    輸入日誌欄位名和該欄位值匹配的Regex。如果原始日誌中的目標欄位值符合對應的Regex,則採集該日誌。

    支援添加多個索引值對,索引值對之間為與關係。

    丟棄日誌

    輸入日誌欄位和該欄位值匹配的Regex。如果日誌中任意一個欄位的值符合對應的Regex,則丟棄該日誌。

    支援添加多個索引值對,索引值對之間為或關係。

  • 配置樣本

    只採集ip10開頭、methodPOSTbrowser不為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外掛程式處理配置

      image

    • 處理結果

      日誌

      是否採集

      原因

      日誌1

      不採集

      browser欄位的值匹配丟棄日誌中的Regex。

      日誌2

      採集

      符合條件。

      日誌3

      不採集

      ip欄位的值不匹配採集日誌中的Regex。

JSON配置方式

  • 參數說明

    配置typeprocessor_filter_regexdetail說明如下表所示。

    說明

    日誌欄位的值完全符合Include中的Regex,且不匹配Exclude中的Regex時,日誌才會被採集,否則直接丟棄。

    參數

    類型

    是否必選

    說明

    Include

    JSON Object

    Key為日誌欄位,Value為該欄位值匹配的Regex。索引值對之間為與關係。如果日誌欄位的值符合對應的Regex,則採集該日誌。

    Exclude

    JSON Object

    Key為日誌欄位,Value為該欄位值匹配的Regex。索引值對之間為或關係。如果日誌中任意一個欄位的值符合對應的Regex,則丟棄該日誌。

  • 配置樣本

    只採集ip10開頭、methodPOSTbrowser不為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配置方式

  • 參數說明

    配置typeprocessor_filter_key_regexdetail說明如下表所示。

    說明

    存在日誌欄位名稱完全符合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的欄位。