addK8sMeta

用于从event中的某些字段(比如日志文件的路径中),获取到:

  • pod.uid
  • namespacepod.name
  • container.id

以上3种任意其一的索引信息,此时Loggie可根据该索引查询到具体的Pod,并添加额外的kubernetes${node.name}${namespace}${pod.uid}${pod.name}等元信息作加入到event中,用于后续的分析处理。
属于source interceptor。

Example

  1. interceptors:
  2. - type: addK8sMeta
  3. pattern: "/var/log/${pod.uid}/${pod.name}/"
  4. addFields:
  5. nodename: "${node.name}"
  6. namespace: "${namespace}"
  7. podname: "${pod.name}"

pattern

字段类型是否必填默认值含义
patternstring必填提取字段的匹配模型

必须包含有:

  • pod.uid
  • namespace与pod.name
  • container.id

其中之一。

比如:/var/log/${pod.uid}/${pod.name}/

patternFields

字段类型是否必填默认值含义
patternFieldsstring非必填默认会从event中获取系统字段里的filename,此时需要使用file source从event中用于提取的pattern的字段

fieldsName

字段类型是否必填默认值含义
fieldsNamestring非必填kubernetes添加元信息的字段

addFields

字段类型是否必填默认值含义
addFieldsmap非必填需要添加的元信息

目前支持添加的元信息字段有:

  • ${cluster}:集群信息,为系统配置中discovery.kubernetes.cluster字段。
  • ${node.name}
  • ${namespace}
  • ${workload.kind}:Deployment/StatefulSet/DaemonSet/Job等
  • ${workload.name}:工作负载的名称
  • ${pod.uid}
  • ${pod.name}