addK8sMeta¶
用于从event中的某些字段(比如日志文件的路径中),获取到:
pod.uidnamespace与pod.namecontainer.id
以上3种任意其一的索引信息,此时Loggie可根据该索引查询到具体的Pod,并添加额外的kubernetes${node.name}、${namespace}、${pod.uid}、${pod.name}等元信息作加入到event中,用于后续的分析处理。
属于source interceptor。
Example
interceptors:
- type: addK8sMeta
pattern: "/var/log/${pod.uid}/${pod.name}/"
addFields:
nodename: "${node.name}"
namespace: "${namespace}"
podname: "${pod.name}"
pattern¶
字段 |
类型 |
是否必填 |
默认值 |
含义 |
|---|---|---|---|---|
| pattern | string | 必填 | 提取字段的匹配模型 |
必须包含有:
pod.uidnamespace与pod.namecontainer.id
其中之一。
比如:/var/log/${pod.uid}/${pod.name}/
patternFields¶
字段 |
类型 |
是否必填 |
默认值 |
含义 |
|---|---|---|---|---|
| patternFields | string | 非必填 | 默认会从event中获取系统字段里的filename,此时需要使用file source | 从event中用于提取的pattern的字段 |
fieldsName¶
字段 |
类型 |
是否必填 |
默认值 |
含义 |
|---|---|---|---|---|
| fieldsName | string | 非必填 | kubernetes | 添加元信息的字段 |
addFields¶
字段 |
类型 |
是否必填 |
默认值 |
含义 |
|---|---|---|---|---|
| addFields | map | 非必填 | 需要添加的元信息 |
目前支持添加的元信息字段有:
${cluster}:集群信息,为系统配置中discovery.kubernetes.cluster字段。${node.name}${namespace}${workload.kind}:Deployment/StatefulSet/DaemonSet/Job等${workload.name}:工作负载的名称${pod.uid}${pod.name}