Filter 当logstash过滤器获得eof时,如何返回终端?

Filter 当logstash过滤器获得eof时,如何返回终端?,filter,logstash,eof,Filter,Logstash,Eof,现在,当logstash filter获得eof时,似乎logstash filter还在运行,但该文件并没有更多的日志输出到elasticsearch索引 当文件eof结束时,如何从logstash筛选器中退出以执行其他任务?logstash中没有eof的概念。日志存储连续监视器输入文件。如果文件中发生任何更改,它将发送到筛选器。 若你们想监控多个文件,你们可以在输入部分给多个文件块 logstash中没有eof的概念。日志存储连续监视器输入文件。如果文件中发生任何更改,它将发送到筛选器。 若

现在,当logstash filter获得eof时,似乎logstash filter还在运行,但该文件并没有更多的日志输出到elasticsearch索引


当文件eof结束时,如何从logstash筛选器中退出以执行其他任务?

logstash中没有eof的概念。日志存储连续监视器输入文件。如果文件中发生任何更改,它将发送到筛选器。
若你们想监控多个文件,你们可以在输入部分给多个文件块

logstash中没有eof的概念。日志存储连续监视器输入文件。如果文件中发生任何更改,它将发送到筛选器。
若你们想监控多个文件,你们可以在输入部分给多个文件块

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

在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过滤器的输出上使用exec解决了这个问题,并创建了一个bash脚本来终止logstash进程

在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
同样的问题: