我可以在读取文件后删除文件,还是在处理完所有文件后通知?

Can I delete a file after it is read, or notify when all are processed?

我有一个通过 Logstash 读入 Elasticsearch 的文件列表。我想知道如何知道什么时候文件都被赶上了。

我正在考虑在文件完全读入后将其删除。

我还没有看到任何关于文件完成或文件删除的通知或确认。 我喜欢一些见解,因为我认为它将成为配置文件的一部分。我就是没见识。

理想情况下:我希望在文件完全消耗后将其删除。这样,我就可以处理所有文件类型,从 txt 文件开始。

使用 logstash 中的 file 输入你可以做到这一点,你需要更改两个配置选项,mode and file_completed_action

您需要将mode选项更改为read,默认为tail,并添加值为deletefile_completed_action

file {
    mode => "read"
    path => "/path/to/your/files/*.log"
    file_completed_action => "delete"
}