配置独立 Elastic Agent 的提供程序

编辑

提供程序提供用于变量替换和条件判断的键值对。在 Elastic Agent 的上下文中,每个提供程序的键都会自动添加提供程序名称作为前缀。

例如,名为 foo 的提供程序提供 {"key1": "value1", "key2": "value2"},则键值对会被放置在 {"foo" : {"key1": "value1", "key2": "value2"}} 中。要引用这些键,请使用 {{foo.key1}}{{foo.key2}}

提供程序配置

编辑

提供程序配置在 elastic-agent.yml 配置文件的顶层 providers 键下指定。默认情况下,所有已注册的提供程序都会被启用。如果提供程序无法连接,则不会生成任何映射。

以下示例显示了两个提供自定义键的提供程序(locallocal_dynamic

providers:
  local:
    vars:
      foo: bar
  local_dynamic:
    vars:
      - item: key1
      - item: key2

通过设置 enabled: false 可以显式禁用提供程序。所有提供程序都带有前缀,不会发生名称冲突。提供程序的名称在配置的键中。

providers:
  docker:
    enabled: false

Elastic Agent 支持两种主要的提供程序类型:上下文动态

上下文提供程序
编辑

上下文提供程序提供正在运行的 Elastic Agent 的当前上下文,例如,代理信息(ID、版本)、主机信息(主机名、IP 地址)和环境信息(环境变量)。

它们只能提供单个键值映射。可以将它们视为单例;键值映射的更新会导致整个配置的重新评估。这些提供程序通常非常静态,但并非必需。值可以更改,这会导致重新评估。

上下文提供程序使用 Elastic Common Schema (ECS) 命名,以确保文档和项目中命名的一致性和可理解性。

Elastic Agent 支持以下上下文提供程序

动态提供程序
编辑

动态提供程序提供多个键值映射的数组。每个键值映射都与先前上下文提供程序的键值映射组合,从而提供用于生成配置的新唯一映射。

Elastic Agent 支持以下上下文提供程序

默认禁用提供程序
编辑

默认情况下,所有注册的提供程序都已启用。

通过设置 agent.providers.initial_default: false 可以默认禁用所有提供程序,并且只启用显式配置的提供程序。

agent.providers.initial_default: false
providers:
  docker:
    enabled: true