Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

prometheusQueryRange

一定の評価時刻範囲にわたって、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 に渡されたクエリの結果タイプに応じて、返されるカラムが異なります。

結果タイプ 結果カラム
vector tags Array(Tuple(String, String)), timestamp TimestampType, value ValueType prometheusQuery(mytable, 'up')
matrix tags Array(Tuple(String, String)), time_series Array(Tuple(TimestampType, ValueType)) prometheusQuery(mytable, 'up[1m]')
scalar scalar ValueType prometheusQuery(mytable, '1h30m')
string string String prometheusQuery(mytable, '"abc"')

PromQL でサポートされている機能

セレクタ

インスタントセレクタ、範囲セレクタ、ラベルマッチャー (=, !=, =~, !~) 、offset 修飾子、@ タイムスタンプ修飾子、サブクエリ。

関数

カテゴリ 関数
範囲 rate, irate, delta, idelta, increase, last_over_time, deriv, changes, resets
数学 abs, sgn, floor, ceil, sqrt, exp, ln, log2, log10, rad, deg, round, clamp, clamp_min, clamp_max
三角関数 sin, cos, tan, asin, acos, atan, sinh, cosh, tanh, asinh, acosh, atanh
DateTime day_of_week, day_of_month, days_in_month, day_of_year, minute, hour, month, year
ラベル label_replace, label_join
scalar, vector
ヒストグラム histogram_quantile
その他 time, pi

: histogram_quantile は、従来のヒストグラムバケット (le ラベルで識別) に対して線形補間を使用します。ネイティブヒストグラムはサポートされていません。phi (quantile level) 引数は定数スカラーである必要があります。histogram_quantile(time() / 1000, ...) のようにステップごとに変化する式は受け付けられず、NOT_IMPLEMENTED 例外になります。

演算子

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

on()/ignoring() 修飾子付きの論理集合演算子 andor、および unless

単項演算子 +-

集計演算子

sum, avg, min, max, count, stddev, stdvar, group, quantile, topk, bottomk, limitk — オプションで by() または without() 修飾子を指定できます。

現時点では未サポート

  • 集約演算子 count_values
  • 範囲関数 predict_linear, avg_over_time, min_over_time, max_over_time, sum_over_time, count_over_time, quantile_over_time, stddev_over_time, stdvar_over_time, present_over_time, absent_over_time, mad_over_time, first_over_time, ts_of_min_over_time, ts_of_max_over_time, ts_of_last_over_time, ts_of_first_over_time
  • 関数 absent

SELECT * FROM prometheusQueryRange(mytable, 'rate(http_requests{job="prometheus"}[10m])[1h:10m]', now() - INTERVAL 10 MINUTES, now(), INTERVAL 1 MINUTE)
Navigation