Мониторинг RQL-запросов и управление ресурсами

Сбор и хранение данных об RQL-запросах осуществляется в разделе Диспетчер запросов. В этом разделе отображается информация о запросах из разделов Поиск, Дашборды, времени их выполнения и объеме памяти, выделенной для выполнения. Здесь также можно управлять лимитами памяти, выделяемой для запросов.

По умолчанию в Диспетчере хранится информация о запросах, сделанных в течение 7 последних дней. Изменить срок хранения можно с помощью переменной окружения.

Интерфейс раздела

Вкладка Диспетчер запросов

В верхней части вкладки расположена панель инструментов, которая включает следующие компоненты:

В рабочей области отображается таблица найденных вхождений. Таблица состоит из следующих колонок:

  • Время запуска — дата и время начала выполнения.

  • Статус — состояние обработки запроса: Запущен, Выполнен или Ошибка.

  • Запустил — имя учетной записи пользователя, который сделал запрос. При наведении отображается окно с именем и ролью пользователя.

  • Тип запроса — раздел, где был сделан запрос: Поиск, Дашборды, Общая статистика, Статистика по полю, Оповещения.

  • Время выполнения — время выполнения в миллисекундах.

  • Выделенная память — память, выделенная для выполнения запроса, в мегабайтах с точностью до второго знака после десятичной точки.

  • Время окончания — дата и время окончания (заполнено, если запрос завершен). Поле скрыто по умолчанию.

  • Теги — пользовательские теги, указываются в карточке запроса.

  • Запрос RQL — первые 20 символов запроса на RQL. При наведении курсора мыши отображается окно с полным запросом и кнопка для его копирования.

  • Запрос SQL — первые 20 символов итогового запроса на SQL с учетом примененных фильтров, ограничений по времени и пагинации. При наведении курсора мыши отображается окно с полным запросом и кнопка для его копирования. Поле скрыто по умолчанию.

  • Ошибка — описание ошибки (заполнено, если при выполнении запроса произошла ошибка). Поле скрыто по умолчанию.

При работе с таблицей доступны следующие операции:

  • Фильтрация списка запросов. В параметрах фильтрации доступны следующие опции:

    • Время запуска — временной диапазон, в который был сделан запрос. Начало и конец диапазона задаются с помощью панели выбора даты и времени.

    • Статус — состояние выполнения, выбирается из выпадающего списка.

    • Запустил — пользователь, который запустил запрос, выбирается из выпадающего списка.

    • Тип запроса — раздел, где сделан запрос, выбирается из выпадающего списка.

    • Минимальное время выполнения — отображает запросы с длительностью выполнения, равной или большей заданному времени, указывается вручную в миллисекундах.

    • Выделенная память — отображает запросы, для которых выделено количество памяти, равное или большее заданного, указывается вручную в мегабайтах.

    • Теги вводятся вручную и применяются по нажатию клавиши ENTER.

  • Сортировка по дате и времени начала, времени выполнения запроса и выделенной памяти.

    По умолчанию таблица упорядочена по времени начала выполнения от самых новых запросов к более старым.

  • Обновление таблицы.

  • Настройка отображения таблицы.

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

Вкладка Управление ресурсами

В верхней части вкладки расположена панель инструментов, которая включает следующие компоненты:

  • Кнопка Создать (plus) позволяет создать новый лимит памяти.

  • Поле поиска позволяет искать лимиты по названию.

  • Кнопка Фильтр (filter) позволяет задать критерии, по которым будут отобраны лимиты.

В рабочей области отображается таблица найденных вхождений. Таблица состоит из следующих колонок:

  • Название — имя, используемое для идентификации лимита в системе.

  • Статус — состояние лимита (включен/выключен).

  • Роль — список ролей, для которых установлен лимит.

  • Лимит — лимит выделяемой памяти в мегабайтах.

  • Дата создания — дата и время создания лимита.

  • Дата изменения — дата и время изменения лимита.

При работе с таблицей доступны следующие операции:

  • Фильтрация списка лимитов по ролям, для которых установлены лимиты.

  • Сортировка таблицы по названию, объему, датам создания и изменения лимита.

  • Настройка отображения таблицы.

При выборе отдельного лимита в правой части рабочей области отображается карточка с детальной информацией о нем.

Просмотр запроса

Чтобы просмотреть сведения о запросе, нажмите на строку запроса в списке. В правой части экрана отобразится карточка с подробной информацией.

Чтобы закрыть карточку, нажмите на крестик в правом верхнем углу карточки.

ID запроса указан в заголовке карточки. Карточка содержит следующие поля:

  • Время запуска — дата и время начала выполнения.

  • Статус — состояние обработки запроса: Запущен, Выполнен или Ошибка.

  • Ошибка — сообщение об ошибке (поле заполнено, если запрос завершился с ошибкой).

  • Запустил — имя и роль учетной записи пользователя, который сделал запрос.

  • Время выполнения — время выполнения с точностью до миллисекунд.

  • Выделенная память — память, выделенная для выполнения запроса, в мегабайтах.

  • Тип запроса — раздел, где был сделан запрос: Поиск, Дашборды, Общая статистика, Статистика по полю, Оповещения.

  • Время окончания — дата и время окончания (поле заполнено, если запрос завершен).

  • Теги — теги запроса, указываются вручную.

  • Запрос RQL — запрос на языке RQL и кнопка для его копирования.

  • Запрос SQL — запрос на SQL и кнопка для его копирования.

Экспорт истории запросов

Чтобы экспортировать историю запросов:

  1. Нажмите на кнопку Экспорт (export) на панели инструментов. Отобразится окно экспорта истории.

  2. Нажмите на кнопку Экспортировать. Данные будут загружены на устройство пользователя в формате CSV. Система отобразит уведомление об успешном экспорте.

