分隔符解析原生处理插件

简介

processor_parse_delimiter_native插件解析事件中分隔符格式字段内容并提取新字段。

版本

Stable

配置参数

参数 类型 是否必填 默认值 说明
Type string / 插件类型。固定为processor_parse_delimiter_native。
SourceKey string / 源字段名。
Separator string / 分隔符。
Quote string " 引用符。
Keys [string] / 提取的字段列表。
AllowingShortenedFields bool true 是否允许提取的字段数量小于Keys的数量。若不允许,则此情景会被视为解析失败。
OverflowedFieldsTreatment string extend 当提取的字段数量大于Keys的数量时的行为。可选值包括:
  • extend:保留多余的字段,且每个多余的字段都作为单独的一个字段加入日志,多余字段的字段名为\_\_column$i\_\_,其中$i代表额外字段序号,从0开始计数。
  • keep:保留多余的字段,但将多余内容作为一个整体字段加入日志,字段名为\_\_column0\_\_.
  • discard:丢弃多余的字段。
KeepingSourceWhenParseFail bool false 当解析失败时,是否保留源字段。
KeepingSourceWhenParseSucceed bool false 当解析成功时,是否保留源字段。
RenamedSourceKey string 当源字段被保留时,用于存储源字段的字段名。若不填,默认不改名。

样例

采集分隔符格式文件/home/test-log/delimiter.log,解析日志内容并提取字段,并将结果输出到stdout。

  • 输入
127.0.0.1,07/Jul/2022:10:43:30 +0800,POST,PutData?Category=YunOsAccountOpLog,0.024,18204,200,37,-,aliyun-sdk-java
  • 采集配置
enable: true
inputs:
  - Type: input_file
    FilePaths: 
      - /home/test-log/json.log
processors:
  - Type: processor_parse_delimiter_native
    SourceKey: content
    Separator: ','
    Quote: '"'
    Keys:
      - ip
      - time
      - method
      - url
      - request_time
      - request_length
      - status
      - length
      - ref_url
      - browser
flushers:
  - Type: flusher_stdout
    OnlyStdout: true
  • 输出
{
    "__tag__:__path__": "/home/test-log/json.log",
    "ip": "127.0.0.1",
    "time": "07/Jul/2022:10:43:30 +0800",
    "method": "POST",
    "url": "PutData?Category=YunOsAccountOpLog",
    "request_time": "0.024",
    "request_length": "18204",
    "status": "200",
    "length": "37",
    "ref_url": "-",
    "browser": "aliyun-sdk-java",
    "__time__": "1657161028"
}

results matching ""

    No results matching ""