Вход в файл Logstash: sincedb_path

После перезапуска Logstash время от времени наблюдалось, что Logstash дублирует события журнала. Интересно, как правильно применить параметры конфигурации start_position, sincedb_path, sincedb_write_interval.

  • Что происходит, когда в одном месте находится несколько файлов, как в моем примере ниже /home/tom/testData/*.log
  • Что происходит, когда происходит ротация файлов, например, файл XXX.log переименовывается в XXX-<date>.log и создается новый файл XXX.log. В этом случае имя не меняется, но изменяется индексный дескриптор.

Был бы очень признателен, если бы кто-нибудь мог пролить свет на это.

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

person John C    schedule 11.04.2015    source источник


Ответы (1)


start_position (начало или конец) используется только для файлов, которые еще не были просмотрены logstash. Единственная причина использовать «начало» - это когда вы пытаетесь загрузить старые файлы.

sincedb_path просто должен быть каталогом, в котором logstash имеет разрешение на запись в реестр.

sincedb_write_interval определяет, как часто logstash должен записывать реестр sincedb. Более высокое значение подвергает вас риску сбоя в logstash.

Если у вас есть несколько файлов, соответствующих вашему глобу, logstash отслеживает их отдельно, имея несколько записей в реестре.

Реестр содержит номер inode, поэтому logstash знает, что делать при этом типе ротации.

person Alain Collins    schedule 04.05.2015
comment
sincedb_path должен быть файл, а не каталог. Каталог, в котором находится этот файл, должен быть доступен для записи logstash. - person WoJ; 22.10.2015