mirror of
https://github.com/elastic/logstash.git
synced 2025-04-24 14:47:19 -04:00
43 lines
1.8 KiB
Text
43 lines
1.8 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 `--auto-reload` (or `-r`)
|
||
command-line option specified. For example:
|
||
|
||
[source,shell]
|
||
----------------------------------
|
||
bin/logstash –f apache.config --auto-reload
|
||
----------------------------------
|
||
|
||
NOTE: The `--auto-reload` 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 `--reload-interval <seconds>` option, where `seconds` specifies how often Logstash
|
||
checks the config files for changes.
|
||
|
||
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. For example:
|
||
|
||
[source,shell]
|
||
----------------------------------
|
||
kill -1 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.
|