Filebeat с ELK > как эффективно создавать индексы для каждого файла журнала

Я планирую использовать Filebeat(S) для копирования файлов журнала из предопределенного каталога каждого узла в общую базу данных Elasticsearch с помощью Logstash. Например, в исходном каталоге есть 10 файлов журнала с тем же форматом журнала, и они растут с высокой скоростью каждый день.

Хотя тот факт, что эти 10 файлов журнала имеют тот же формат журнала, но они генерируются 10 различными программами. Таким образом, в долгосрочной перспективе может быть целесообразно построить индекс для каждого файла журнала, т. е. 10 индексов, каждый из которых соответствует одному файлу журнала. Во-первых, я хотел бы знать, является ли это подходящим планом? Или достаточно только одного индекса для всех данных журнала, потому что индекс генерируется на ежедневной основе?

Если разумно построить индекс на файл журнала, то как достичь этой цели? Похоже, что filebeat.yml позволяет определять только один индекс, поэтому невозможно использовать один файловый бит для создания нескольких индексов. Есть ли хорошее решение для этого?

1 ответ

  1. Filebeat является только грузоотправителем. Сам по себе он не может отправлять несколько индексов Elasticsearch. Для этого вам нужна Logstash.

    В Filebeat определите несколько различных навигаторов для файлов журнала и задайте другое значение для поля, чтобы это можно было использовать в Logstash для выполнения логики.

    Затем в Logstash в зависимости от поля, которое может иметь разные значения для каждого навигатора, отправляйте событие в тот или иной индекс.