mirror of
https://github.com/elastic/logstash.git
synced 2025-04-24 14:47:19 -04:00
49 lines
2.2 KiB
Text
49 lines
2.2 KiB
Text
[[reloading-config]]
|
|
=== Reloading the Config File
|
|
|
|
Starting with Logstash 2.3, you can set Logstash to detect and reload configuration
|
|
changes automatically.
|
|
|
|
To enable automatic config reloading, start Logstash with the `--config.reload.automatic` (or `-r`)
|
|
command-line option specified. For example:
|
|
|
|
[source,shell]
|
|
----------------------------------
|
|
bin/logstash -f apache.config --config.reload.automatic
|
|
----------------------------------
|
|
|
|
NOTE: The `--config.reload.automatic` option is not available when you specify the `-e` flag to pass
|
|
in configuration settings from the command-line.
|
|
|
|
By default, Logstash checks for configuration changes every 3 seconds. To change this interval,
|
|
use the `--config.reload.interval <interval>` option, where `interval` specifies how often Logstash
|
|
checks the config files for changes (in seconds).
|
|
|
|
If Logstash is already running without auto-reload enabled, you can force Logstash to
|
|
reload the config file and restart the pipeline by sending a SIGHUP (signal hangup) to the
|
|
process running Logstash, but it's not supported on Windows OS. For example:
|
|
|
|
[source,shell]
|
|
----------------------------------
|
|
kill -SIGHUP 14175
|
|
----------------------------------
|
|
|
|
Where 14175 is the ID of the process running Logstash.
|
|
|
|
==== How Automatic Config Reloading Works
|
|
|
|
When Logstash detects a change in a config file, it stops the current pipeline by stopping
|
|
all inputs, and it attempts to create a new pipeline that uses the updated configuration.
|
|
After validating the syntax of the new configuration, Logstash verifies that all inputs
|
|
and outputs can be initialized (for example, that all required ports are open). If the checks
|
|
are successful, Logstash swaps the existing pipeline with the new pipeline. If the checks
|
|
fail, the old pipeline continues to function, and the errors are propagated to the console.
|
|
|
|
During automatic config reloading, the JVM is not restarted. The creating and swapping of
|
|
pipelines all happens within the same process.
|
|
|
|
Changes to <<plugins-filters-grok,grok>> pattern files are also reloaded, but only when
|
|
a change in the config file triggers a reload (or the pipeline is restarted).
|
|
|
|
In general, Logstash is not watching or monitoring any configuration files used or referenced by inputs,
|
|
filters or outputs.
|