添加 Nomad 元数据
编辑添加 Nomad 元数据
编辑此功能处于技术预览阶段,可能在未来的版本中更改或移除。Elastic 将致力于修复任何问题,但技术预览中的功能不受官方 GA 功能支持 SLA 的约束。
add_nomad_metadata
处理器添加包含与在 Nomad 中部署的应用程序相关的元数据的字段。
每个事件都用以下信息进行注释:
- 分配名称、标识符和状态
- 作业名称和类型
- 部署作业的命名空间
- 运行分配的 Agent 所在的数据中心和区域。
示例
编辑- add_nomad_metadata: ~
配置设置
编辑Elastic Agent 处理器在摄取管道 *之前* 执行,这意味着它们处理的是原始事件数据,而不是发送到 Elasticsearch 的最终事件。有关相关限制,请参阅 使用处理器的某些限制是什么?
名称 | 必需 | 默认值 | 描述 |
---|---|---|---|
|
否 |
|
用于请求元数据的 Agent API 的 URL。 |
|
否 |
要监视的命名空间。如果设置,则只注释此命名空间中分配的事件。 |
|
|
否 |
要监视的区域。如果设置,则只注释此区域中分配的事件。 |
|
|
否 |
连接 Agent API 时使用的 SecretID。这是一个应用于令牌的示例 ACL 策略。 namespace "*" { policy = "read" } node { policy = "read" } agent { policy = "read" } |
|
|
否 |
|
用于更新缓存元数据的间隔。 |
|
否 |
|
在删除分配后,等待一段时间清理分配的关联资源。如果您期望在删除分配后接收事件,这将非常有用,这在收集日志时可能会发生。 |
|
否 |
|
要监视的资源的范围。指定 |
|
否 |
当使用 例如,当 Elastic Agent 收集集群中所有分配的事件时,可以使用以下配置: - add_nomad_metadata: scope: global |
索引器和匹配器
编辑索引器和匹配器用于将事件中的字段与实际元数据关联起来。Elastic Agent 使用此信息来了解在每个事件中包含哪些元数据。
索引器
编辑索引器使用分配元数据为每个 Pod 创建唯一的标识符。
可用的索引器:
-
allocation_name
- 按名称和命名空间标识分配(为
<namespace>/<name>
) -
allocation_uuid
- 按其唯一标识符标识分配。
匹配器
编辑匹配器用于构造与索引创建的标识符匹配的查找键。
field_format
编辑使用使用可以包含事件字段的字符串格式创建的键查找分配元数据。
此匹配器有一个选项 format
用于定义字符串格式。此字符串格式可以包含事件中任何字段的占位符。
例如,以下配置使用 allocation_name
索引器按其名称和命名空间标识分配元数据,并使用事件中存在的自定义字段作为匹配键:
- add_nomad_metadata: ... default_indexers.enabled: false default_matchers.enabled: false indexers: - allocation_name: matchers: - field_format: format: '%{[labels.nomad_namespace]}/%{[fields.nomad_alloc_name]}'
fields
编辑使用某些特定字段的值作为键查找分配元数据。当定义多个字段时,使用事件中包含的第一个字段。
此匹配器有一个选项 lookup_fields
用于定义其值将用于查找的字段。
例如,以下配置使用 allocation_uuid
索引器标识分配,并定义一个匹配器,该匹配器使用可以在事件中找到分配 UUID 的一些字段进行查找,它在事件中找到的第一个字段:
- add_nomad_metadata: ... default_indexers.enabled: false default_matchers.enabled: false indexers: - allocation_uuid: matchers: - fields: lookup_fields: ['host.name', 'fields.nomad_alloc_uuid']
logs_path
编辑使用从 log.file.path
字段中存储的日志路径中提取的标识符查找分配元数据。
此匹配器有一个可选的 logs_path
选项,其中包含包含本地 Agent 日志的目录的基路径。
默认配置能够在日志收集到 /var/lib/nomad
下时使用分配 UUID 来查找元数据。
例如,以下配置将在日志从 /var/lib/NomadClient001/alloc/<alloc UUID>/alloc/logs/...
收集时使用分配 UUID。
- add_nomad_metadata: ... default_indexers.enabled: false default_matchers.enabled: false indexers: - allocation_uuid: matchers: - logs_path: logs_path: '/var/lib/NomadClient001'