2015-02-06 3 views
0

Я подключил logstash, Elasticsearch и Kibana. Все работает отлично.Настройка logstash для получения обновленных значений

Я использовал logstash, чтобы взять журналы tomcat.

input { 
file { 
    path => "/tom_logs/*" 
    type => "tomcat" 
    start_position => "end" 
} 
} 

Как только я обновил файл журнала, он берет целые журналы в файле вместо обновленного журнала. Я просто хочу загрузить последний обновленный журнал.

Любой мне помогает.

Заранее спасибо

+0

Logstash создает файл sincedb для сохранения позиции для каждого входного файла. Обычно это '$ HOME/.sincedb'. Вы должны проверить, будет ли этот файл создан/может быть создан. – mp911de

ответ

0

Ваша задача немного странно, потому что я никогда не испытывал его. Чтобы быть уверенным, что я правильно понимаю: когда приходит новый журнал, logstash начинает снова анализировать все журналы в файле?

Вы правильно указываете start_position=>"end", который фактически является опцией по умолчанию. В этом случае logstash должен учитывать только новые изменения в файле (так, новые журналы) с момента его запуска.

Итак, я думаю, что проблема с этой «ошибкой» не в логсташе, а в том, как «tomcat пишет журналы». Но если бы я был вами, я попытался бы указать только path=>"tom_logs/*.log" вместо *.

Надеюсь, это поможет.