Ротация логов в logstash

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


person rresol    schedule 29.06.2016    source источник


Ответы (1)


Попытаюсь частично ответить на ваши вопросы.

Первое - ротация логов.

Из документов:

Обратите внимание, что повернутое имя файла будет рассматриваться как новый файл, поэтому, если start_position установлено в начало, повернутый файл будет повторно обработан.

https://www.elastic.co/guide/en/logstash/current/plugins-inputs-file.html

Это означает, что если у вас есть переименование в ротации файлов, вы, скорее всего, удвоите свой файл (если, как я полагаю, путь не исключает переименованный файл).

Если ваш путь исключает ваш переименованный файл, то все должно быть в порядке.

Я исправил это по-другому (в java и python соответственно).

Я отключаю переименование файлов и вместо этого называю файл журнала с префиксом даты. Итак, для меня в моем Java-приложении имя файла:

my-server-log-%h-%d.log

Поскольку я работаю в распределенной среде, я включаю имя хоста в имя файла журнала.

%h = имя хоста %d = дата

Это заканчивается тем, что мой файл называется:

my-server-log-pandaadb-2016-06-20.log

Этот файл никогда не переименовывается. Я изменил свой алгоритм вращения, чтобы просто не переименовывать, а вместо этого в полночь создать новый файл и оставить предыдущий файл нетронутым. Это приводит к тому, что logstash (правильно) знает, что он прочитал все строки в предыдущем файле. Он подбирает новый файл, так как я использую подстановочные знаки в своем вводе. Журналы не дублируются.

Кстати, это также неплохо работает в сочетании с rsync.

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

Артур

Редактировать: я пока не работал с filebeat, поэтому не могу комментировать эту часть.

person pandaadb    schedule 29.06.2016
comment
Можете ли вы дать мне некоторую информацию о пакетбите? - person rresol; 30.06.2016
comment
Извините, я тоже раньше не работал с packagebeat. До сих пор я использовал только ввод stdin и file - person pandaadb; 30.06.2016