[TOC]
# 重載配置文件
從Logstash2.3開始,你可以配置Logstash自動檢測配置文件變動并自動重載。
啟動Logstash的時候使用`--config.reload.automatic`或`-r`選項來開啟自動重載配置。例如:
```bash
bin/logstash -f apache.config --config.reload.automatic
```
>
```bash
bin/logstash -f apache.config --config.reload.automatic
```
> <font color=#DC143C size=4>NOTE</font>:如果在命令行指定了`-e`選項,則`--config.reload.automatic`選項不可用。
默認情況下,Logstash每隔3秒檢查一次配置文件的變化。要改變這個間隔,可以使用`--config.reload.interval <interval>`選項,其中,`interval`指定定期檢查配置文件是否更改的頻率。
如果Logstash已經運行并且沒有開啟自動重載,你可以強制Logstash重新載入配置文件并且重啟管道通過發送一個SIGHUP信號。比如:
```bash
kill -1 14175
```
其中14175是正在運行的Logstash的進程號。
# 自動重載配置是如何工作的
當Logstash檢測到配置變動,它會通過停止所有的inputs來停止當前管道,并嘗試使用新的配置來創建一個新的管道。驗證新配置的語法后,Logstash會驗證是否可以初始化所有輸入和輸出(例如,所有必需的端口都已打開)。 如果檢查成功,Logstash將使用新管道交換現有管道。 如果檢查失敗,則舊管道繼續運行,并將錯誤傳播到控制臺。
在自動重載配置期間,JVM不會重新啟動。創建和交換管道都發生在同一個進程中。
[Grok](https://www.elastic.co/guide/en/logstash/6.4/plugins-filters-grok.html)匹配規則的改變也會被重載,但只有改變發生在配置文件中才會觸發重載(或者叫做管道重啟)。
- Emmm
- Logstash簡介
- 開始使用Logstash
- 安裝Logstash
- 儲存你的第一個事件
- 通過Logstash解析日志
- 多個輸入和輸出插件的混合使用
- Logstash是如何工作的
- 執行模型Execution Model
- 設置并運行Logstash
- Logstash目錄布局
- Logstash配置文件
- logstash.yml
- Secrets keystore for secure settings
- 從命令行運行Logstash
- 以服務的方式運行Logstash
- 在Docker中運行Logstash
- 配置容器版Logstash
- Logging
- 關閉Logstash
- 安裝X-Pack
- 設置X-Pack
- 升級Logstash
- 使用包管理升級
- 直接下載進行升級
- 升級至6.0
- Upgrading with the Persistent Queue Enabled
- 配置Logstash
- 管道配置文件的結構
- 訪問配置中的事件數據和字段
- 在配置中使用環境變量
- Logstash配置示例
- 多管道
- 管道間通信(beta)
- 重載配置文件
- 管理多行事件
- Glob Pattern Support
- Converting Ingest Node Pipelines
- Logstash間通信
- 配置集中式管道管理
- X-Pack Monitoring
- X-Pack Security
- X-Pack Settings
- Field References Deep Dive(深入字段引用)
- 管理Logstash
- 集中式管道管理
- 使用Logstash模塊
- 使用Elastic Cloud
- Logstash ArcSight模塊