添加 Nomad 元数据
编辑添加 Nomad 元数据编辑
此功能处于技术预览阶段,可能在将来的版本中发生更改或被移除。Elastic 将努力解决任何问题,但技术预览中的功能不受官方 GA 功能的支撑 SLA 的约束。
add_nomad_metadata
处理器添加了包含与 Nomad 中部署的应用程序相关的元数据的字段。
每个事件都使用以下信息进行注释
- 分配名称、标识符和状态。
- 作业名称和类型。
- 部署作业的命名空间。
- 运行分配的代理所在的 Datacenter 和区域。
processors: - add_nomad_metadata: ~
它具有以下设置来配置连接
-
address
- (可选) 用于请求元数据的代理 API 的 URL。默认情况下,它使用
http://127.0.0.1:4646
。 -
namespace
- (可选) 要监视的命名空间。如果设置,则只对该命名空间中的分配的事件进行注释。
-
region
- (可选) 要监视的区域。如果设置,则只对该区域中的分配的事件进行注释。
-
secret_id
- (可选) 与代理 API 连接时使用的 SecretID。这是一个要应用于令牌的示例 ACL 策略。
namespace "*" { policy = "read" } node { policy = "read" } agent { policy = "read" }
-
refresh_interval
- (可选) 用于更新缓存元数据的间隔。默认为 30 秒。
-
cleanup_timeout
- (可选) 分配被移除后,等待清理其关联资源的时间。如果您预计在分配被移除后收到事件,这将很有用,这在收集日志时可能会发生。默认为 60 秒。
您可以决定 Heartbeat 是否应该注释与本地节点或整个集群中的分配相关的事件,方法是使用以下设置配置范围
-
scope
- (可选) 要监视的资源范围。可以是
node
,仅获取单个代理中的分配的元数据,也可以是global
,获取在任何代理上运行的分配的元数据。默认为node
。 -
node
- (可选) 当使用
scope: node
时,使用node
指定本地节点的名称(如果无法自动发现)。
例如,以下配置可用于 Heartbeat 从集群中的所有分配收集事件的情况
processors: - add_nomad_metadata: scope: global
索引器和匹配器编辑
索引器和匹配器用于将事件中的字段与实际元数据相关联。Heartbeat 使用此信息来了解在每个事件中包含哪些元数据。
索引器编辑
索引器使用分配元数据为每个 Pod 创建唯一的标识符。
可用的索引器为:allocation_name
:: 通过其名称和命名空间(如 <namespace>/<name>
)标识分配。 allocation_uuid
:: 通过其唯一标识符标识分配。
匹配器编辑
匹配器用于构建与索引创建的标识符匹配的查找键。
field_format
编辑
使用使用可以包含事件字段的字符串格式创建的键查找分配元数据。
此匹配器有一个选项 format
用于定义字符串格式。此字符串格式可以包含事件中任何字段的占位符。
例如,以下配置使用 allocation_name
索引器通过其名称和命名空间来标识分配元数据,并使用事件中存在的自定义字段作为匹配键
processors: - 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)进行查找,即它在事件中找到的第一个字段
processors: - add_nomad_metadata: ... default_indexers.enabled: false default_matchers.enabled: false indexers: - allocation_uuid: matchers: - fields: lookup_fields: ['host.name', 'fields.nomad_alloc_uuid']