【问题标题】:How to return to terminal when logstash filter get eof?当logstash过滤器得到eof时如何返回终端?
【发布时间】:2015-07-22 00:46:58
【问题描述】:

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

当它是文件结尾 (eof) 时,我如何才能退出 logstash 过滤器,以执行其他任务?

【问题讨论】:

    标签: filter logstash eof


    【解决方案1】:

    我在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
    

    同样的问题:How to automatically kill a logstash agent when tests are done?

    【讨论】:

    • `错误:没有要加载的文件--logstash/outputs/exec"`
    【解决方案2】:

    logstash 中没有 eof 的概念。 logstash 连续监控输入文件。如果文件发生任何更改,它将发送到 filter 。 如果要监视多个文件,则可以在输入部分中提供多个文件块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-13
      相关资源
      最近更新 更多