ПРЕДПОСЫЛКА:
У нас есть rsyslog
создание каталогов файлов журналов, таких как: /var/log/rsyslog/SERVER-NAME/LOG-DATE/LOG-FILE-NAME
Таким образом, несколько серверов разливают свои журналы разных дат в центральное место.
Теперь, чтобы прочитать эти журналы и сохранить их в elasticsearch для анализа, у меня есть файл конфигурации logstash примерно так:
file{
path => /var/log/rsyslog/**/*.log
}
ВЫПУСК:
Теперь, когда количество файлов журнала в каталоге увеличивается, logstash открывает файловые дескрипторы (FD) для новых файлов и не будет выпускать FD для уже прочитанных файлов журналов. Поскольку файлы журнала сгенерированы за дату, после того, как они будут прочитаны, после этого это бесполезно, поскольку после этой даты оно не будет обновляться.
Я увеличил ограничение на открытие файлов до 65K в /etc/security/limits.conf
Можем ли мы заставить logstash закрыть дескриптор через некоторое время, чтобы количество открытых дескрипторов файлов не увеличилось слишком много?