为独立 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 通用模式 (ECS) 命名,以确保整个文档和项目的一致性和可理解性。

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

动态提供程序编辑

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

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

默认禁用提供程序编辑

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

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

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