Load external configuration files
editLoad external configuration files
editFilebeat can load external configuration files for inputs and modules, allowing you to separate your configuration into multiple smaller configuration files. See the Input config and the Module config sections for details.
On systems with POSIX file permissions, all Beats configuration files are subject to ownership and file permission checks. For more information, see Config File Ownership and Permissions.
Input config
editFor input configurations, you specify the path
option in the
filebeat.config.inputs
section of the filebeat.yml
file. For
example:
filebeat.config.inputs: enabled: true path: inputs.d/*.yml
Each file found by the path
Glob must contain a list of one or more input
definitions.
The first line of each external configuration file must be an input
definition that starts with - type
. Make sure you omit the line
filebeat.config.inputs
from this file. All input type configuration options
must be specified within each external configuration file. Specifying these
configuration options at the global filebeat.config.inputs
level is not supported.
Example external configuration file:
- type: log paths: - /var/log/mysql.log scan_frequency: 10s - type: log paths: - /var/log/apache.log scan_frequency: 5s
It is critical that two running inputs DO NOT have overlapping file paths defined. If more than one input harvests the same file at the same time, it can lead to unexpected behavior.
Module config
editFor module configurations, you specify the path
option in the
filebeat.config.modules
section of the filebeat.yml
file. By default,
Filebeat loads the module configurations enabled in the
modules.d
directory. For example:
filebeat.config.modules: enabled: true path: ${path.config}/modules.d/*.yml
The path
setting must point to the modules.d
directory if you want to use
the modules
command to enable and disable module
configurations.
Each file found by the Glob must contain a list of one or more module definitions.
The first line of each external configuration file must be a module
definition that starts with - module
. Make sure you omit the line
filebeat.config.modules
from this file.
For example:
- module: apache access: enabled: true var.paths: [/var/log/apache2/access.log*] error: enabled: true var.paths: [/var/log/apache2/error.log*]