Использование Elasticsearch ILM без начальной загрузки первого индекса

Я пытаюсь установить политику ILM для кластера Elasticsearch из 3 узлов (горячий, теплый и холодный), чьи журналы поступают из Logstash. Мне нужно, чтобы индексы переворачивались после достижения определенного размера. Также название источника данных каждого журнала должно быть указано в названии индексов (например, event-nxlog-2022.01.01-000001). Проблема заключается в том, что, поскольку в проекте существует множество источников данных, для каждого источника данных необходимо загрузить множество индексов в качестве первого индекса, а многие файлы конфигурации logstash должны быть изменены.

По поводу предоставленного описания у меня 2 вопроса:

1- Необходимо ли, чтобы политика ILM упоминалась в выходном плагине Logstash с использованием ilm_enabled, ilm_policy, ilm_rollover_aliasи ilm_patternнастройки? Есть ли способ вместо этого использовать только имя индекса и позволить elasticsearch управлять самим ILM?

2- Должны ли загружаться первые индексы каждого источника данных? Есть ли способ создать первые индексы и автоматически их перевернуть? или какой-либо способ загрузить все индексы с помощью одного запроса с использованием шаблонов индексов?

1 ответ

Если все индексы могут иметь одну и ту же политику ILM, можно заменить политику logstash по умолчанию, как показано ниже:

        logstash:
    image: logstash:7.17.7
    environment:
      - STDOUT=true
    volumes:
      - ./logstash/logstash.yaml:/etc/logstash.yaml:ro
      - ./logstash/ilm-policy.json:/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-output-elasticsearch-11.4.1-java/lib/logstash/outputs/elasticsearch/default-ilm-policy.json:ro
    command: 'logstash -f /etc/logstash.yaml'

Это будет работать, если эластичные данные создаются с нуля, например, после загрузки данных кластера. Я открыл запрос функции для эластичного плагина logstash, чтобы добавить параметр вывода, который позволил бы настроить пользовательский файл политики ILM.

Другие вопросы по тегам