メインコンテンツへスキップ
一定の評価時刻範囲にわたって、TimeSeriesテーブルのデータを使用してPrometheusクエリを評価します。

構文

prometheusQueryRange('db_name', 'time_series_table', 'promql_query', start_time, end_time, step)
prometheusQueryRange(db_name.time_series_table, 'promql_query', start_time, end_time, step)
prometheusQueryRange('time_series_table', 'promql_query', start_time, end_time, step)

引数

  • db_name - TimeSeries テーブルが存在するデータベースの名前。
  • time_series_table - TimeSeries テーブルの名前。
  • promql_query - PromQL 構文で記述されたクエリ。
  • start_time - 評価範囲の開始時刻。
  • end_time - 評価範囲の終了時刻。
  • step - 評価時刻を start_time から end_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
DateTimeday_of_week, day_of_month, days_in_month, day_of_year, minute, hour, month, year
scalar, vector
ヒストグラムhistogram_quantile
その他time, pi
: histogram_quantile は、従来のヒストグラムバケット (le ラベルで識別) に対して線形補間を使用します。ネイティブヒストグラムはまだサポートされておらず、phi (quantile level) 引数は現時点では定数スカラーである必要があります。histogram_quantile(time() / 1000, ...) のようにステップごとに変化する式は受け付けられず、NOT_IMPLEMENTED エラーになります。

演算子

on()/ignoring() および group_left()/group_right() 修飾子付きの、すべての算術 (+, -, *, /, %, ^) 、比較 (オプションの bool を付けた ==, !=, <, >, <=, >=) 、および論理 (and, or, unless) 二項演算子。 単項演算子 +-

集計演算子

sum, avg, min, max, count, stddev, stdvar, group, quantile, topk, bottomk, limitk — オプションで by() または without() 修飾子を指定できます。 現時点では count_values はサポートされていません。

SELECT * FROM prometheusQueryRange(mytable, 'rate(http_requests{job="prometheus"}[10m])[1h:10m]', now() - INTERVAL 10 MINUTES, now(), INTERVAL 1 MINUTE)
最終更新日 2026年6月25日