2015-06-22 6 views
1

Я использую конфигурационный файл для последующей моей Logstash Экспедитора:Есть ли способ заставить Logstash Forwarder отправлять только новые журналы?

{ 
    "network": { 
    "servers": [ "logstash-server:logstash-door" ], 
    "ssl ca": "server.crt", 
    "timeout": 15 
    }, 

    "files": [ 
    { 
     "paths": [ "myLogFile.log" ], 
     "fields": { "type": "myLog" } 
    } 
    ] 
} 

Он отлично работает. Но если приложение остановится, когда я верну его, он снова отправит старые журналы на мой сервер журнала. Это большая проблема, есть ли способ избежать повторной отправки старых журналов?

ответ

2

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

Проверьте сценарий запуска, где он записывает реестр (с именем «.logstash-forwarder»). Старые версии будут записывать его в каталог, где была запущена программа, а более новые версии - в/var/lib/logstash-forwarder.

Запуск logstash-forwarder в режиме отладки (-quiet = false) также может предоставить вам дополнительную информацию.

+0

На самом деле, мне просто нужно включить '-tail = true', и экспедитор загрузит смещение. Спасибо чувак. –

+0

Это для новых файлов. Ранее просмотренные файлы контролируются реестром. –

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

  • Нет связанных вопросов^_^