Возможно ли, чтобы Logstash отправлял одно и то же содержимое из файла журнала в ElasticSearch

#elasticsearch #logstash #logstash-file

#elasticsearch #logstash #logstash-file

Вопрос:

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

input Часть похожа на приведенную ниже

 input{
    file{
        path => "/data/logs/backend.log*"
        start_position => "beginning"
    }
}
  

Затем файл журнала будет изменяться по размеру, что означает, что сначала имя файла журнала будет backend.log таким, когда файл достигнет размера 10M, затем он будет переименован в backend.log.1 , и появится новый пустой серверный сервер.журнал создается для регистрации содержимого.

Итак, вопрос в том, будет ли logstash отправлено содержимое с backend.log.1 сервера es? Или ElasticSearch может отличить содержимое от backend.log.1 уже полученного, хотя это кажется неэффективным.

Ответ №1:

file Входная документация содержит целый абзац о том, насколько хорошо он обрабатывает вращение

Поворот файла обнаруживается и обрабатывается этим вводом, независимо от того, поворачивается ли файл с помощью операции переименования или копирования. Для поддержки программ, которые записывают в повернутый файл в течение некоторого времени после поворота, включите как исходное имя файла, так и повернутое имя файла (например, /var/log/syslog и /var/log/syslog .1) в шаблонах имен файлов для просмотра (опция path).

Поскольку tail режим используется по умолчанию, ваш path параметр должен обязательно использовать шаблон glob для захвата всех файлов, точно так же, как вы это делали. Итак, все готово. Счастливого хвоста!