메인 콘텐츠로 건너뛰기
평가 시간 범위 전반에 걸쳐 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(분위수 수준) 인수는 현재 상수 스칼라여야 합니다. 따라서 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일