2015-04-11 3 views
4

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

  • Что происходит, когда есть несколько файлов в том же месте, что и в моем примере ниже /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 
       } 
     } 

ответ

5

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

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

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

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

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

+7

'sincedb_path' [должен быть файл] (https://www.elastic.co/guide/en/logstash/current/plugins-inputs-file.html#plugins-inputs-file-sincedb_path), а не каталог. Каталог, в котором находится этот файл, должен быть доступен для записи с помощью 'logstash'. – WoJ

Смежные вопросы