Logstash文件输入:sincedb_path

时间:2015-04-11 01:43:47

标签: logstash logstash-file logstash-configuration

重新启动Logstash后,有时会发现Logstash会复制日志事件。想知道应用start_positionsincedb_pathsincedb_write_interval配置选项的正确方法是什么。

  • 当我的示例/home/tom/testData/*.log
  • 中位于同一位置的多个文件时会发生什么情况
  • 发生文件轮换时会发生什么情况,例如XXX.log文件重命名为XXX-<date>.log并创建新的XXX.log文件。在这种情况下,名称不会更改,但inode会更改。

如果有人能对此有所了解,我们将非常感激。

input {
           file {
             path => "/home/tom/testData/*.log"
             type => "log"
             start_position => "beginning"
             sincedb_path => "/persistent/loc"        
             sincedb_write_interval => 10
               }
       }

1 个答案:

答案 0 :(得分:5)

start_position(开头或结尾)仅用于logstash尚未看到的文件。使用“开始”的唯一原因是当您尝试加载旧文件时。

sincedb_path只需要是logstash对注册表具有写权限的目录。

sincedb_write_interval定义了logstash应该写sincedb注册表的频率。一个更大的值会使你在logstash崩溃时面临风险。

如果您有多个与您的glob匹配的文件,则logstash会通过在注册表中包含多个条目来单独跟踪它们。

注册表包含inode编号,因此logstash知道在该类型的轮换中该怎么做。