0

我想知道您是否可以通过以下方式配置logstash:

背景资料:

  • 每天我都会收到一个 xml 文件推送到我的服务器,应该对其进行解析。

  • 为了指示之后的完整文件传输,我将一个空的 .ctl(自定义文件)传输到同一文件夹。

  • 这两个文件都具有以下名称架构'feedback_{year}{yearday}_UTC{hoursminutesseconds}_51.{extention}'(例如feedback_16002_UTC235953_51.xml)。因此它们具有相同的文件名,但一个是 .xml,另一个是 .ctl 文件。

问题:

有没有办法配置logstash等待解析xml文件,直到相应的.ctl文件出现?

编辑:有没有办法用filebeat来存档?

EDIT2:如果更容易的话,能够以一种在开始处理新文件之前等待 x 分钟的方式配置 logstash 也足够了。

感谢您提前提供任何帮助

4

1 回答 1

0

您的问题是您不想在文件传输尚未完成之前启动解析器。那么,当您找到标志文件 (empty.ctl) 时,为什么不将数据推送到文件 (file-complete.xml) 中呢?

这是脚本的可能逻辑并使用 crontab 运行:

  • 如果empty.ctl存在:
    • 清除文件-complete.xml
    • 将file.xml的内容添加到file-complete.xml
    • 删除empty.ctl

这样,您需要解析 file-complete.xml 中的数据。我认为调试和配置更简单。

希望能帮助到你,

于 2016-01-27T15:18:12.047 回答