添加 Nomad 元数据编辑

此功能处于技术预览阶段,可能会在未来版本中更改或删除。Elastic 将努力解决任何问题,但技术预览版中的功能不受官方 GA 功能支持 SLA 的约束。

add_nomad_metadata 处理器为部署在 Nomad 中的应用程序添加包含相关元数据的字段。

每个事件都标注了以下信息

  • 分配名称、标识符和状态。
  • 作业名称和类型。
  • 部署作业的命名空间。
  • 运行分配的代理所在的数据中心和区域。
processors:
  - add_nomad_metadata: ~

它具有以下用于配置连接的设置

地址
(可选)用于请求元数据的代理 API 的 URL。默认情况下,它使用 http://127.0.0.1:4646
命名空间
(可选)要观察的命名空间。如果设置,则只会为该命名空间中的分配事件添加注释。
区域
(可选)要观察的区域。如果设置,则只会为该区域中的分配事件添加注释。
密钥 ID
(可选)与代理 API 连接时使用的密钥 ID。这是一个应用于令牌的 ACL 策略示例。
namespace "*" {
  policy = "read"
}
node {
  policy = "read"
}
agent {
  policy = "read"
}
刷新间隔
(可选)用于更新缓存元数据的间隔。默认为 30 秒。
清理超时
(可选)分配被删除后,在清理其关联资源之前等待的时间。如果您希望在分配被删除后接收事件(这可能发生在收集日志时),这将非常有用。默认为 60 秒。

您可以通过以下设置配置范围来决定 Auditbeat 应该注释与本地节点上的分配相关的事件还是与整个集群上的分配相关的事件

范围
(可选)要观察的资源范围。它可以是 node,仅获取单个代理中的分配的元数据,也可以是 global,获取在任何代理上运行的分配的元数据。默认为 node
节点
(可选)使用 scope: node 时,如果无法自动发现本地节点的名称,请使用 node 指定。

例如,如果 Auditbeat 正在从集群中的所有分配收集事件,则可以使用以下配置

processors:
  - add_nomad_metadata:
      scope: global

索引器和匹配器编辑

索引器和匹配器用于将事件中的字段与实际元数据相关联。Auditbeat 使用此信息来了解每个事件中要包含哪些元数据。

索引器编辑

索引器使用分配元数据为每个 Pod 创建唯一标识符。

可用的索引器有:allocation_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']