Spec-Zone.ru › Elasticsearch 8
›Elasticsearch Руководство [8.17] ›ES|QL ›Использование ES|QL

Использование ES|QL в Kibana

Вы можете использовать ES|QL в Kibana для запроса и агрегирования данных, создания визуализаций и настройки оповещений.

Это руководство показывает, как использовать ES|QL в Kibana. Чтобы следовать запросам, загрузите набор образцовых данных «Образцы веб-логов», выбрав Образцы данных на странице Интеграции в Kibana, выбрав Другие образцы наборов данных и нажав Добавить данные на карте Образцы веб-логов.

Включить или отключить ES|QL

ES|QL включён по умолчанию в Kibana. Его можно отключить, используя параметр enableESQL в Дополнительных настройках.

Это скроет пользовательский интерфейс ES|QL из различных приложений. Однако пользователи смогут получить доступ к существующим артефактам ES|QL, таким как сохранённые поиски и визуализации.

Начало работы с ES|QL

Чтобы начать работу с ES|QL в Discover, откройте главное меню и выберите Discover. Затем выберите Попробовать ES|QL из строки меню приложения.

Строка запроса

После переключения в режим ES|QL в строке запроса отображается пример запроса. Например:

from kibana_sample_data_logs | limit 10

Каждый запрос начинается с команды источника. В этом запросе команда источника — FROM. FROM извлекает данные из потоков данных, индексов или псевдонимов. В этом примере данные извлекаются из kibana_sample_data_logs.

За команду источника могут следовать одна или несколько команд обработки. В этом запросе команда обработки — LIMIT. LIMIT ограничивает количество извлекаемых строк.

Нажмите кнопку Справка ES|QL, чтобы открыть справочную документацию по всем командам и функциям внутри приложения или получить рекомендуемые запросы, которые помогут вам начать работу.

Для удобства написания запросов автодополнение предлагает возможные команды и функции:

esql kibana auto complete

Ключевые слова ES|QL нечувствительны к регистру. Следующий запрос идентичен предыдущему:

FROM kibana_sample_data_logs | LIMIT 10

Сделайте запрос удобочитаемым

Для удобочитаемости вы можете помещать каждую команду обработки на новую строку. Следующий запрос идентичен предыдущему:

FROM kibana_sample_data_logs
| LIMIT 10

Это можно сделать, используя кнопку Добавить переносы строк на знаки '|' в нижней части редактора запросов.

Automatic line breaks for ES|QL queries

Вы можете настроить высоту редактора, перетаскивая его нижнюю границу по своему усмотрению.

Предупреждения

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

История запросов

Вы можете повторно использовать свои недавние запросы ES|QL в строке запроса. В строке запроса нажмите Показать недавние запросы.

Затем вы можете прокрутить свои недавние запросы:

esql discover query history

Избранные запросы

Из истории запросов вы можете пометить некоторые запросы как избранные, чтобы быстрее найти и получить к ним доступ позже.

В строке запроса нажмите Показать недавние запросы.

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

На вкладке Избранные вы найдёте все запросы, которые ранее отметили звёздочкой.

esql discover query starred

Таблица результатов

Для примера запроса таблица результатов отображает 10 строк. Без команды LIMIT таблица результатов по умолчанию отображает до 1000 строк. Используя LIMIT, вы можете увеличить предел до 10 000 строк.

Предел в 10 000 строк применим только к количеству строк, извлеченных запросом и отображаемых в Discover. Любые запросы или агрегации выполняются на полном наборе данных.

Каждая строка отображает два столбца для примера запроса: столбец с полем @timestamp и столбец со всем документом. Чтобы отобразить определённые поля из документов, используйте команду KEEP:

FROM kibana_sample_data_logs
| KEEP @timestamp, bytes, geo.dest

Чтобы отобразить все поля как отдельные столбцы, используйте KEEP *:

FROM kibana_sample_data_logs
| KEEP *

Максимальное количество столбцов в Discover — 50. Если запрос возвращает более 50 столбцов, Discover отображает только первые 50.

Сортировка

Чтобы отсортировать по одному из столбцов, щелкните имя столбца, по которому хотите отсортировать, и выберите порядок сортировки. Обратите внимание, что это выполняет сортировку на стороне клиента. Это сортирует только строки, извлеченные запросом, что может не быть полным набором данных из-за (неявного) ограничения. Чтобы отсортировать весь набор данных, используйте команду SORT:

FROM kibana_sample_data_logs
| KEEP @timestamp, bytes, geo.dest
| SORT bytes DESC

Фильтрация по времени

Чтобы отобразить данные в заданном временном диапазоне, вы можете использовать стандартный фильтр времени, пользовательские временные параметры или команду WHERE.

Стандартный фильтр времени

Стандартный фильтр времени включен, если индексы, которые вы запрашиваете, содержат поле с именем @timestamp.

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

Если ваши индексы не содержат поля с именем @timestamp, вы можете использовать параметры ?_tstart и ?_tend для указания временного диапазона. Эти параметры работают с любым полем со временем и автоматически синхронизируются с фильтром времени.

FROM my_index
| WHERE custom_timestamp >= ?_tstart AND custom_timestamp < ?_tend

