Reference variables
editReference variables
editBeats 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}/registry
With path.data
being an implicit config setting, that is overridable 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: 1s
can be rewritten to
namespace1: ${shared} namespace2: ${shared} shared: subnamespace: host: localhost sleep: 1s
when using plain references.