如何返回到终端时,logstash过滤器得到eof



现在,当logstash过滤器得到eof,似乎logstash过滤器还在运行,但文件没有更多的日志输出到elasticsearch索引

我如何摆脱logstash过滤器时,它的文件结束(eof),做另一个任务?

我在logstash过滤器的输出上使用exec解决了这个问题,并创建了一个bash脚本来终止logstash进程。

   input
   {
      ...
   }
   filter
   {
      ...
   }
   output
   {
     exec
    {
        command => "sh kill_logstash.sh"
    }
     ...
   }

在bash脚本(kill_logstash.sh)中:

   #!/bin/bash
   echo 'Terminou a leitura do ficheiro'
   pkill -f  logstash
   exit 0

同样的问题:如何在完成测试时自动终止logstash代理?

在logstash中没有eof的概念。Logstash连续监视器输入文件。如果在文件中发生任何变化,它将发送到过滤器。如果你想监控多个文件,你可以在输入部分给出多个文件块。

最新更新