Overview

sources字段为数组,一个Pipeline中可填写多个source组件配置。

因此,请注意所有的source中name必填,作为pipeline中source的唯一标识。

Source通用配置

所有Source均可以使用以下配置。

name

字段类型是否必填默认值含义
namestring必填表示source的名称,建议填写有标识意义的词

fields

字段类型是否必填默认值含义
fieldsmap非必填自定义额外添加到event中的字段

比如如下配置:

Example

  1. sources:
  2. - type: file
  3. name: access
  4. paths:
  5. - /var/log/*.log
  6. fields:
  7. service: demo

会给采集的所有日志上,都加上service: demo字段。

fieldsFromEnv

字段类型是否必填默认值含义
fieldsFromEnvmap非必填额外添加到event中的字段,value为env环境变量的key

比如如下配置:

Example

  1. sources:
  2. - type: file
  3. name: access
  4. paths:
  5. - /var/log/*.log
  6. fieldsFromEnv:
  7. service: SVC_NAME

会从Loggie所在的环境变量中,获取SVC_NAME的值${SVC_NAME},然后给所有的日志event上添加字段:service: ${SVC_NAME}

fieldsUnderRoot

字段类型是否必填默认值含义
fieldsUnderRootbool非必填false额外添加的fields是否放在event的根部

比如,默认情况下,输出的日志格式为:

  1. {
  2. "body": "hello world",
  3. "fields": {
  4. "service": "demo"
  5. }
  6. }

如果设置fieldsUnderRoot=true,输出的日志格式为:

  1. {
  2. "body": "hello world",
  3. "service": "demo"
  4. }

fieldsUnderKey

字段类型是否必填默认值含义
fieldsUnderKeystring非必填fieldsfieldsUnderRoot=false时,字段的名称

比如可以修改默认的字段fieldstag,输出的日志为:

  1. {
  2. "body": "hello world",
  3. "tag": {
  4. "service": "demo"
  5. }
  6. }