使用Logstash删除文件

时间:2015-05-17 11:51:25

标签: elasticsearch logstash

我们希望配置Logstash,以便在完成输入文件的处理后删除该文件。有没有办法做到这一点?

由于

1 个答案:

答案 0 :(得分:1)

股票file input没有"完成"概念。它假定文件总是可以接收更多数据并且永远不会放弃等待。您可以做的是使用读取到EOF的stdin input然后终止Logstash,之后您可以删除该文件(如果Logstash成功终止)。所以,基本上是这样的:

/path/to/logstash -f /path/to/configfile < logfile.log && rm logfile.log

不幸的是,如果在处理文件时关闭Logstash,则无法重新启动Logstash并将其从中断处继续。如果您需要能够这样做,请考虑使用文件输入并读取sincedb文件以确定Logstash是否已到达文件末尾。有关这些文件的格式,请参阅Understanding sincedb files from Logstash file input