Reference Variablesedit
Beats settings can reference other settings splicing multiple optionally custom named settings into new values. References use the same syntax as Environment Variables do. Only fully collapsed setting names can be referenced to.
For example the filebeat registry file defaults to:
filebeat.registry: ${path.data}/registryWith path.data being an implicit config setting, that is overwritable from
command line, as well as in the configuration file.
Example referencing es.host in output.elasticsearch.hosts:
es.host: '${ES_HOST:localhost}'
output.elasticsearch:
hosts: ['http://${es.host}:9200']Introducing es.host, the host can be overwritten from command line using
-E es.host=another-host.
Plain references, having no default value and are not spliced with other references or strings can reference complete namespaces.
These setting with duplicate content:
namespace1:
subnamespace:
host: localhost
sleep: 1s
namespace2:
subnamespace:
host: localhost
sleep: 1scan be rewritten to
namespace1: ${shared}
namespace2: ${shared}
shared:
subnamespace:
host: localhost
sleep: 1swhen using plain references.