有时logstash重播所有日志

时间:2019-01-10 00:21:41

标签: logstash

要将服务日志发送到kafka,我使用logstash(6.5.3)。 但是服务器会重新启动,并在logstash有时有时启动时,将所有过去的日志发送到kafka。 我不知道为什么。

(ex)

日志1->已完成
日志2->已完成
日志3->已完成
日志4
日志5

服务器重新启动和有时 logstash重新启动

日志1->重播
日志2->重播
日志3->重播
日志4->发送
日志5->发送

但我期望:

日志4->发送
日志5->发送

这是我的logstash conf:

input {
   file {
       type => "log"
       path => [...]
       sincedb_write_interval => 1
       start_position => "beginning"
   }
   .
   .
}

1 个答案:

答案 0 :(得分:0)

尝试以下配置

input {
  file {
    path => "*.log"
    type => "log"
    start_position => "beginning"
    ignore_older => 0
    sincedb_path => "/usr/share/log/sincedb/log.sincedb"
    sincedb_write_interval => 1
  }
}

其中 sincedb_path 必须是logstash具有注册表写入权限的文件。 它将最后读取的详细信息写入此文件中

sincedb_write_interval 定义了logstash应该多久写入一次sincedb注册表。较大的值会使您面临逻辑崩溃的风险。

参考:Logstash File input: sincedb_path

https://discuss.elastic.co/t/how-does-sincedb-work-for-a-logstash-reading-multiple-files-from-a-single-directory/99456/4