Перейти к основному содержанию
Выполняет Prometheus-запрос по данным из таблицы TimeSeries.

Синтаксис

prometheusQuery('db_name', 'time_series_table', 'promql_query', evaluation_time)
prometheusQuery(db_name.time_series_table, 'promql_query', evaluation_time)
prometheusQuery('time_series_table', 'promql_query', evaluation_time)

Аргументы

  • db_name - Имя базы данных, в которой находится таблица TimeSeries.
  • time_series_table - Имя таблицы TimeSeries.
  • promql_query - Запрос, написанный в синтаксисе PromQL.
  • evaluation_time - Временная метка вычисления. Чтобы вычислить запрос на текущий момент, используйте now()в качествеevaluation_time`.

Возвращаемое значение

Функция может возвращать разные столбцы в зависимости от типа результата запроса, переданного через параметр promql_query:
Тип результатаСтолбцы результатаПример
vectortags Array(Tuple(String, String)), timestamp TimestampType, value ValueTypeprometheusQuery(mytable, ‘up’)
matrixtags Array(Tuple(String, String)), time_series Array(Tuple(TimestampType, ValueType))prometheusQuery(mytable, ‘up[1m]‘)
scalarscalar ValueTypeprometheusQuery(mytable, ‘1h30m’)
stringstring StringprometheusQuery(mytable, ‘“abc”‘)

Поддерживаемые возможности PromQL

Селекторы

Мгновенные селекторы, селекторы диапазона, сопоставители меток (=, !=, =~, !~), модификаторы offset, модификаторы временной метки @ и подзапросы.

Функции

КатегорияФункции
Диапазонrate, irate, delta, idelta, last_over_time
Математикаabs, sgn, floor, ceil, sqrt, exp, ln, log2, log10, rad, deg
Тригонометрияsin, cos, tan, asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh
Дата и времяday_of_week, day_of_month, days_in_month, day_of_year, minute, hour, month, year
Типscalar, vector
Гистограммаhistogram_quantile
Другоеtime, pi
Note: histogram_quantile использует линейную интерполяцию для классических бакетов гистограммы (обозначаемых меткой le). Нативные гистограммы пока не поддерживаются, а аргумент phi (уровень квантиля) сейчас должен быть константным скаляром — выражения, которые меняются на каждом шаге, например histogram_quantile(time() / 1000, ...), отклоняются с ошибкой NOT_IMPLEMENTED.

Операторы

Все арифметические (+, -, *, /, %, ^), сравнительные (==, !=, <, >, <=, >= с необязательным модификатором bool) и логические (and, or, unless) бинарные операторы, а также модификаторы on()/ignoring() и group_left()/group_right(). Унарные операторы + и -.

Операторы агрегации

sum, avg, min, max, count, stddev, stdvar, group, quantile, topk, bottomk, limitk — с необязательными модификаторами by() и without(). Пока не поддерживается: count_values.

Пример

SELECT * FROM prometheusQuery(mytable, 'rate(http_requests{job="prometheus"}[10m])[1h:10m]', now())
Последнее изменение 25 июня 2026 г.