Причины и последствия размещения даты в названии эластичного индекса - PullRequest
0 голосов
/ 16 ноября 2018

Я смотрю на отправку журналов моего приложения в Elastic (6.x) через FileBeat и Logstash.Как уже упоминалось в Настройка вывода Logstash и рекомендуется в других местах, мне кажется, что мне нужно добавить дату в имя индекса.Причиной этого было то, что когда пришло время удалять старые данные, было легче удалить весь индекс по дате, а не отдельные документы.Это правда?

Если я буду следовать этой рекомендации по добавлению даты в имя индекса, мне интересно, какие дополнительные действия мне нужно сделать для обеспечения бесперебойного запроса?Я имею в виду запрос esp.в Кибане, например, за прошедший день, который должен был бы посмотреть на сегодняшний индекс, а также на вчерашний индекс.

Говоря о запросах в Кибане, есть ли способ просто работать с именем базового индекса без отметки даты, то есть настроить его так, чтобы я не видел или не имел дело с датой именованных индексов?


Редактировать: Камаль поднял хорошую мысль, что я не предоставил никакой информации о моем кластере и моих потребностях.Вот с чем я работаю:

Каково ваше ежедневное создание данных / ожидаемое количество

Я не уверен.Я не ожидаю ничего больше, чем ГБ данных в день, и не более пары документов по 100 КБ в день.Поскольку это журналы, я не ожидаю каких-либо обновлений документов после их создания.

Скорость роста данных в будущем (1 год - 5 лет)

В настоящее время я не вижу скорости роста, чтобы пересечь ГБ aдень.

Сколько команд используют один и тот же кластер, кроме вашего, если есть какой-либо

Кластер будет использоваться (фактически запрашиваться) только моей командой.Нас сейчас около 5, но я не вижу более 10 пользователей (и это не является одновременным, всего за день или месяц)

Шаблоны использования, тип используемых запросов и т. Д.

Я не уверен, но, конечно, не будет обновлений данных, кроме удалений

Информация об оборудовании

У меня нетработал с руководством.По большей части я ожидаю 3 узла.Кроме того, это не критично, т. Е. Если по какой-то причине мы потеряем все наши журналы, я не потерял бы сон из-за этого.

Ответы [ 2 ]

0 голосов
/ 17 ноября 2018

Прежде всего вам нужно сделать шаг назад и понять, действительно ли вам нужно multiple index или single one (, где вам нужно отфильтровать документы при запросе, используя поле даты для определенной даты ) ,

Некоторые вопросы, которые вы должны задать, прежде чем принять такое решение

  • Каково ваше ежедневное создание данных / ожидаемое количество
  • Темпы роста данных в будущем (1 год - 5 лет)
  • Сколько команд используют один кластер, кроме вашего, если таковой имеется
  • Шаблоны использования, тип используемых запросов и т. Д.
  • Детали оборудования

Преимущества

В некотором смысле, было бы более полезно иметь несколько индексов ( с полем даты в качестве имени индекса ).

  • Вы можете удалить старые индексы, не затрагивая новые.
  • В случае, если вам нужно изменить отображение, вы можете сделать это с новым индексом, не затрагивая старые. Сравнительно меньше накладных расходов, в то время как для отдельного индекса вы должны переиндексировать все документы, что заняло бы намного больше времени, если размер довольно большой. И если это будет происходить время от времени, вам нужно будет найти решение, в котором вы должны выполнять такие операции во время минимального использования. Это означает, что это может повредить производительности.
  • поиск по нескольким индексам по-прежнему удобен.
  • не совсем уверен, но его легче масштабировать с использованием нескольких индексов.

Недостатки:

  • Для каждого индекса создаются дополнительные осколки, которые могут тратить некоторое пространство для хранения.
  • Расходы на поддержку нескольких индексов группой мониторинга / операций.
  • Иногда это может привести к чрезмерному созданию индексов.
  • Нет изменений в отображении и меньше вставок документов (через 100 или несколько сотен), было бы лучше использовать один индекс.

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

Говоря о запросах в Кибане, есть ли способ просто работать с имя базового индекса без отметки даты, т.е. Я не вижу или не имею дело с датой названной индексов?

Да, есть. Если у вас есть индексы с такими именами, как logs-0001, logs-0002, вы можете использовать logs-* в качестве indexname при запросе.

0 голосов
/ 17 ноября 2018

Включение даты в имя индекса является очень распространенным вариантом использования, реализуемым многими пользователями Elasticsearch.Это помогает с архивированием / очисткой старых индексов, как вы упомянули.Вам не нужно ничего делать, чтобы иметь возможность запрашивать.Установите базовое имя вашего индекса в качестве шаблона индекса для ваших индексов, например.logstash- * и вы можете запросить этот конкретный шаблон индекса в Kibana.

...