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

Табличная функция 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())