logstash学习(三)—— 自动重载配置文件
Apr 10, 2019
1. 自动重启配置
从logstash2.3开始,当配置文件发生更改时,可以设置自动检测和重载配置文件而不用重启logstash。设置自动重载的命令如下:
|
|
注意:
- 当运行命令时(logstash指定-e运行)–config.reload.automatic参数不起作用。
- 默认是每个3秒检测一次配置文件是否发生变化,当然检测间隔也可以自己设置,格式如下:
|
|
如果已经运行了没有提供自动重启的logstash,可以发送一个挂起命令给logstash重新加载配置文件:
|
|
2. 工作原理
当检测到配置文件变化则通过停止所有输入来停止当前pipeline。然后用新的配置尝试创建一个新的pipeline。如果检查配置文件语法正确并且所有的输入和输出可以初始化,则使用新的pipeline替换当前的pipeline。如果检查失败,使用旧的继续工作。注意在重载过程中,jvm没有重启。
3. 注意事项
- stdin输入插件不支持自动重启。
- syslog作为输入源,当重载配置文件时会崩溃。
