引用变量

编辑

Beats 设置可以引用其他设置,将多个可选的自定义命名设置拼接成新值。引用的语法与环境变量相同。只能引用完全展开的设置名称。

例如,Filebeat 注册表文件默认为:

filebeat.registry: ${path.data}/registry

其中path.data是一个隐式配置设置,可以通过命令行以及配置文件进行覆盖。

output.elasticsearch.hosts中引用es.host的示例:

es.host: '${ES_HOST:localhost}'

output.elasticsearch:
  hosts: ['http://${es.host}:9200']

引入es.host后,可以使用-E es.host=another-host命令行参数覆盖主机。

没有默认值且不与其他引用或字符串拼接的纯引用可以引用完整的命名空间。

这些具有重复内容的设置:

namespace1:
  subnamespace:
    host: localhost
    sleep: 1s

namespace2:
  subnamespace:
    host: localhost
    sleep: 1s

可以使用纯引用改写为:

namespace1: ${shared}
namespace2: ${shared}

shared:
  subnamespace:
    host: localhost
    sleep: 1s