Logstash文件输入:sincedb_path

Joh*_*n C 4 logstash logstash-file logstash-configuration

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

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

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

input {
           file {
             path => "/home/tom/testData/*.log"
             type => "log"
             start_position => "beginning"
             sincedb_path => "/persistent/loc"        
             sincedb_write_interval => 10
               }
       }
Run Code Online (Sandbox Code Playgroud)

Ala*_*ins 5

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

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

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

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

注册表包含inode编号,因此logstash知道在该类型的旋转中要做什么.

  • `sincedb_path` [必须是文件](https://www.elastic.co/guide/en/logstash/current/plugins-inputs-file.html#plugins-inputs-file-sincedb_path),而不是目录.此文件所在的目录必须可由`logstash`写入. (9认同)