[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模块