Вы также можете использовать параметры ?_tstart и ?_tend с функцией BUCKET для создания автоматически увеличивающихся временных ведер в визуализациях ES|QL анализ и визуализация данных. Например:

FROM kibana_sample_data_logs
| STATS average_bytes = AVG(bytes) BY BUCKET(@timestamp, 50, ?_tstart, ?_tend)

В этом примере используются 50 ведра, что является максимальным количеством ведер.

Команда WHERE

Вы также можете ограничить временной диапазон с помощью команды WHERE и функции NOW. Например, если поле со временем называется timestamp, чтобы запросить последние 15 минут данных:

FROM kibana_sample_data_logs
| WHERE timestamp > NOW() - 15minutes

Анализ и визуализация данных

Между строкой запроса и таблицей результатов Discover отображает гистограмму дат. По умолчанию, если индексы, которые вы запрашиваете, не содержат поля @timestamp, гистограмма не отображается. Но вы можете использовать пользовательское поле времени с параметрами ?_tstart и ?_tend, чтобы включить её.

Визуализация адаптируется к запросу. Характер запроса определяет тип визуализации. Например, этот запрос агрегирует общее количество байтов на страну назначения:

FROM kibana_sample_data_logs
| STATS total_bytes = SUM(bytes) BY geo.dest
| SORT total_bytes DESC
| LIMIT 3

Полученная визуализация — это столбчатая диаграмма, отображающая 3 ведущие страны:

esql kibana bar chart

Чтобы внести изменения в визуализацию, например, изменить тип визуализации, оси и цвета, щелкните кнопку карандаша (esql icon edit visualization). Это откроет встроенный редактор:

esql kibana in line editor

Вы можете сохранить визуализацию в новой или существующей панели, нажав кнопку сохранения (esql icon save visualization). После сохранения на панели вы попадете на страницу «Панели». Вы можете продолжить вносить изменения в визуализацию. Нажмите кнопку параметров в правом верхнем углу (esql icon options) и выберите Редактировать визуализацию ES|QL, чтобы открыть встроенный редактор:

esql kibana edit on dashboard

Добавить панель на панель

Вы можете использовать запросы ES|QL для создания панелей на своих панелях. Чтобы добавить панель на панель, в разделе Панели нажмите кнопку Добавить панель и выберите ES|QL.

esql dashboard panel

Проверьте запрос ES|QL, нажав кнопку фильтров панели (Panel filters button on panel header):

esql dashboard panel query

Вы также можете отредактировать визуализацию ES|QL отсюда. Нажмите кнопку параметров в правом верхнем углу (esql icon options) и выберите Редактировать визуализацию ESQL, чтобы открыть встроенный редактор.

esql dashboard panel edit visualization

Создать политику обогащения

Команда ES|QL ENRICH позволяет обогатить ваш набор данных запроса полями из другого набора данных. Прежде чем вы сможете использовать ENRICH, необходимо создать и выполнить политику обогащения. Если политика существует, она будет предложена автодополнением. Если нет, нажмите Создать, чтобы создать её.

esql kibana enrich autocomplete

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

esql kibana enrich step 1

Нажмите Далее, чтобы выбрать поле сопоставления и поля обогащения:

esql kibana enrich step 2

Наконец, нажмите Создать и выполнить.

Теперь вы можете использовать политику обогащения в запросе ES|QL:

FROM kibana_sample_data_logs
| STATS total_bytes = SUM(bytes) BY geo.dest
| SORT total_bytes DESC
| LIMIT 3
| ENRICH countries

Создание правила оповещения

Вы можете использовать запросы ES|QL для создания оповещений. Из Discover нажмите Оповещения и выберите Создать правило порога поиска. Это откроет панель, которая позволит вам создать правило, используя запрос ES|QL. Далее вы можете протестировать запрос, добавить соединитель и сохранить правило.

esql kibana create rule

Ограничения

  • Интерфейс пользователя для фильтрации данных недоступен, когда Discover находится в режиме ES|QL. Чтобы отфильтровать данные, напишите запрос, который использует команду WHERE.
  • Discover отображает не более 10 000 строк. Это ограничение применяется только к количеству строк, полученных запросом и отображенных в Discover. Запросы и агрегации выполняются на полном наборе данных.
  • Discover отображает не более 50 столбцов. Если запрос возвращает более 50 столбцов, Discover отображает только первые 50.
  • Экспорт CSV из Discover отображает не более 10 000 строк. Это ограничение применяется только к количеству строк, полученных запросом и отображенных в Discover. Запросы и агрегации выполняются на полном наборе данных.
  • Запрос к множеству индексов сразу без фильтров может привести к ошибке в kibana, которая выглядит как [esql] > Unexpected error from Elasticsearch: The content length (536885793) is bigger than the maximum allowed string (536870888). Ответ от ES|QL слишком длинный. Используйте DROP или KEEP, чтобы ограничить количество возвращаемых полей.

© 2023-2025 Elasticsearch
As of September 2024, Elasticsearch is available under a choice of three licenses: the Server Side Public License (SSPL), the Elastic License, or the AGPLv3 (OSI approved).
Elasticsearch and the Elasticsearch logo are trademarks of Elasticsearch B.V., registered in the U.S. and in other countries.
https://www.elastic.co/guide/en/elasticsearch/reference/8.17/esql-kibana.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API