引用变量

编辑

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

在使用纯引用时。