Вопрос

Я читаю свои лог-файлы (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
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top