为独立 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