Коллеги, добрый день.
Подскажите, пожалуйста, как защититься от пользовательских запросов в elasticsearch, когда пользователь выбирает огромный диапазон данных и этот объем просто на некоторое время (пока по таймауту не отобьётся) кладёт систему.
Возможно ли дать настройку ограничения вывода данных, скажем не более чем 1000000 документов. Или чтобы elasticserach разбивал на порции такой батч и выводил данные порционно.
Буду благодарен за наводку.
P.S. coordination- ноды в системе, к сожалению пока нет, и выборка данных делается на прямую с дата-нод.
У нас elasticsearch 7.3.2. Коллеги сегодня запросил данные из grafana за 1 мес.и кластеру стало плохо - нагрузка до 100%. По идее если более 10000 нельзя, то запрос не должен был привезти к таймаутам обращений остальных клиентов и в целом к проблемам с производительностью кластера?
Игорь, я правильно понял, что нужно посмотреть данный параметр через api и уменьшить его скажем до 5000?
Даш-борд отображал 50 графиков, все они - это выборка из эластика с условиями, с жесткой агрегацией данных за 1 минуту. Вот и хотелось бы понять как от таких запросов защитить кластер. Поскольку бизнесу важно данные видеть с разбивкой в 1 минуту, агрегация auto не подходила. Да медленный журнал включён.
За последние 2-3 часа с возможностью перестраивания графика за любой диапазон, чтобы получить сравнительную статистику.
Вот и планировалось как-то ограничить на уровне кластера, если данных запрошено слишком много, скажем за 5 дней, чтобы этот запрос либо как-то разбивался или даже отбивался сразу
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.