Итак, у меня есть вопрос об основных функциях logstash. У меня много разных файлов .L01, которые я экспортировал в файлы журналов. Каждый файл .L01 представляет хост, и функция экспорта выгружает его в дерево папок. Мне нужно прочитать журналы из этих отдельных «папок хоста», включая все различные подпапки. Очевидно, что вручную добавить путь к каждому входному журналу невозможно. Все файлы представляют собой журналы разных типов, поэтому я не могу определить для них стандартный фильтр. Если я просто запустил logstash без определения каких-либо фильтров, он просто выгружает весь журнал в поле @message следующим образом:
"message" => "6.703: Destination:C:\\WINDOWS\\INF\\inetres.adm \r",
"@version" => "1",
"@timestamp" => "2014-07-18T00:42:32.544Z",
"tags" => [
[0] "host_1"
],
"host" => "<hostname>",
"path" => "<whatever the path is>"
Итак, как мне настроить logstash, если мне по существу нужно читать все журналы, созданные на компьютере (естественно, разные типы журналов), но из папки (поэтому нельзя использовать плагины ввода, такие как syslog). Нужно ли мне писать отдельные фильтры для каждого вида журналов? Для этого мне потребуется вручную проанализировать все папки и подпапки, а затем написать фильтр для каждого журнала после изучения содержимого. Я не думаю, что смогу это сделать, потому что мне нужно сделать это примерно для 20 хостов. Буду признателен за любую помощь в этом вопросе.
Спасибо
Вы можете указать несколько путей во входном файле
путь (обязательная настройка)
Тип значения - массив
Для этого параметра нет значения по умолчанию.
Вы также можете настроить несколько путей. См. Пример на странице конфигурации Logstash.
Если вам нужно указать, что нужно искать в подкаталогах, вы можете использовать / ** /, чтобы указать, что нужно идти на уровень глубже.
Надеюсь, это поможет прояснить ситуацию.