重新加载配置文件
编辑重新加载配置文件编辑
您可以将 Logstash 设置为自动检测和重新加载配置更改。
要启用自动配置重新加载,请使用指定的 --config.reload.automatic
(或 -r
)命令行选项启动 Logstash。例如
bin/logstash -f apache.config --config.reload.automatic
当您指定 -e
标志从命令行传递配置设置时,--config.reload.automatic
选项不可用。
默认情况下,Logstash 每 3 秒检查一次配置更改。要更改此间隔,请使用 --config.reload.interval <interval>
选项,其中 interval
指定 Logstash 检查配置文件更改的频率(以秒为单位)。
请注意,单位限定符 (s
) 是必需的。
强制重新加载配置文件编辑
如果 Logstash 已经在运行,但未启用自动重新加载,您可以强制 Logstash 重新加载配置文件并重新启动管道。为此,请向运行 Logstash 的进程发送 SIGHUP(信号挂起)。例如
kill -SIGHUP 14175
其中 14175 是运行 Logstash 的进程的 ID。
Windows 操作系统不支持此功能。
自动配置重新加载的工作原理编辑
当 Logstash 检测到配置文件中的更改时,它会通过停止所有输入来停止当前管道,并尝试创建一个使用更新配置的新管道。在验证新配置的语法后,Logstash 会验证所有输入和输出是否可以初始化(例如,所有必需的端口是否已打开)。如果检查成功,Logstash 会将现有管道替换为新管道。如果检查失败,旧管道将继续运行,并且错误将传播到控制台。
在自动配置重新加载期间,不会重新启动 JVM。管道创建和交换都在同一个进程中完成。
对 grok 模式文件的更改也会重新加载,但仅在配置文件中的更改触发重新加载(或管道重新启动)时才会重新加载。
通常,Logstash 不会监视或监控输入、过滤器或输出使用或引用的任何配置文件。