全部产品
Search
文档中心

日志服务:过滤日志

更新时间:Oct 25, 2023

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

重要
  • 表单配置方式:采集文本日志和容器标准输出时可用。

  • JSON配置方式:采集文本日志时不可用。

功能入口

当您需要使用Logtail插件处理日志时,您可以在创建或修改Logtail配置时,添加插件配置。具体操作,请参见概述

processor_filter_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插件处理配置 过滤日志
    • 处理结果
      日志是否采集原因
      日志1不采集browser字段的值匹配丢弃日志中的正则表达式。
      日志2采集符合条件。
      日志3不采集ip字段的值不匹配采集日志中的正则表达式。

JSON配置方式

  • 参数说明
    配置typeprocessor_filter_regexdetail说明如下表所示。
    说明 日志字段的值完全匹配Include中的正则表达式,且不匹配Exclude中的正则表达式时,日志才会被采集,否则直接丢弃。
    参数类型是否必选说明
    IncludeJSON ObjectKey为日志字段,Value为该字段值匹配的正则表达式。键值对之间为与关系。如果日志字段的值符合对应的正则表达式,则采集该日志。
    ExcludeJSON ObjectKey为日志字段,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

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

表单配置方式

  • 参数说明
    配置处理器类型正则过滤日志(匹配日志字段名),相关参数说明如下表所示。
    说明 存在日志字段名称完全匹配采集日志中的正则表达式,且不匹配丢弃日志中的正则表达式时,日志才会被采集,否则直接丢弃。
    参数说明
    采集日志设置为日志字段的正则表达式,字段之间为与关系。如果日志字段符合对应的正则表达式,则采集该日志。
    丢弃日志设置为日志字段的正则表达式,字段之间为或关系。如果日志中任意一个字段符合对应的正则表达式,则丢弃该日志。
  • 配置示例
    采集包含字段名是以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字段符合采集日志中的正则表达式。
      日志2采集request_time字段和request_length字段符合采集日志中的正则表达式。
      日志3不采集日志中没有符合采集日志中的正则表达式的字段。

JSON配置方式

  • 参数说明
    配置typeprocessor_filter_key_regexdetail说明如下表所示。
    说明 存在日志字段名称完全匹配Include中的正则表达式,且不匹配Exclude中的正则表达式时,日志才会被采集,否则直接丢弃。
    参数类型是否必选说明
    Includestring[]设置为日志字段的正则表达式,字段之间为与关系。如果日志字段符合对应的正则表达式,则采集该日志。
    Excludestring[]设置为日志字段的正则表达式,字段之间为或关系。如果日志中任意一个字段符合对应的正则表达式,则丢弃该日志。
  • 配置示例
    采集包含字段名是以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中的正则表达式的字段。