您可以使用processor_filter_regex插件或processor_filter_key_regex插件过滤日志。本文介绍各个插件的参数说明和配置示例。

processor_filter_regex

通过正则表达式匹配日志字段的值,从而实现日志过滤。

参数说明

配置typeprocessor_filter_regexdetail说明如下表所示。
说明 日志字段的值完全匹配Include中的正则表达式,且不匹配Exclude中的正则表达式时,日志才会被采集,否则直接丢弃。
参数 类型 是否必选 说明
Include JSON Object Key为日志字段,Value为该字段值匹配的正则表达式。键值对之间为与关系。如果日志字段的值符合对应的正则表达式,则采集该日志。
Exclude JSON Object Key为日志字段,Value为该字段值匹配的正则表达式。键值对之间为或关系。如果日志中任意一个字段的值符合对应的正则表达式,则丢弃该日志。

配置示例

只采集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中的正则表达式。
    日志2 采集 符合条件。
    日志3 不采集 ip字段的值不匹配Include中的正则表达式。

processor_filter_key_regex

通过正则表达式匹配日志字段名称,从而实现日志过滤。

参数说明

配置typeprocessor_filter_key_regexdetail说明如下表所示。
说明 存在日志字段名称完全匹配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中的正则表达式的字段。