Перейти к основному содержимому
Перейти к основному содержимому

prometheusQuery Табличная Функция

Оценивает запрос 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"')

Пример

SELECT * FROM prometheusQuery(mytable, 'rate(http_requests{job="prometheus"}[10m])[1h:10m]', now())