Работа с лимитами

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

Лимиты применяются в следующем порядке:

  • При выполнении запроса система проверяет лимит роли пользователя.

  • Если у пользователя есть несколько ролей, для которых установлены лимиты, используется наибольший из лимитов.

  • Если для ролей пользователя нет включенных лимитов, система использует ограничение на максимальное потребление памяти из настроек ClickHouse.

Доступные операции над лимитами:

Создание лимита

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

Чтобы создать лимит:

  1. Перейдите в раздел Инструменты → Диспетчер запросов и откройте вкладку Управление ресурсами.

  2. Нажмите на кнопку Создать (plus). Отобразится окно создания лимита.

  3. Введите название лимита.

  4. Выберите из выпадающего списка роли, для которых устанавливается лимит.

  5. Введите значение лимита в мегабайтах (по умолчанию — 1024 Мб).

  6. Нажмите на кнопку Создать. Система создаст лимит и отобразит уведомление об успешном создании. Новый лимит появится в разделе Инструменты → Диспетчер запросов на вкладке Управление ресурсами.

Если для каких-либо из указанных ролей уже заданы лимиты, система отобразит уведомление об ошибке.

Просмотр лимита

Чтобы просмотреть лимит:

  1. Перейдите в раздел Инструменты → Диспетчер запросов и откройте вкладку Управление ресурсами. Система отобразит сведения об имеющихся лимитах.

  2. Нажмите на строку лимита в списке. Система отобразит в правой части экрана карточку с подробной информацией о лимите.

Чтобы закрыть карточку, нажмите на крестик в правом верхнем углу карточки.

Название лимита отображается в верхней части карточки. Карточка содержит следующие элементы:

  • Переключатель статуса лимита.

  • ID — идентификатор лимита.

  • Название — имя, используемое для идентификации лимита в системе.

  • ID тенанта — идентификатор тенанта.

  • Статус — состояние лимита (включен/выключен).

  • Роль — роли, для которых установлен лимит.

  • Лимит — лимит выделяемой памяти в мегабайтах.

  • Дата создания — дата и время создания лимита.

  • Создал — имя учетной записи пользователя, который создал лимит.

  • Дата изменения — дата и время изменения лимита.

  • Изменил — имя учетной записи пользователя, который изменил лимит.

Включение и выключение лимита

Чтобы лимит учитывался при выполнении RQL-запросов, его нужно включить.

Чтобы включить лимит:

  1. Перейдите в раздел Инструменты → Диспетчер запросов и откройте вкладку Управление ресурсами. Система отобразит сведения об имеющихся лимитах, в том числе их текущий статус (включен/выключен).

  2. Нажмите на строку лимита в списке. Система отобразит в правой части экрана карточку с подробной информацией об этом лимите.

  3. Переведите переключатель состояния лимита в верхней части карточки в активное положение. Отобразится окно подтверждения.

  4. Нажмите на кнопку Включить. Система обновит статус лимита и отобразит уведомление о включении. Лимит станет действовать при выполнении запросов.

Чтобы выключить действующий лимит:

  1. Перейдите в раздел Инструменты → Диспетчер запросов и откройте вкладку Управление ресурсами. Система отобразит сведения об имеющихся лимитах, в том числе их текущий статус (включен/выключен).

  2. Нажмите на строку лимита в списке. Система отобразит в правой части экрана карточку с подробной информацией об этом лимите.

  3. Переведите переключатель в верхней части карточки в неактивное положение. Отобразится окно подтверждения.

  4. Нажмите на кнопку Выключить. Система обновит статус лимита и отобразит уведомление о включении. Лимит перестанет действовать при выполнении запросов.

Изменение лимита

Чтобы изменить лимит:

  1. Перейдите в раздел Инструменты → Диспетчер запросов и откройте вкладку Управление ресурсами. Система отобразит сведения об имеющихся лимитах.

  2. Нажмите на строку лимита в списке. Система отобразит в правой части экрана карточку с подробной информацией об этом лимите.

  3. Нажмите на кнопку действий (more vertical) в верхнем правом углу карточки и выберите опцию Изменить. Отобразится окно настроек лимита.

  4. Внесите изменения в требуемые поля.

  5. Нажмите на кнопку Сохранить. Система сохранит изменения и отобразит уведомление об этом. Обновленная информация отобразится в карточке и списке лимитов.

Название лимита также можно изменить непосредственно из его карточки:

  1. Перейдите в раздел Инструменты → Диспетчер запросов и откройте вкладку Управление ресурсами. Система отобразит сведения об имеющихся лимитах.

  2. Нажмите на строку лимита в списке. Система отобразит в правой части экрана карточку с подробной информацией об этом лимите.

  3. Нажмите на кнопку edit рядом с полем Название в карточке. Система отобразит поле ввода значения.

  4. Введите новое название.

  5. Нажмите Сохранить. Система сохранит измененное название и отобразит уведомление об этом. Новое название отобразится в карточке и списке лимитов.

Удаление лимита

Чтобы удалить лимит:

  1. Перейдите в раздел Инструменты → Диспетчер запросов и откройте вкладку Управление ресурсами. Система отобразит сведения об имеющихся лимитах.

  2. Нажмите на строку лимита в списке. Система отобразит в правой части экрана карточку с подробной информацией об этом лимите. Нажмите на кнопку действий (more vertical) в верхнем правом углу карточки и выберите опцию Удалить. Отобразится окно для подтверждения удаления.

  3. Нажмите на кнопку Удалить. Система удалит лимит и отобразит уведомление об успешном удалении. Удаленный лимит будет исключен из списка. Лимит перестанет действовать при выполнении запросов.