干净的方式来停止Logstash

时间:2015-04-20 08:04:59

标签: logstash

让我们想象一下我运行了一个Logstash实例,但是想要干净利落地停止它,例如改变它的配置。

如何确保完成将批量发送到Elasticsearch的同时停止Logstash实例?我不想在停止logstash时丢失任何日志。

2 个答案:

答案 0 :(得分:9)

Logstash 1.5在关闭之前刷新管道以响应SIGTERM信号,因此您应该能够使用service logstash stop,init.d脚本或您通常使用的任何内容将其关闭。

使用Logstash 1.4.x时,SIGTERM信号突然关闭Logstash而不允许管道刷新所有正在进行的消息,但您可以发送SIGINT强制刷新。但是,一些插件(如redis输入插件)无法正常处理并无限期挂起。

答案 1 :(得分:0)

使用Logstash 2.3:

  

Logstash会在处理过程中将所有事件保留在主内存中。 Logstash通过在关闭之前尝试暂停输入并等待挂起事件完成处理来响应SIGTERM。

来源:https://www.elastic.co/guide/en/logstash/2.3/pipeline.html

相关问题