按Key分组

简介

aggregator_content_value_group aggregator插件可以实现对单条日志按照指定的 Key 进行聚合。

版本

Alpha

配置参数

参数类型是否必选说明

Type

String

插件类型,指定为aggregator_content_value_group

GroupKeys

[]String

指定需要按照其值分组的Key列表

EnablePackID

Boolean

是否需要在LogGroup的LogTag中添加__pack_id__字段。如果未添加改参数,则默认在LogGroup的LogTag中添加__pack_id__字段。

Topic

String

LogGroup的Topic名。如果未添加该参数,则默认每个LogGroup的Topic名为空。

ErrIfKeyNotFound

Boolean

当指定的Key在Log的Contents中找不到时,是否打印错误日志

样例

采集/home/test-log/路径下的所有文件名匹配reg.log规则的文件,使用processor_regex提取字段后,再按照字段urlmethod字段聚合,并将采集结果发送到SLS。

  • 输入

echo '127.0.0.1 - - [10/Aug/2017:14:57:51 +0800] "POST /PutData?Category=YunOsAccountOpLog" 0.024 18204 200 37 "-" "aliyun-sdk-java"' >> /home/test-log/reg.log
  • 采集配置

enable: true
inputs:
  - Type: input_file
    FilePaths: 
      - /home/test-log/reg.log
processors:
  - Type: processor_regex
    SourceKey: content
    Regex: ([\d\.]+) \S+ \S+ \[(\S+) \S+\] \"(\w+) ([^\\"]*)\" ([\d\.]+) (\d+) (\d+) (\d+|-) \"([^\\"]*)\" \"([^\\"]*)\"
    Keys:
      - ip
      - time
      - method
      - url
      - request_time
      - request_length
      - status
      - length
      - ref_url
      - browser
aggregators:
  - Type: aggregator_content_value_group
    GroupKeys:
      - url
      - method
flushers:
  - Type: flusher_stdout
    OnlyStdout: true

Last updated