使用logstash收集日志文件的一些缺失行

时间:2015-04-09 15:26:05

标签: logstash

如果我们在固定时间内停止logstash并重新启动后,如何收集日志文件的新行?知道:

start_position => 'end'

1 个答案:

答案 0 :(得分:0)

As documented,文件输入的start_position参数仅控制Logstash第一次遇到文件时发生的情况。第一次联系后,Logstash仅使用存储在sincedb文件中的内部书签。

换句话说,重启或关闭Logstash一般都可以。当它再次启动时,它会拾取所有内容。但有两点需要注意:

  • 如果日志文件通过重命名操作(大多数情况下是默认设置)旋转,而Logstash关闭且文件名模式不覆盖旋转的文件,则最后一行将丢失。出于这个原因,Logstash也很容易跟踪第一个旋转的文件,所以如果你想要跟踪/ var / log / syslog,并且每天早上将该文件轮换到/var/log/syslog.1,以便包含这两个文件。
  • 如果收到SIGTERM信号,Logstash 1.4.2不会正常关闭。当前在20消息缓冲区中的所有消息都将丢失。另外,我不确定sincedb文件是否被刷新。发送SIGINT将确保正常关闭。