Перейти к основному содержанию
Любой запрос можно выполнять с помощью плагина ClickHouse. Конструктор запросов — удобный вариант для простых запросов, но для сложных запросов потребуется редактор SQL. Все запросы в конструкторе запросов имеют тип запроса, и для них нужно выбрать как минимум один столбец. Доступны следующие типы запросов:
  • Таблица: самый простой тип запроса для отображения данных в табличном виде. Подходит как универсальный вариант и для простых, и для сложных запросов с агрегатными функциями.
  • Журналы: оптимизирован для построения запросов к журналам. Лучше всего работает в представлении Explore с настроенными параметрами по умолчанию.
  • Временные ряды: лучше всего подходит для построения запросов временных рядов. Позволяет выбрать отдельный временной столбец и добавлять агрегатные функции.
  • Трассировки: оптимизирован для поиска и просмотра трассировок. Лучше всего работает в представлении Explore с настроенными параметрами по умолчанию.
  • редактор SQL: редактор SQL можно использовать, если вам нужен полный контроль над запросом. В этом режиме можно выполнять любые SQL-запросы.

Типы запросов

Параметр Query Type изменяет компоновку конструктора запросов в зависимости от типа создаваемого запроса. Тип запроса также определяет, какая панель используется для визуализации данных.

Таблица

Самый гибкий тип запроса — табличный запрос. Это универсальный тип, объединяющий возможности других конструкторов запросов для простых и агрегатных запросов.
FieldDescription
Builder ModeПростые запросы не включают Aggregates и Group By, а агрегатные — включают.
ColumnsВыбранные столбцы. В это поле можно вводить Raw SQL, чтобы использовать функции и псевдонимы столбцов.
AggregatesСписок агрегатных функций. Позволяет задавать пользовательские значения для функции и столбца. Отображается только в режиме Aggregate.
Group ByСписок выражений GROUP BY. Отображается только в режиме Aggregate.
Order ByСписок выражений ORDER BY.
LimitДобавляет оператор LIMIT в конец запроса. Если указано значение 0, он не добавляется. Для некоторых визуализаций может потребоваться значение 0, чтобы показать все данные.
FiltersСписок фильтров, применяемых в условии WHERE.
Данные для этого типа запроса отображаются в виде таблицы.

Журнал

Тип запроса журнал предоставляет конструктор запросов, ориентированный на работу с данными журналов. Значения по умолчанию можно настроить в конфигурации журналов, чтобы конструктор запросов сразу открывался с базой данных, таблицей и столбцами по умолчанию. Можно также включить OpenTelemetry, чтобы столбцы автоматически выбирались в соответствии с версией схемы. Фильтры Время и Уровень добавляются по умолчанию вместе с ORDER BY для столбца Time. Эти фильтры привязаны к соответствующим полям и обновляются при изменении столбцов. Фильтр Уровень по умолчанию исключён из SQL; если изменить его значение с IS ANYTHING, он будет включён. Тип запроса журнал поддерживает ссылки на данные.
ПолеОписание
Использовать OTelВключает столбцы OpenTelemetry. Перезаписывает выбранные столбцы, чтобы использовать столбцы, заданные выбранной версией схемы OTel (отключает выбор столбцов).
СтолбцыДополнительные столбцы, которые будут добавлены в строки журналов. В это поле можно вводить Raw SQL для использования функций и псевдонимов столбцов.
ВремяОсновной столбец временной метки для журнала. Показывает столбцы временных типов, но также допускает пользовательские значения и функции.
Уровень журналаНеобязательно. Уровень или серьёзность записи журнала. Обычно значения выглядят как INFO, error, Debug и т. п.
СообщениеСодержимое сообщения журнала.
Order ByСписок выражений ORDER BY.
LimitДобавляет оператор LIMIT в конец запроса. Если указано значение 0, он будет исключён, но для больших наборов журналов это не рекомендуется.
ФильтрыСписок фильтров, которые будут применены в условии WHERE.
Фильтр сообщенияТекстовое поле для удобной фильтрации журналов с помощью LIKE %value%. Исключается, если поле ввода пусто.

Этот тип запроса отображает данные на панели журналов, а также панель гистограммы журналов в верхней части. Дополнительные столбцы, выбранные в запросе, можно просмотреть в раскрытой строке журнала:

Временные ряды

Тип запроса для временных рядов похож на таблицу, но ориентирован на данные временных рядов. Оба представления в целом одинаковы, за исключением следующих важных отличий:
  • Отдельное поле время.
  • В режиме Aggregate для поля время автоматически применяются макрос временного интервала и Group By.
  • В режиме Aggregate поле “Columns” скрыто.
  • Для поля время автоматически добавляются фильтр диапазона времени и Order By.
