0x00 自動重新加載配置
為了可以自動檢測配置文件的變動和自動重新加載配置文件,需要在啟動的時候使用以下命令:
./bin/lagstash -f configfile.conf --config.reload.automatic
默認檢測配置文件的間隔時間是3秒,可以通過以下命令改變
--config.reload.interval <second>
如果已經運行了沒有提供自動重啟的logstash,可以發送一個掛起命令給logstash重新加載配置文件:
kill -1 <pid>
0x01 配置文件自動重載工作原理
# 檢測到配置文件變化 # 通過停止所有輸入停止當前pipline # 用新的配置創建一個新的管道 # 檢查配置文件語法是否正確 # 檢查所有的輸入和輸出是否可以初始化 # 檢查成功使用新的pipeline替換當前的pipeline, # 檢查失敗,使用舊的繼續工作. # 在重載過程中,jvm沒有重啟.
注意事項:
stdin輸入插件不支持自動重啟.
syslog作為輸入源,當重載配置文件時,會崩潰.請看: https://github.com/logstash-plugins/logstash-input-syslog/issues/40