ELK学习笔记之Logstash不停机自动重载配置文件

2019-05-19 13:00:08 浏览数 (2)

0x00 自动重新加载配置

为了可以自动检测配置文件的变动和自动重新加载配置文件,需要在启动的时候使用以下命令:

代码语言:javascript复制
./bin/lagstash -f configfile.conf --config.reload.automatic

默认检测配置文件的间隔时间是3秒,可以通过以下命令改变

代码语言:javascript复制
--config.reload.interval <second>

如果已经运行了没有提供自动重启的logstash,可以发送一个挂起命令给logstash重新加载配置文件:

代码语言:javascript复制
kill -1 <pid>

0x01 配置文件自动重载工作原理

代码语言:javascript复制
# 检测到配置文件变化
# 通过停止所有输入停止当前pipline
# 用新的配置创建一个新的管道
# 检查配置文件语法是否正确
# 检查所有的输入和输出是否可以初始化
# 检查成功使用新的pipeline替换当前的pipeline,
# 检查失败,使用旧的继续工作.
# 在重载过程中,jvm没有重启.

注意事项: stdin输入插件不支持自动重启. syslog作为输入源,当重载配置文件时,会崩溃.请看: https://github.com/logstash-plugins/logstash-input-syslog/issues/40

0 人点赞