Чтение файлов из нескольких каталогов в Logstash?
-
21-12-2019 - |
Вопрос
Я читаю свои лог-файлы (cron_log, auth_log, mail_log и т.д.), используя эту конфигурацию:
file{
path => '/path/to/log/file/*_log'
}
Итак, я читаю свои лог-файлы и проверяю:
if(path) ~= "cron" -----match--------
if(path) ~= "auth" -----match--------
Теперь у меня есть такие каталоги, как: Server1 Server2 Server3
......В Server 1
есть подкаталоги: authlog cronlog
.....Внутри authlog есть подкаталоги по дате (например 2014.05.26, 2014.05.27
), которые, наконец, содержат файл журнала за день, который я должен проанализировать.
Итак, в настоящее время у меня был один конфигурационный файл, который используется для чтения файлов с помощью *_log
и я использую для запуска этот конфигурационный файл и все файлы журналов, присутствующие в /path/to/log/file/*_log
были разобраны.
Теперь мне приходится читать из многих каталогов (как объяснено выше).
Придется ли мне писать отдельный конфигурационный файл для каждого каталога??
Каков наилучший способ добиться этого с помощью logstash??
Решение
Рубиновые шарики интерпретируют **
как включающий все подкаталоги.
Так, например, вы могли бы дать следующее file
вход такой путь, как:
/path/to/date/folders/**/*_log