В вашей визуализации не хватает данных?В некоторых случаях панель временных рядов может выглядеть обрезанной, потому что по умолчанию limit равен 1000.Попробуйте убрать оператор LIMIT, установив его значение в 0 (если ваш датасет это позволяет).
ПолеОписание
Builder ModeВ простых запросах параметры Aggregates и Group By недоступны, а в агрегатных запросах они доступны.
времяОсновной временной столбец запроса. Отображает типы данных, связанные со временем, но также допускает пользовательские значения и функции.
ColumnsВыбранные столбцы. В это поле можно вводить Raw SQL, чтобы использовать функции и псевдонимы столбцов. Отображается только в режиме Simple.
AggregatesСписок агрегатных функций. Позволяет задавать пользовательские значения для функции и столбца. Отображается только в режиме Aggregate.
Group ByСписок выражений GROUP BY. Отображается только в режиме Aggregate.
Order ByСписок выражений ORDER BY.
LimitДобавляет оператор LIMIT в конец запроса. Если установить значение 0, он не будет добавлен; это рекомендуется для некоторых датасетов временных рядов, чтобы показать визуализацию целиком.
FiltersСписок фильтров, применяемых в операторе WHERE.
Этот тип запроса отображает данные на панели временных рядов.

Трассировки

Тип запроса Trace предоставляет конструктор запросов для удобного поиска и просмотра трассировок. Он предназначен для данных OpenTelemetry, но для отображения трассировок из другой схемы можно выбрать соответствующие столбцы. Значения по умолчанию можно настроить в конфигурации трассировок источника данных, чтобы конструктор запросов заранее загружался с базой данных, таблицей и столбцами по умолчанию. Если значения по умолчанию настроены, блок выбора столбцов по умолчанию будет свернут. Также можно включить OpenTelemetry, чтобы столбцы автоматически выбирались в соответствии с версией схемы. Фильтры по умолчанию добавляются, чтобы показывать только спаны верхнего уровня. Также добавляется ORDER BY для столбцов Time и Duration Time. Эти фильтры привязаны к соответствующим полям и будут обновляться при изменении столбцов. Фильтр Service Name по умолчанию исключен из SQL; если изменить его значение с IS ANYTHING, он будет включен. Тип запроса Trace поддерживает ссылки на данные.
ПолеОписание
Режим трассировкиПереключает запрос из режима Trace Search в режим поиска по Trace ID.
Использовать OTelВключает столбцы OpenTelemetry. Перезаписывает выбранные столбцы, чтобы использовать столбцы, заданные выбранной версией схемы OTel (отключает выбор столбцов).
Столбец Trace IDID трассировки.
Столбец Span IDID спана.
Столбец Parent Span IDID родительского спана. Для трассировок верхнего уровня это поле обычно пустое.
Столбец Service NameИмя сервиса.
Столбец Operation NameИмя операции.
Столбец Start TimeОсновной временной столбец для спана трассировки. Время начала спана.
Столбец Duration TimeДлительность спана. По умолчанию Grafana ожидает здесь число с плавающей точкой в миллисекундах. Преобразование автоматически применяется через раскрывающийся список Duration Unit.
Duration UnitЕдиница времени для длительности. По умолчанию — наносекунды. Выбранная единица автоматически преобразуется в число с плавающей точкой в миллисекундах, как того требует Grafana.
Столбец TagsТеги спана. Исключите этот столбец, если не используете схему на основе OTel, так как здесь ожидается определенный тип столбца Map.
Столбец Service TagsТеги сервиса. Исключите этот столбец, если не используете схему на основе OTel, так как здесь ожидается определенный тип столбца Map.
ORDER BYСписок выражений ORDER BY.
LimitДобавляет оператор LIMIT в конец запроса. Если указать 0, он будет исключен, но это не рекомендуется для больших датасетов трассировок.
ФильтрыСписок фильтров, которые будут применены в операторе WHERE.
Trace IDTrace ID для фильтрации. Используется только в режиме Trace ID и при открытии ссылки на данные для Trace ID.
Этот тип запроса отображает данные в виде таблицы в режиме Trace Search и на панели трассировки в режиме Trace ID.

Редактор SQL

