当日志源是文件时,Logstash如何分辨出日志文件中的新行?

时间:2018-12-27 04:57:09

标签: logstash elastic-stack

这是一个部署在docker中的SpringBoot网站,ELK用作日志堆栈。 Logstash的数据源是website.log。

我检查了Kibana的日志,发现日志是以线路为单位的。

Logstash正在监视website.log文件,并从中读取内容作为数据源。

虽然文件中有很多旧行,但我不知道何时有新行进入website.log文件中,Logstash如何分辨出哪一行是新行并仅将新行发送到ElasticSearch?

2 个答案:

答案 0 :(得分:1)

Logstash跟踪其配置为监视的文件中的当前位置。有关logstash如何跟踪文件中当前位置的更多详细信息,请参见link

答案 1 :(得分:1)

使用文件插件时,您可以将开始位置设置为here所述的开始或结束。我认为您正在查看的是最终配置,您只想在其中读取日志中的实时数据流。

此外,在匹配时间的同时,您可以用事件的时间戳覆盖时间戳,该事件的时间戳是记录在日志中的时间戳(如果存在); date过滤器。这样,您可以调试它是读取当前行还是读取较旧的行。