WARNING: Version 1.3 of Winlogbeat has passed its EOL date.
This documentation is no longer being maintained and may be removed. If you are running this version, we strongly advise you to upgrade. For the latest information, see the current release documentation.
Using Environment Variables in the Configuration
editUsing Environment Variables in the Configuration
editThis functionality is in technical preview and may be changed or removed in a future release. Elastic will work to fix any issues, but features in technical preview are not subject to the support SLA of official GA features.
You can use environment variable references in the winlogbeat.yml
file to set values
that need to be configurable during deployment. To do this, use:
${VAR}
Where VAR
is the name of the environment variable.
Each variable reference is replaced at startup by the value of the environment variable. The replacement is case-sensitive and occurs before the YAML file is parsed. References to undefined variables are replaced by empty strings unless you specify a default value. To specify a default value, use:
${VAR:default_value}
Where default_value
is the value to use if the environment variable is undefined.
After changing the value of an environment variable, you need to restart Winlogbeat to pick up the new value.
Examples
editHere are some examples of configurations that use environment variables and what each configuration looks like after replacement:
Config source | Environment setting | Config after replacement |
---|---|---|
|
|
|
|
no setting |
|
|
|
|
|
|
|
Troubleshooting
editWhen logging is enabled at the info
level or higher, a message is logged for each
environment variable replacement. For example:
2016/01/13 23:00:27.925523 cfgfile.go:87: INFO Replacing config environment variable '${NAME}' with 'elastic' 2016/01/13 23:00:27.925786 cfgfile.go:87: INFO Replacing config environment variable '${HOSTS}' with ''localhost:9200', 'localhost:9202''