Для запросов, которые слишком сложны для конструктора запросов, можно использовать редактор SQL. Он дает полный контроль над запросом, позволяя писать и выполнять запросы на обычном ClickHouse SQL. Редактор SQL можно открыть, выбрав “Редактор SQL” в верхней части редактора запросов. Макрофункции по-прежнему можно использовать в этом режиме. Вы можете переключаться между типами запросов, чтобы выбрать визуализацию, которая лучше всего подходит для вашего запроса. Это переключение также влияет на отображение в режиме панели мониторинга, особенно при работе с данными временных рядов. В Grafana ссылки на данные можно использовать для перехода к новым запросам. Эта возможность доступна в плагине ClickHouse: она позволяет связывать трассировки с журналами и наоборот. Лучше всего она работает, когда OpenTelemetry настроен и для журналов, и для трассировок в конфигурации источника данных
Пример ссылок на трассировки в таблице
Пример ссылок на трассировки в журналах
Вы можете создать ссылку на данные, выбрав в запросе столбец с именем traceID. Для этого имени используется регистронезависимый поиск; также поддерживается добавление символа подчёркивания перед “ID”. Например, traceId, TraceId, TRACE_ID и tracE_iD будут корректными вариантами. Если OpenTelemetry включен в запросе журнала или трассировки, столбец с trace ID будет добавлен автоматически. Если в данных есть столбец с trace ID, к ним будут добавлены ссылки “View Trace” и “View Logs”.

Возможности ссылок

Если настроены ссылки на данные, вы можете открывать трассировки и журналы по указанному trace ID. View Trace” откроет разделённую панель с трассировкой, а “View Logs” — запрос к журналам, отфильтрованный по trace ID. Если нажать ссылку на панели мониторинга, а не в разделе Explore, она откроется в новой вкладке раздела Explore. Для перехода между типами запросов (из журналов в трассировки и из трассировок в журналы) должны быть настроены значения по умолчанию и для журналов, и для трассировок. Для открытия ссылки того же типа запроса значения по умолчанию не нужны, поскольку запрос можно просто скопировать.
Пример просмотра трассировки (справа) из запроса к журналам (слева)

Макросы

Макросы — это простой способ добавить в запрос динамический SQL. Перед отправкой запроса на сервер ClickHouse плагин развернёт макрос и заменит его полным выражением. Макросы можно использовать в запросах как из редактора SQL, так и из конструктора запросов.

Использование макросов

Макросы можно использовать в любом месте запроса, при необходимости — несколько раз. Вот пример использования макроса $__timeFilter: Входные данные:
SELECT log_time, log_message
FROM logs
WHERE $__timeFilter(log_time)
Итоговый результат запроса:
SELECT log_time, log_message
FROM logs
WHERE log_time >= toDateTime(1415792726) AND log_time <= toDateTime(1447328726)
В этом примере временной диапазон панели мониторинга Grafana применяется к столбцу log_time. Плагин также поддерживает запись с использованием фигурных скобок {}. Используйте такую запись, когда внутри параметров необходимо использовать запросы.

Список макросов

Ниже приведён список всех макросов, доступных в плагине:
МакросОписаниеПример вывода
$__dateFilter(columnName)Заменяется на фильтр диапазона времени для указанного столбца с использованием временного диапазона панели Grafana в формате Date.columnName >= toDate('2022-10-21') AND columnName <= toDate('2022-10-23')
$__timeFilter(columnName)Заменяется на фильтр диапазона времени для указанного столбца с использованием временного диапазона панели Grafана в формате DateTime.columnName >= toDateTime(1415792726) AND time <= toDateTime(1447328726)
$__timeFilter_ms(columnName)Заменяется на фильтр диапазона времени для указанного столбца с использованием временного диапазона панели Grafana в формате DateTime64.columnName >= fromUnixTimestamp64Milli(1415792726123) AND columnName <= fromUnixTimestamp64Milli(1447328726456)
$__dateTimeFilter(dateColumn, timeColumn)Сокращённая запись, объединяющая $__dateFilter() и $__timeFilter() с использованием отдельных столбцов Date и DateTime. Псевдоним: `$__dt()“$__dateFilter(dateColumn) AND $__timeFilter(timeColumn)
$__fromTimeЗаменяется на время начала диапазона панели Grafana, приведённое к DateTime.toDateTime(1415792726)
$__fromTime_msЗаменяется на время начала диапазона панели, приведённое к DateTime64.fromUnixTimestamp64Milli(1415792726123)
$__toTimeЗаменяется на время окончания диапазона панели Grafana, приведённое к DateTime.toDateTime(1447328726)
$__toTime_msЗаменяется на время окончания диапазона панели, приведённое к DateTime64.fromUnixTimestamp64Milli(1447328726456)
$__timeInterval(columnName)Заменяется на функцию, вычисляющую интервал на основе размера окна в секундах.toStartOfInterval(toDateTime(columnName), INTERVAL 20 second)
$__timeInterval_ms(columnName)Заменяется на функцию, вычисляющую интервал на основе размера окна в миллисекундах.toStartOfInterval(toDateTime64(columnName, 3), INTERVAL 20 millisecond)
$__interval_sЗаменяется на интервал панели мониторинга в секундах.20
$__conditionalAll(condition, $templateVar)Заменяется первым параметром, если переменная шаблона во втором параметре выбрана не для всех значений. Заменяется на 1=1, если переменная шаблона выбрана для всех значений.condition or 1=1
Последнее изменение 10 июня 2026 г.