#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 для захвата всех файлов, точно так же, как вы это делали. Итак, все готово. Счастливого хвоста!