关闭Logstash
如果你将Logstash作为服务运行,请使用以下命令之一来停止它:
- systemd使用:
systemctl stop logstash
- upstart使用:
initctl stop logstash
- sysv使用:
/etc/init.d/logstash stop
如果你正在POSIX系统的控制台中直接运行Logstash,那么你可以通过向Logstash发送SIGTERM来停止它,例如:
kill -TERM {logstash_pid}
或者,在控制台中输入Ctrl-C
。
在受控关闭期间会发生什么?
当你试图关闭一个正在运行的Logstash实例时,在它可以安全关闭之前,Logstash会执行几个步骤,它必须:
- 停止所有输入、过滤和输出插件
- 处理所有运行中的事件
- 终止Logstash进程
以下条件影响关闭过程:
- 一个输入插件以缓慢的速度接收数据。
- 一个缓慢的过滤器,例如执行
sleep(10000)
的Ruby过滤器或执行非常繁重查询的Elasticsearch过滤器。 - 一个断开连接的输出插件,正在等待重新连接以刷新运行中的事件。
这些情况使得关闭过程的持续时间和成功不可预测。<