콘텐츠로 이동

MetricsQL 구문 참조

현재 Guance의 대시보드에서 MetricsQL 언어를 사용하여 Prometheus 메트릭을 조회할 수 있습니다.

MetricsQL은 VictoriaMetrics에서 개발한 PromQL 구문 강화 언어입니다. 대부분의 경우 MetricsQL은 PromQL 쿼리와 호환되지만, PromQL에서 직관적이지 않거나 불편한 부분을 개선하고 최적화했습니다. 이 글에서 더 많은 호환성 설계 세부 사항을 확인할 수 있습니다.

대부분의 경우 익숙한 PromQL 구문으로 쿼리할 수 있으며 일반적으로 문제없이 작동합니다. 하지만 gauge 데이터의 p95를 계산하거나 topk가 정확한 개수의 시계열을 반환하도록 해야 하는 등 까다로운 문제가 발생할 때 아래 구문 참조를 통해 해결 방법을 찾을 수 있습니다.

MetricsQL과 PromQL 구문을 비교하면 다음과 같은 주요 차이점이 있습니다.

  • MetricsQL은 롤링 윈도우의 이전 지점을 고려하여 rateincrease와 같은 범위 함수에 적용됩니다. 이를 통해 사용자가 increase(metric[$__interval]) 쿼리에 대해 정확한 결과를 반환할 수 있으며, Prometheus가 이러한 쿼리에 대해 반환하는 불완전한 결과와 다릅니다.
  • MetricsQL은 범위 함수의 결과를 추측하지 않으므로 PromQL의 이 문제를 해결합니다. PromQL과 MetricsQL이 rateincrease를 계산하는 기술적 세부 사항은 이 이슈의 댓글을 참조하세요.
  • MetricsQL은 수집 간격보다 작은 step 값에 대해 rate가 예상되는 비어 있지 않은 응답을 반환합니다. 이는 Grafana에 표시되는 문제를 해결합니다. 이 블로그 게시글도 참조하세요.
  • MetricsQL은 scalar 유형과 레이블이 없는 instant vector를 동일하게 처리합니다. 이 두 유형 간의 미묘한 차이가 사용자에게 혼란을 주기 때문입니다. 자세한 내용은 해당 Prometheus 문서를 참조하세요.
  • MetricsQL은 출력에서 모든 NaN 값을 제거하므로 (-1)^0.5와 같은 일부 쿼리는 MetricsQL에서 빈 결과를 반환하고 PromQL에서는 NaN 값 시리즈를 반환합니다. 프론트엔드는 NaN 값에 대해 선이나 점을 그리지 않으므로 MetricsQL과 PromQL 모두 최종 결과는 동일합니다.
  • MetricsQL은 원래 시계열의 의미를 변경하지 않는 함수를 적용한 후에도 메트릭 이름을 유지합니다. 예를 들어, min_over_time(foo) 또는 round(foo)는 결과에 foo 메트릭 이름을 유지합니다. 자세한 내용은 이 이슈를 참조하세요.

또한 Guance에서 사용할 때 원본 MetricsQL과의 차이점에 유의해야 합니다.

  • measurement 선택을 지원하며, 메트릭 이름 앞에 measurement를 콜론으로 구분하여 추가해야 합니다. increase(measurement:metric[1m])와 같이 사용합니다. measurement를 작성하지 않으면 쿼리 성능이 현저히 저하됩니다.
  • Guance UI는 현재 step을 수동으로 구성하는 것을 지원하지 않습니다. 현재 step은 시간 범위와 표시 밀도에 따라 자동으로 계산됩니다.
  • Guance UI는 현재 히트맵 유형의 그래프 표시를 지원하지 않으며, 히스토그램 표시 효과에 영향을 미칠 수 있습니다.

이 문서의 내용은 주로 https://docs.victoriametrics.com/MetricsQL.html의 번역을 기반으로 합니다. 한국어 번역에 모호함이 있을 경우 원문을 함께 읽어보시기 바랍니다.

기능 목록

MetricsQL에는 다음과 같은 기능이 포함되어 있습니다.

  • 대괄호 안의 롤링 윈도우를 생략할 수 있습니다. MetricsQL은 그래프를 구성하는 데 사용된 step을 기반으로 롤링 윈도우를 자동으로 선택합니다. rate(node_network_receive_bytes_total) 쿼리는 MetricsQL에서 유효합니다. Grafana에서 사용할 때는 rate(node_network_receive_bytes_total[$__interval])과 동일합니다.
  • 집계 함수는 임의의 개수의 인수를 허용할 수 있습니다. 예를 들어, avg(q1, q2, q3)q1, q2, q3의 각 지점에 대한 평균값을 반환합니다.
  • @ 수식어는 쿼리의 어느 위치에나 배치할 수 있습니다. 예를 들어, sum(foo) @ end()는 선택한 시간 범위 [start ... end]end 타임스탬프에서 sum(foo) 값을 계산합니다.
  • @ 수식어로 임의의 하위 표현식을 사용할 수 있습니다. 예를 들어, foo @ (end() - 1h)는 선택한 시간 범위 [start ... end]end - 1h 타임스탬프에서 foo를 계산합니다.
  • offset, 대괄호 안의 롤링 윈도우 및 하위 쿼리step 값은 [Ni] 구문을 사용하여 현재 단계를 참조할 수 있습니다. Grafana에서는 $__interval 값이라고도 합니다. 예를 들어, rate(metric[10i] offset 5i)는 이전 10개의 step을 포함하고 5개의 step 오프셋이 있는 초당 속도를 반환합니다.
  • offset은 쿼리의 어느 위치에나 배치할 수 있습니다. 예를 들어, sum(foo) offset 24h와 같습니다.
  • 대괄호 안의 롤링 윈도우와 offset은 분수일 수 있습니다. 예를 들어, rate(node_network_receive_bytes_total[1.5m] offset 0.5d)와 같습니다.
  • 지속 시간 접미사는 선택 사항입니다. 접미사를 생략하면 지속 시간은 초 단위입니다. 예를 들어, rate(m[300] offset 1800)rate(m[5m]) offset 30m과 동일합니다.
  • 지속 시간은 쿼리의 어느 위치에나 배치할 수 있습니다. 예를 들어, sum_over_time(m[1h]) / 1hsum_over_time(m[1h]) / 3600과 동일합니다.
  • 숫자에는 K, Ki, M, Mi, G, Gi, T, Ti 접미사를 사용할 수 있습니다. 예를 들어, 8K8000과 같고, 1.2Mi1.2*1024*1024와 같습니다.
  • 모든 목록(레이블 필터, 함수 인수, 표현식)의 끝에 있는 후행 쉼표가 허용됩니다. 예를 들어, m{foo="bar",}, f(a, b,), WITH (x=y,) x는 모두 유효한 쿼리이며, 여러 줄 쿼리 유지 관리를 간소화합니다.
  • 메트릭 이름과 레이블 이름에는 모든 유니코드 문자를 포함할 수 있습니다. 예를 들어, температура{город="Киев"}는 MetricsQL 표현식입니다.
  • 메트릭 이름과 레이블 이름에는 이스케이프 문자를 포함할 수 있습니다. 예를 들어, foo\\\\-bar{baz\\\\=aa="b"}는 유효한 표현식입니다. 이름이 foo-bar이고 값이 bbaz=aa 레이블이 있는 시계열을 반환합니다. 또한 다음 이스케이프 시퀀스를 지원합니다.
    • \\\\xXX (여기서 XX는 이스케이프된 ASCII 문자의 16진수 표현)
    • \\\\uXXXX (여기서 XXXX는 이스케이프된 유니코드 문자의 16진수 표현)
  • 집계 함수는 선택적 limit N 접미사를 지원하여 출력 시리즈 수를 제한합니다. 예를 들어, sum(x) by (y) limit 3은 집계 후 출력 시계열 수를 3개로 제한합니다. 다른 모든 시계열은 삭제됩니다.
  • histogram_quantile은 선택적 세 번째 인수 boundsLabel을 허용합니다. 이 경우 추정된 백분위수의 lowerupper 경계를 반환합니다. 자세한 내용은 이 이슈를 참조하세요.
  • default 이항 연산자. q1 default q2q2의 해당 값으로 q1의 빈 공간을 채웁니다.
  • if 이항 연산자. q1 if q2q2에 값이 없는 q1의 값을 삭제합니다.
  • ifnot 이항 연산자. q1 ifnot q2q2에 값이 있는 q1의 값을 삭제합니다.
  • WITH 템플릿. 이 기능은 복잡한 쿼리 작성 및 관리를 간소화합니다. WITH 템플릿 플레이그라운드에서 사용해 볼 수 있습니다.
  • 문자열 리터럴은 연결할 수 있습니다. 이는 WITH 템플릿에서 유용합니다. WITH (commonPrefix="long_metric_prefix_") {__name__=commonPrefix+"suffix1"} / {__name__=commonPrefix+"suffix2"}.
  • keep_metric_names 수식어를 모든 롤업 함수변환 함수에 적용할 수 있습니다. 이 수식어는 함수 결과에서 메트릭 이름이 삭제되는 것을 방지합니다. 이 문서를 참조하세요.

keep_metric_names

기본적으로 원래 시계열의 의미를 변경하는 함수를 적용하면 메트릭 이름이 삭제됩니다. 이름이 다른 여러 시계열에 함수를 적용할 때 이로 인해 "중복 시계열" 오류가 발생할 수 있습니다. keep_metric_names 수식어를 함수에 적용하면 이 오류를 해결할 수 있습니다.

예를 들어, rate({__name__=~"foo|bar"}) keep_metric_names는 반환된 시계열에서 foobar 메트릭 이름을 유지합니다.

MetricsQL 함수

MetricsQL은 다음 함수를 제공합니다.

롤업 함수

롤업 함수(범위 함수 또는 윈도우 함수라고도 함)는 주어진 롤링 윈도우에서 원시 샘플에 대해 롤링 계산을 수행하며 시계열 선택기에 적용됩니다. 예를 들어, avg_over_time(temperature[24h])는 최근 24시간 동안의 원시 샘플 평균 온도를 계산합니다.

추가 세부 사항:

  • 롤업 함수를 사용하여 그래프를 구성하는 경우 그래프의 각 지점은 독립적으로 롤업을 계산합니다. 예를 들어, avg_over_time(temperature[24h]) 그래프의 각 지점은 마지막 24시간의 평균 온도를 나타냅니다. 지점 간 간격은 프론트엔드에서 전달한 step 쿼리 매개변수에 의해 설정됩니다.
  • 주어진 시계열 선택기가 여러 시계열을 반환하는 경우 각 반환된 시리즈에 대해 롤링 계산이 개별적으로 수행됩니다.
  • 대괄호 안에 롤링 윈도우가 없으면 MetricsQL은 자동으로 롤링 윈도우를 그래프의 지점 간 간격( /api/v1/query_rangestep 쿼리 매개변수, Grafana의 $__interval 값, MetricsQL의 1i 지속 시간)으로 설정합니다. 예를 들어, rate(http_requests_total)rate(http_requests_total[$__interval])과 동일하며, MetricsQL에서는 rate(http_requests_total[1i])와 동일합니다.
  • MetricsQL의 각 시계열 선택기는 롤업 함수로 래핑되어야 합니다. 그렇지 않으면 계산이 실행되기 전에 자동으로 default_rollup으로 변환됩니다. 예를 들어, foo{bar="baz"}는 계산이 실행되기 전에 자동으로 default_rollup(foo{bar="baz"}[1i])로 변환됩니다.
  • 시계열 선택기 이외의 항목이 롤업 함수에 전달되면 내부 인수가 자동으로 하위 쿼리로 변환됩니다.
  • 모든 롤업 함수는 선택적 keep_metric_names 수식어를 허용합니다. 이 수식어가 설정되면 함수는 결과에 메트릭 이름을 유지합니다. 이 문서를 참조하세요.

암시적 쿼리 변환을 참조하세요.

지원되는 롤업 함수 목록

absent_over_time

absent_over_time(series_selector[d])는 주어진 롤링 윈도우 d에 원시 샘플이 포함되지 않은 경우 1을 반환하는 롤업 함수입니다. 그렇지 않으면 빈 결과를 반환합니다.

이 함수는 PromQL에서 지원합니다. present_over_time도 참조하세요.

aggr_over_time

aggr_over_time(("rollup_func1","rollup_func2",...), series_selector[d])는 주어진 시계열 선택기의 각 시계열에 대해 나열된 모든 rollup_func*를 개별적으로 계산하는 롤업 함수입니다. rollup_func*에는 모든 롤업 함수가 포함될 수 있습니다. 예를 들어, aggr_over_time(("min_over_time","max_over_time","rate"), m[d])m[d]min_over_time, max_over_timerate를 계산합니다.

ascent_over_time

ascent_over_time(series_selector[d])는 주어진 롤링 윈도우 d에서 원시 샘플 값의 상승을 계산하는 롤업 함수입니다. 계산은 반환된 각 시계열에 대해 개별적으로 수행됩니다.

이 함수는 GPS의 고도 증가를 추적하는 데 유용합니다. 메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

descent_over_time도 참조하세요.

avg_over_time

avg_over_time(series_selector[d])는 주어진 롤링 윈도우 d에서 원시 샘플 값의 평균을 계산하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 계산됩니다.

이 함수는 PromQL에서 지원합니다. median_over_time도 참조하세요.

changes

changes(series_selector[d])는 주어진 롤링 윈도우 d에서 원시 샘플이 변경된 횟수를 계산하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 계산됩니다. Prometheus의 changes()와 달리 주어진 롤링 윈도우 d 이전의 마지막 샘플 변경도 고려합니다. 자세한 내용은 이 글을 참조하세요.

메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다. changes_prometheus도 참조하세요.

changes_prometheus

changes_prometheus(series_selector[d])는 주어진 롤링 윈도우 d에서 원시 샘플이 변경된 횟수를 계산하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 계산됩니다. Prometheus와 달리 주어진 롤링 윈도우 d 이전의 마지막 샘플 변경을 고려하지 않습니다. 자세한 내용은 이 글을 참조하세요.

메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다. changes도 참조하세요.

count_eq_over_time

count_eq_over_time(series_selector[d], eq)는 주어진 롤링 윈도우 d에서 eq와 같은 원시 샘플의 개수를 계산하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 계산됩니다. 메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

count_over_time도 참조하세요.

count_gt_over_time

count_gt_over_time(series_selector[d], gt)는 주어진 롤링 윈도우 d에서 gt보다 큰 원시 샘플의 개수를 계산하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 계산됩니다. 메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

count_over_time도 참조하세요.

count_le_over_time

count_le_over_time(series_selector[d], le)는 주어진 롤링 윈도우 d에서 le를 초과하지 않는 원시 샘플의 개수를 계산하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 계산됩니다. 메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

count_over_time도 참조하세요.

count_ne_over_time

count_ne_over_time(series_selector[d], ne)는 주어진 롤링 윈도우 d에서 ne와 같지 않은 원시 샘플의 개수를 계산하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 계산됩니다. 메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

count_over_time도 참조하세요.

count_over_time

count_over_time(series_selector[d])는 주어진 롤링 윈도우 d에서 원시 샘플의 개수를 계산하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 계산됩니다. 메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다. count_le_over_time, count_gt_over_time, count_eq_over_time, count_ne_over_time도 참조하세요.

decreases_over_time

decreases_over_time(series_selector[d])는 주어진 롤링 윈도우 d에서 원시 샘플 값이 감소한 횟수를 계산하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 계산됩니다. 메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

increases_over_time도 참조하세요.

default_rollup

default_rollup(series_selector[d])는 주어진 롤링 윈도우 d에서 마지막 원시 샘플 값을 반환하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 계산됩니다.

delta

delta(series_selector[d])는 주어진 롤링 윈도우 d에서 마지막 샘플과 첫 번째 샘플 간의 차이를 계산하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 계산됩니다. MetricsQL의 delta() 함수 동작은 Prometheus의 delta() 함수 동작과 약간 다릅니다. 자세한 내용은 이 글을 참조하세요.

메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다. increasedelta_prometheus도 참조하세요.

delta_prometheus

delta_prometheus(series_selector[d])는 주어진 롤링 윈도우 d에서 첫 번째 샘플과 마지막 샘플 간의 차이를 계산하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 계산됩니다.

delta_prometheus()의 동작은 Prometheus의 delta() 함수 동작에 가깝습니다. 자세한 내용은 이 글을 참조하세요.

메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

delta도 참조하세요.

deriv

deriv(series_selector[d])는 선형 회귀를 사용하여 주어진 시계열 선택기가 반환하는 각 시계열의 초당 미분을 계산하는 롤업 함수입니다.

결과의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다. deriv_fastideriv도 참조하세요.

deriv_fast

deriv_fast(series_selector[d])는 주어진 롤링 윈도우 d의 첫 번째 및 마지막 원시 샘플을 사용하여 각 시계열의 초당 미분을 계산하는 롤업 함수입니다.

결과의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

derivideriv도 참조하세요.

descent_over_time

descent_over_time(series_selector[d])는 주어진 롤링 윈도우 d에서 원시 샘플 값의 하강을 계산하는 롤업 함수입니다. 반환된 각 시계열에 대해 개별적으로 계산됩니다.

이 함수는 GPS 추적에서 고도 손실을 추적하는 데 유용합니다.

결과의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

ascent_over_time도 참조하세요.

distinct_over_time

distinct_over_time(series_selector[d])는 주어진 롤링 윈도우 d에서 각 시계열의 고유한 원시 샘플 값 개수를 반환하는 롤업 함수입니다.

결과의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

duration_over_time

duration_over_time(series_selector[d], max_interval)는 주어진 시계열 선택기가 롤링 윈도우 d에 존재하는 지속 시간(초)을 반환하는 롤업 함수입니다. 각 시계열에서 인접한 샘플 간의 간격이 max_interval을 초과하지 않을 것으로 예상합니다. 그렇지 않으면 해당 간격은 갭으로 간주되어 계산되지 않습니다.

결과의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

lifetimelag도 참조하세요.

first_over_time

first_over_time(series_selector[d])는 주어진 롤링 윈도우 d에서 각 시계열의 첫 번째 원시 샘플 값을 반환하는 롤업 함수입니다.

last_over_timetfirst_over_time도 참조하세요.

geomean_over_time

geomean_over_time(series_selector[d])는 주어진 롤링 윈도우 d에서 원시 샘플의 기하 평균을 계산하는 롤업 함수입니다. 반환된 각 시계열에 대해 개별적으로 계산됩니다.

결과의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

histogram_over_time

histogram_over_time(series_selector[d])는 주어진 롤링 윈도우 d의 원시 샘플에 대해 VictoriaMetrics 히스토그램을 계산하는 롤업 함수입니다. 주어진 시계열 선택기의 각 시계열에 대해 개별적으로 계산됩니다. 생성된 히스토그램은 histogram_quantile에 전달하여 여러 gauge의 분위수를 계산하는 데 유용합니다. 예를 들어, 다음 쿼리는 지난 24시간 동안 각 국가의 중간 온도를 계산합니다.

histogram_quantile(0.5, sum(histogram_over_time(temperature[24h])) by (vmrange,country)).

hoeffding_bound_lower

hoeffding_bound_lower(phi, series_selector[d])는 주어진 범위 [0...1]에서 주어진 phi에 대한 하한 Hoeffding 경계를 계산하는 롤업 함수입니다.

hoeffding_bound_upper도 참조하세요.

hoeffding_bound_upper

hoeffding_bound_upper(phi, series_selector[d])는 주어진 범위 [0...1]에서 주어진 phi에 대한 상한 Hoeffding 경계를 계산하는 롤업 함수입니다.

hoeffding_bound_lower도 참조하세요.

holt_winters

holt_winters(series_selector[d], sf, tf)는 주어진 평활 계수 sf와 추세 계수 tf를 사용하여 주어진 롤링 윈도우 d에서 원시 샘플의 Holt-Winters 값(일명 이중 지수 평활)을 계산하는 롤업 함수입니다. sftf는 모두 범위 [0...1]에 있어야 합니다. 시계열 선택기gauge 유형의 시계열을 반환할 것으로 예상됩니다.

이 함수는 PromQL에서 지원합니다. range_linear_regression도 참조하세요.

idelta

idelta(series_selector[d])는 주어진 롤링 윈도우 d에서 각 시계열의 마지막 두 원시 샘플 간의 차이를 계산하는 롤업 함수입니다.

결과의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다. delta도 참조하세요.

ideriv

ideriv(series_selector[d])는 주어진 롤링 윈도우 d의 마지막 두 원시 샘플을 기반으로 각 시계열의 초당 미분을 계산하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 개별적으로 계산됩니다.

결과의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

deriv도 참조하세요.

increase

increase(series_selector[d])는 주어진 롤링 윈도우 d에서 각 시계열의 증가분을 계산하는 롤업 함수입니다. 시계열 선택기counter 유형의 시계열을 반환할 것으로 예상됩니다.

Prometheus와 달리 결과를 계산할 때 주어진 롤링 윈도우 d 이전의 마지막 샘플을 고려합니다. 자세한 내용은 이 글을 참조하세요.

결과의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다. increase_pure, increase_prometheusdelta도 참조하세요.

increase_prometheus

increase_prometheus(series_selector[d])는 주어진 롤링 윈도우 d에서 각 시계열의 증가분을 계산하는 롤업 함수입니다. 시계열 선택기counter 유형의 시계열을 반환할 것으로 예상됩니다. 결과를 계산할 때 Prometheus와 달리 주어진 롤링 윈도우 d 이전의 마지막 샘플을 고려하지 않습니다. 자세한 내용은 이 글을 참조하세요.

결과의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

increase_pureincrease도 참조하세요.

increase_pure

increase_pure(series_selector[d])increase와 동일하지만, counters가 항상 0부터 시작한다고 가정하는 점이 다릅니다. increase는 첫 번째 값이 너무 크면 해당 값을 무시합니다.

increases_over_time

increases_over_time(series_selector[d])는 주어진 롤링 윈도우 d에서 각 시계열의 원시 샘플 값이 증가한 횟수를 계산하는 롤업 함수입니다.

결과의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

decreases_over_time도 참조하세요.

integrate

integrate(series_selector[d])는 주어진 d 시간 윈도우를 기반으로 주어진 시계열 선택기가 반환하는 각 시계열의 원시 샘플에 대한 적분을 계산하는 롤업 함수입니다.

메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

irate

irate(series_selector[d])는 주어진 d 시간 윈도우를 기반으로 주어진 시계열 선택기가 반환하는 각 시계열의 마지막 두 원시 샘플의 순간 초당 증가율을 계산하는 롤업 함수입니다. series_selector는 counter 유형의 시계열을 반환할 것으로 예상됩니다.

메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다. raterollup_rate도 참조하세요.

lag

lag(series_selector[d])는 주어진 d 시간 윈도우에서 마지막 샘플과 현재 지점의 타임스탬프 간의 지속 시간(초)을 반환하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 개별적으로 계산됩니다.

메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

lifetimeduration_over_time도 참조하세요.

last_over_time

last_over_time(series_selector[d])는 주어진 d 시간 윈도우에서 주어진 시계열 선택기가 반환하는 각 시계열의 마지막 원시 샘플 값을 반환하는 롤업 함수입니다.

이 함수는 PromQL에서 지원합니다. first_over_timetlast_over_time도 참조하세요.

lifetime

lifetime(series_selector[d])는 주어진 d 시간 윈도우에서 마지막 샘플과 첫 번째 샘플 간의 지속 시간(초)을 반환하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 개별적으로 계산됩니다.

메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

duration_over_timelag도 참조하세요.

mad_over_time

mad_over_time(series_selector[d])는 주어진 d 시간 윈도우에서 주어진 시계열 선택기가 반환하는 각 시계열의 원시 샘플에 대한 중앙값 절대 편차를 계산하는 롤업 함수입니다.

madrange_mad도 참조하세요.

max_over_time

max_over_time(series_selector[d])는 주어진 d 시간 윈도우에서 주어진 시계열 선택기가 반환하는 각 시계열의 원시 샘플 최대값을 계산하는 롤업 함수입니다.

이 함수는 PromQL에서 지원합니다. tmax_over_time도 참조하세요.

median_over_time

median_over_time(series_selector[d])는 주어진 d 시간 윈도우에서 주어진 시계열 선택기가 반환하는 각 시계열의 원시 샘플 중앙값을 계산하는 롤업 함수입니다.

avg_over_time도 참조하세요.

min_over_time

min_over_time(series_selector[d])는 주어진 d 시간 윈도우에서 주어진 시계열 선택기가 반환하는 각 시계열의 원시 샘플 최소값을 계산하는 롤업 함수입니다.

이 함수는 PromQL에서 지원합니다. tmin_over_time도 참조하세요.

mode_over_time

mode_over_time(series_selector[d])는 주어진 d 시간 윈도우의 원시 샘플에 대한 최빈값을 계산하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 개별적으로 계산됩니다. 원시 샘플 값이 이산적일 것으로 예상됩니다.

predict_linear

predict_linear(series_selector[d], t)는 선형 보간을 사용하여 주어진 d 시간 윈도우의 원시 샘플 값을 기반으로 t초 후의 값을 예측하는 롤업 함수입니다. 예측 값은 주어진 시계열 선택기가 반환하는 각 시계열에 대해 개별적으로 계산됩니다.

이 함수는 PromQL에서 지원합니다. range_linear_regression도 참조하세요.

present_over_time

present_over_time(series_selector[d])는 주어진 d 시간 윈도우에 하나 이상의 원시 샘플이 있으면 1을 반환하는 롤업 함수입니다. 그렇지 않으면 빈 결과를 반환합니다.

메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다.

quantile_over_time

quantile_over_time(phi, series_selector[d])는 주어진 d 시간 윈도우에서 주어진 시계열 선택기가 반환하는 각 시계열의 phi 분위수를 계산하는 롤업 함수입니다. phi 값은 범위 [0...1] 내에 있어야 합니다.

이 함수는 PromQL에서 지원합니다. quantiles_over_time도 참조하세요.

quantiles_over_time

quantiles_over_time("phiLabel", phi1, ..., phiN, series_selector[d])는 주어진 d 시간 윈도우에서 주어진 시계열 선택기가 반환하는 각 시계열의 phi* 분위수를 계산하는 롤업 함수입니다. 이 함수는 각 phi*에 대해 {phiLabel="phi*"} 레이블이 있는 별도의 시계열을 반환합니다. phi* 값은 범위 [0...1] 내에 있어야 합니다.

quantile_over_time도 참조하세요.

range_over_time

range_over_time(series_selector[d])는 주어진 d 시간 윈도우에서 주어진 시계열 선택기가 반환하는 각 시계열의 값 범위를 계산하는 롤업 함수입니다. 예를 들어, max_over_time(series_selector[d]) - min_over_time(series_selector[d])를 계산합니다.

메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

rate

rate(series_selector[d])는 주어진 d 시간 윈도우에서 주어진 시계열 선택기가 반환하는 각 시계열의 평균 초당 증가율을 계산하는 롤업 함수입니다. series_selector는 counter 유형의 시계열을 반환할 것으로 예상됩니다.

메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다. iraterollup_rate도 참조하세요.

rate_over_sum

rate_over_sum(series_selector[d])는 주어진 d 시간 윈도우에서 주어진 시계열 선택기가 반환하는 각 시계열의 원시 샘플 합계의 초당 비율을 계산하는 롤업 함수입니다. 이러한 계산은 각 시계열에 대해 개별적으로 수행됩니다.

메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

resets

resets(series_selector[d])는 주어진 d 시간 윈도우에서 주어진 시계열 선택기가 반환하는 각 시계열의 카운터 리셋 횟수를 반환하는 롤업 함수입니다. series_selector는 counter 유형의 시계열을 반환할 것으로 예상됩니다.

메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다.

rollup

rollup(series_selector[d])는 주어진 d 시간 윈도우의 원시 샘플에 대한 min, maxavg 값을 계산하고 rollup="min", rollup="max", rollup="avg" 추가 레이블과 함께 시계열로 반환하는 롤업 함수입니다. 이러한 값은 주어진 시계열 선택기가 반환하는 각 시계열에 대해 개별적으로 계산됩니다.

선택적 두 번째 인수 "min", "max" 또는 "avg"를 전달하여 하나의 계산 결과만 유지하고 레이블을 추가하지 않을 수 있습니다.

rollup_candlestick

rollup_candlestick(series_selector[d])는 주어진 롤링 윈도우 d에서 open, high, low, close 값(일명 OHLC)을 계산하고 rollup="open", rollup="high", rollup="low", rollup="close" 추가 레이블과 함께 시계열로 반환하는 롤업 함수입니다. 이러한 계산은 주어진 시계열 선택기가 반환하는 각 시계열에 대해 개별적으로 수행됩니다. 이 함수는 금융 애플리케이션에 매우 유용합니다.

선택적 두 번째 인수 "min", "max" 또는 "avg"를 전달하여 하나의 계산 결과만 유지하고 레이블을 추가하지 않을 수 있습니다.

rollup_delta

rollup_delta(series_selector[d])는 주어진 롤링 윈도우 d에서 인접한 원시 샘플 간의 차이를 계산하고 계산된 차이의 min, maxavg 값을 rollup="min", rollup="max", rollup="avg" 추가 레이블과 함께 시계열로 반환하는 롤업 함수입니다. 이러한 계산은 주어진 시계열 선택기가 반환하는 각 시계열에 대해 개별적으로 수행됩니다.

선택적 두 번째 인수 "min", "max" 또는 "avg"를 전달하여 하나의 계산 결과만 유지하고 레이블을 추가하지 않을 수 있습니다.

메트릭 이름은 생성된 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

rollup_increase도 참조하세요.

rollup_deriv

rollup_deriv(series_selector[d])는 주어진 롤링 윈도우 d에서 인접한 원시 샘플의 초당 미분을 계산하고 계산된 초당 미분의 min, maxavg 값을 rollup="min", rollup="max", rollup="avg" 추가 레이블과 함께 시계열로 반환하는 롤업 함수입니다. 이러한 계산은 주어진 시계열 선택기가 반환하는 각 시계열에 대해 개별적으로 수행됩니다.

선택적 두 번째 인수 "min", "max" 또는 "avg"를 전달하여 하나의 계산 결과만 유지하고 레이블을 추가하지 않을 수 있습니다.

메트릭 이름은 생성된 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

rollup_increase

rollup_increase(series_selector[d])는 주어진 롤링 윈도우 d에서 인접한 원시 샘플 간의 증가분을 계산하고 계산된 증가분의 min, maxavg 값을 rollup="min", rollup="max", rollup="avg" 추가 레이블과 함께 시계열로 반환하는 롤업 함수입니다. 이러한 계산은 주어진 시계열 선택기가 반환하는 각 시계열에 대해 개별적으로 수행됩니다.

선택적 두 번째 인수 "min", "max" 또는 "avg"를 전달하여 하나의 계산 결과만 유지하고 레이블을 추가하지 않을 수 있습니다.

메트릭 이름은 생성된 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요. rollup_delta도 참조하세요.

rollup_rate

rollup_rate(series_selector[d])는 주어진 롤링 윈도우 내에서 인접한 원시 샘플의 초당 변화율을 계산하고 계산된 초당 변화율의 min, maxavg 값을 rollup="min", rollup="max", rollup="avg" 추가 레이블과 함께 시계열로 반환하는 롤업 함수입니다.

rollup_rate()를 사용해야 하는 시기를 더 잘 이해하려면 이 글을 참조하세요.

선택적 두 번째 인수 "min", "max" 또는 "avg"를 전달하여 하나의 계산 결과만 유지하고 레이블을 추가하지 않을 수 있습니다.

이러한 계산은 주어진 시계열 선택기가 반환하는 각 시계열에 대해 수행됩니다.

결과 롤업의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

rollup_scrape_interval

rollup_scrape_interval(series_selector[d])는 주어진 롤링 윈도우 내에서 인접한 원시 샘플 간의 간격(초)을 계산하고 계산된 간격의 min, maxavg 값을 rollup="min", rollup="max", rollup="avg" 추가 레이블과 함께 시계열로 반환하는 롤업 함수입니다.

이러한 계산은 주어진 시계열 선택기가 반환하는 각 시계열에 대해 수행됩니다.

선택적 두 번째 인수 "min", "max" 또는 "avg"를 전달하여 하나의 계산 결과만 유지하고 레이블을 추가하지 않을 수 있습니다.

결과 롤업의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요. scrape_interval도 참조하세요.

scrape_interval

scrape_interval(series_selector[d])는 주어진 롤링 윈도우 내에서 원시 샘플 간의 평균 간격(초)을 계산하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 계산됩니다.

결과 롤업의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

rollup_scrape_interval도 참조하세요.

share_gt_over_time

share_gt_over_time(series_selector[d], gt)는 주어진 롤링 윈도우 내에서 gt보다 큰 원시 샘플의 비율(범위 [0...1] 내)을 반환하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 개별적으로 계산됩니다.

이 기능은 SLI 및 SLO를 계산하는 데 사용됩니다. 예: share_gt_over_time(up[24h], 0) - 지난 24시간 동안의 서비스 가용성을 반환합니다.

결과 롤업의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

share_le_over_time도 참조하세요.

share_le_over_time

share_le_over_time(series_selector[d], le)는 주어진 롤링 윈도우 내에서 le보다 작거나 같은 원시 샘플의 비율(범위 [0...1] 내)을 반환하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 개별적으로 계산됩니다.

이 기능은 SLI 및 SLO를 계산하는 데 사용됩니다. 예: share_le_over_time(memory_usage_bytes[24h], 100*1024*1024)는 지난 24시간 동안 메모리 사용량이 100MB 이하인 시계열 값의 비율을 반환합니다.

결과 롤업의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

share_gt_over_time도 참조하세요.

stale_samples_over_time

stale_samples_over_time(series_selector[d])는 주어진 롤링 윈도우 d 내에서 주어진 시계열 선택기와 일치하는 각 시계열의 stale 마커 개수를 계산하는 롤업 함수입니다.

결과 롤업의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

stddev_over_time

stddev_over_time(series_selector[d])는 주어진 롤링 윈도우 d 내에서 주어진 시계열 선택기가 반환하는 각 시계열의 원시 샘플 표준 편차를 계산하는 롤업 함수입니다.

결과 롤업의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다. stdvar_over_time도 참조하세요.

stdvar_over_time

stdvar_over_time(series_selector[d])는 주어진 롤링 윈도우 d 내에서 주어진 시계열 선택기가 반환하는 각 시계열의 원시 샘플 표준 분산을 계산하는 롤업 함수입니다.

결과 롤업의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다. stddev_over_time도 참조하세요.

sum_over_time

sum_over_time(series_selector[d])는 주어진 롤링 윈도우 d 내에서 주어진 시계열 선택기가 반환하는 각 시계열의 원시 샘플 값 합계를 계산하는 롤업 함수입니다.

결과 롤업의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다.

sum2_over_time

sum2_over_time(series_selector[d])는 주어진 롤링 윈도우 d 내에서 주어진 시계열 선택기가 반환하는 각 시계열의 원시 샘플 값 제곱의 합계를 계산하는 롤업 함수입니다.

결과 롤업의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

timestamp

timestamp(series_selector[d])는 주어진 롤링 윈도우 d 내에서 주어진 시계열 선택기가 반환하는 각 시계열의 마지막 원시 샘플 타임스탬프(초)를 반환하는 롤업 함수입니다.

결과 롤업의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다. timestamp_with_name도 참조하세요.

timestamp_with_name

timestamp_with_name(series_selector[d])는 주어진 롤링 윈도우 d 내에서 주어진 시계열 선택기가 반환하는 각 시계열의 마지막 원시 샘플 타임스탬프(초)를 반환하는 롤업 함수입니다.

결과 롤업의 메트릭 이름이 유지됩니다.

timestamp도 참조하세요.

tfirst_over_time

tfirst_over_time(series_selector[d])는 주어진 롤링 윈도우 d 내에서 주어진 시계열 선택기가 반환하는 각 시계열의 첫 번째 원시 샘플 타임스탬프(초)를 반환하는 롤업 함수입니다.

결과 롤업의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

first_over_time도 참조하세요.

tlast_change_over_time

tlast_change_over_time(series_selector[d])는 주어진 롤링 윈도우 d 내에서 주어진 시계열 선택기가 반환하는 각 시계열의 마지막 변경 타임스탬프를 반환하는 롤업 함수입니다.

결과 롤업의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

last_over_time도 참조하세요.

tlast_over_time

tlast_over_time(series_selector[d])timestamp의 별칭인 롤업 함수입니다.

tlast_change_over_time도 참조하세요.

tmax_over_time

tmax_over_time(series_selector[d])는 주어진 롤링 윈도우 d에서 최대값을 가진 원시 샘플의 타임스탬프(초)를 반환하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 개별적으로 계산됩니다.

메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

max_over_time도 참조하세요.

tmin_over_time

tmin_over_time(series_selector[d])는 주어진 롤링 윈도우 d에서 최소값을 가진 원시 샘플의 타임스탬프(초)를 반환하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 개별적으로 계산됩니다.

메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

min_over_time도 참조하세요.

zscore_over_time

zscore_over_time(series_selector[d])는 주어진 롤링 윈도우 d에서 원시 샘플의 z-점수를 반환하는 롤업 함수입니다. 주어진 시계열 선택기가 반환하는 각 시계열에 대해 개별적으로 계산됩니다.

메트릭 이름은 결과 롤업에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

zscorerange_trim_zscore도 참조하세요.

변환 함수

변환 함수롤업 결과의 변환을 계산합니다. 예를 들어, abs(delta(temperature[24h]))는 롤업에서 반환된 각 시계열의 각 지점에 대한 절대값을 계산합니다.

추가 세부 사항:

  • 변환 함수가 시계열 선택기에 직접 적용되면 변환을 계산하기 전에 default_rollup() 함수가 자동으로 적용됩니다. 예를 들어, abs(temperature)는 암시적으로 abs(default_rollup(temperature[1i]))로 변환됩니다.
  • 모든 변환 함수는 선택적 keep_metric_names 수식어를 허용합니다. 설정된 경우 함수는 결과 시계열에서 메트릭 이름을 제거하지 않습니다. 이 문서를 참조하세요.

암시적 쿼리 변환도 참조하세요.

지원되는 변환 함수 목록

abs

abs(q)q가 반환하는 각 시계열의 각 지점에 대한 절대값을 계산하는 변환 함수입니다.

이 기능은 PromQL에서 지원합니다.

absent

absent(q)q에 지점이 없으면 1을 반환하는 변환 함수입니다. 그렇지 않으면 빈 결과를 반환합니다.

이 기능은 PromQL에서 지원합니다. absent_over_time도 참조하세요.

acos

acos(q)q가 반환하는 각 시계열의 각 지점에 대한 아크코사인을 반환하는 변환 함수입니다.

메트릭 이름은 결과 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 기능은 PromQL에서 지원합니다. asincos도 참조하세요.

acosh

acosh(q)q가 반환하는 각 시계열의 각 지점에 대한 역쌍곡코사인을 반환하는 변환 함수입니다.

메트릭 이름은 결과 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 기능은 PromQL에서 지원합니다. cosh도 참조하세요.

asin

asin(q)q가 반환하는 각 시계열의 각 지점에 대한 아크사인을 반환하는 변환 함수입니다.

메트릭 이름은 결과 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 기능은 PromQL에서 지원합니다. acossin도 참조하세요.

asinh

asinh(q)q가 반환하는 각 시계열의 각 지점에 대한 역쌍곡사인을 반환하는 변환 함수입니다.

메트릭 이름은 결과 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 기능은 PromQL에서 지원합니다. sinh도 참조하세요.

atan

atan(q)q가 반환하는 각 시계열의 각 지점에 대한 아크탄젠트를 반환하는 변환 함수입니다.

메트릭 이름은 결과 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 기능은 PromQL에서 지원합니다. tan도 참조하세요.

atanh

atanh(q)q가 반환하는 각 시계열의 각 지점에 대한 역쌍곡탄젠트를 반환하는 변환 함수입니다.

메트릭 이름은 결과 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 기능은 PromQL에서 지원합니다. tanh도 참조하세요.

bitmap_and

bitmap_and(q, mask)q가 반환하는 각 시계열의 각 v 지점에 대한 비트 연산 v & mask를 계산하는 변환 함수입니다.

메트릭 이름은 결과 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

bitmap_or

bitmap_or(q, mask)q가 반환하는 각 시계열의 각 v 지점에 대한 비트 연산 v | mask를 계산하는 변환 함수입니다.

메트릭 이름은 결과 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

bitmap_xor

bitmap_xor(q, mask)q가 반환하는 각 시계열의 각 v 지점에 대한 비트 연산 v ^ mask를 계산하는 변환 함수입니다.

메트릭 이름은 결과 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

buckets_limit

buckets_limit(limit, buckets)히스토그램 버킷의 수를 주어진 limit로 제한하는 변환 함수입니다.

prometheus_bucketshistogram_quantile도 참조하세요.

ceil

ceil(q)q가 반환하는 각 시계열의 각 지점을 가장 가까운 정수로 올림하는 변환 함수입니다.

이 기능은 PromQL에서 지원합니다. floorround도 참조하세요.

clamp

clamp(q, min, max)는 주어진 minmax 값을 사용하여 q가 반환하는 각 시계열의 각 지점을 클램핑하는 변환 함수입니다.

이 기능은 PromQL에서 지원합니다. clamp_minclamp_max도 참조하세요.

clamp_max

clamp_max(q, max)q가 반환하는 각 시계열의 각 지점을 주어진 max 값으로 클램핑하는 변환 함수입니다.

이 함수는 PromQL에서 지원합니다. clampclamp_min을 참조하세요.

clamp_min

clamp_min(q, min)q가 반환하는 각 시계열의 각 지점을 주어진 min 값으로 클램핑하는 변환 함수입니다.

이 함수는 PromQL에서 지원합니다. clampclamp_max를 참조하세요.

cos

cos(q)q가 반환하는 각 시계열의 각 v 지점에 대한 cos(v)를 반환하는 변환 함수입니다.

메트릭 이름은 결과 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다. sin을 참조하세요.

cosh

cosh(q)q가 반환하는 각 시계열의 각 지점에 대한 쌍곡코사인을 반환하는 변환 함수입니다.

결과 시계열의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다. acosh도 참조하세요.

day_of_month

day_of_month(q)q가 반환하는 각 시계열의 각 지점에 대한 월의 일자를 반환하는 변환 함수입니다. q가 Unix 타임스탬프를 반환할 것으로 예상됩니다. 반환되는 값은 범위 [1...31] 내에 있습니다.

결과 시계열의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다.

day_of_week

day_of_week(q)q가 반환하는 각 시계열의 각 지점에 대한 요일을 반환하는 변환 함수입니다. q가 Unix 타임스탬프를 반환할 것으로 예상됩니다. 반환되는 값은 범위 [0...6] 내에 있으며, 0은 일요일, 6은 토요일을 나타냅니다.

결과 시계열의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다.

days_in_month

days_in_month(q)q가 반환하는 각 시계열의 각 지점이 식별하는 월의 일 수를 반환하는 변환 함수입니다. q가 Unix 타임스탬프를 반환할 것으로 예상됩니다. 반환되는 값은 범위 [28...31] 내에 있습니다.

결과 시계열의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다.

deg

deg(q)q가 반환하는 각 시계열의 각 지점을 라디안에서 도로 변환하는 변환 함수입니다.

결과 시계열의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다. rad도 참조하세요.

end

end()는 마지막 지점의 Unix 타임스탬프(초)를 반환하는 변환 함수입니다. /api/v1/query_range에 전달된 end 쿼리 매개변수라고 합니다.

start, timenow도 참조하세요.

exp

exp(q)q가 반환하는 각 시계열의 각 지점에 대해 e^v를 계산하는 변환 함수입니다.

결과 시계열의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다. ln도 참조하세요.

floor

floor(q)q가 반환하는 각 시계열의 각 지점을 가장 가까운 정수로 내림하는 변환 함수입니다.

이 함수는 PromQL에서 지원합니다. ceilround도 참조하세요.

histogram_avg

histogram_avg(buckets)는 주어진 buckets의 평균값을 계산하는 변환 함수입니다. 여러 시계열에 걸쳐 주어진 시간 범위의 평균값을 계산하는 데 사용할 수 있습니다. 예를 들어, histogram_avg(sum(histogram_over_time(response_time_duration_seconds[5m])) by (vmrange,job))는 최근 5분 동안 각 job의 평균 응답 시간을 반환합니다.

histogram_quantile

histogram_quantile(phi, buckets)는 주어진 히스토그램 버킷에서 phi-백분위수를 계산하는 변환 함수입니다. phi는 범위 [0...1] 내에 있어야 합니다. 예를 들어, histogram_quantile(0.5, sum(rate(http_request_duration_seconds_bucket[5m]) by (le))는 최근 5분 동안 모든 요청의 중간 요청 시간을 반환합니다.

이 함수는 선택적 세 번째 인수인 boundsLabel을 허용합니다. 이 경우 주어진 boundsLabel 레이블이 있는 추정된 백분위수의 lowerupper 경계를 반환합니다. 자세한 내용은 이 이슈를 참조하세요.

여러 히스토그램에서 백분위수를 계산할 때 모든 입력 히스토그램은 반드시 동일한 경계의 버킷을 가져야 합니다. 즉, 동일한 le 또는 vmrange 레이블 집합이 있어야 합니다. 그렇지 않으면 반환된 결과가 유효하지 않을 수 있습니다. 자세한 내용은 이 이슈를 참조하세요.

이 함수는 boundLabel 인수를 제외하고 PromQL에서 지원합니다. histogram_quantiles, histogram_sharequantile도 참조하세요.

histogram_quantiles

histogram_quantiles("phiLabel", phi1, ..., phiN, buckets)는 주어진 히스토그램 버킷에서 주어진 phi* 분위수를 계산하는 변환 함수입니다. phi* 인수는 범위 [0...1] 내에 있어야 합니다. 예를 들어, histogram_quantiles('le', 0.3, 0.5, sum(rate(http_request_duration_seconds_bucket[5m]) by (le)). 각 계산된 분위수는 해당 {phiLabel="phi*"} 레이블과 함께 별도의 시계열로 반환됩니다.

histogram_quantile도 참조하세요.

histogram_share

histogram_share(le, buckets)buckets 아래 le의 비율(범위 [0...1] 내)을 계산하는 변환 함수입니다. 이 함수는 SLI 및 SLO를 계산하는 데 유용합니다. histogram_quantile의 반대입니다.

이 함수는 선택적 세 번째 인수인 boundsLabel을 허용합니다. 이 경우 주어진 boundsLabel 레이블이 있는 추정된 비율의 lowerupper 경계를 반환합니다.

histogram_stddev

histogram_stddev(buckets)는 주어진 buckets의 표준 편차를 계산하는 변환 함수입니다.

histogram_stdvar

histogram_stdvar(buckets)는 여러 시계열에 걸쳐 주어진 시간 범위의 표준 편차를 계산하는 데 사용할 수 있는 변환 함수로, 주어진 buckets의 표준 분산을 계산합니다. 예를 들어, histogram_stdvar(sum(histogram_over_time(temperature[24])) by (vmrange,country))는 최근 24시간 동안 각 국가의 온도 표준 편차를 반환합니다.

hour

hour(q)q가 반환하는 각 시계열의 각 지점에 대한 시간을 반환하는 변환 함수입니다. q가 Unix 타임스탬프를 반환할 것으로 예상됩니다. 반환되는 값은 범위 [0...23] 내에 있습니다.

메트릭 이름은 결과 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

PromQL에서 지원합니다.

interpolate

interpolate(q)q가 반환하는 각 시계열의 이전 및 다음 비어 있지 않은 지점에서 계산된 선형 보간 값으로 갭을 채우는 변환 함수입니다.

keep_last_valuekeep_next_value도 참조하세요.

keep_last_value

keep_last_value(q)는 반환된 각 시계열의 마지막 비어 있지 않은 지점의 값으로 갭을 채우는 변환 함수입니다.

keep_next_valueinterpolate도 참조하세요.

keep_next_value

keep_next_value(q)는 반환된 각 시계열의 다음 비어 있지 않은 지점의 값으로 갭을 채우는 변환 함수입니다.

keep_last_valueinterpolate도 참조하세요.

limit_offset

limit_offset(limit, offset, q)q가 반환하는 offset 시계열을 건너뛴 다음 각 그룹에 대해 최대 limit개의 나머지 시계열을 반환하는 변환 함수입니다.

이는 q 시계열에 대한 간단한 페이지네이션을 구현할 수 있습니다. limitk도 참조하세요.

ln

ln(q)q가 반환하는 각 시계열의 각 지점에 대해 ln(v)를 계산하는 변환 함수입니다.

메트릭 이름은 결과 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

PromQL에서 지원합니다. explog2도 참조하세요.

log2

log2(q)q가 반환하는 각 시계열의 각 지점에 대해 log2(v)를 계산하는 변환 함수입니다.

메트릭 이름은 결과 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

PromQL에서 지원합니다. log10ln도 참조하세요.

log10

log10(q)q가 반환하는 각 시계열의 각 지점에 대해 log10(v)를 계산하는 변환 함수입니다.

메트릭 이름은 결과 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

PromQL에서 지원합니다. log2ln도 참조하세요.

minute

minute(q)q가 반환하는 각 시계열의 각 지점에 대한 분을 반환하는 변환 함수입니다. q가 Unix 타임스탬프를 반환할 것으로 예상됩니다. 반환되는 값은 범위 [0...59] 내에 있습니다.

메트릭 이름은 결과 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

PromQL에서 지원합니다.

month

month(q)q가 반환하는 각 시계열의 각 지점에 대한 월을 반환하는 변환 함수입니다. q가 Unix 타임스탬프를 반환할 것으로 예상됩니다. 반환되는 값은 범위 [1...12] 내에 있으며, 1은 1월, 12는 12월을 나타냅니다.

메트릭 이름은 결과 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

PromQL에서 지원합니다.

now

now()는 현재 타임스탬프를 초 단위로 반환하는 변환 함수입니다.

time도 참조하세요.

pi

pi()원주율을 반환하는 변환 함수입니다.

PromQL에서 지원합니다.

rad

rad(q)q가 반환하는 각 시계열의 각 지점을 도에서 라디안으로 변환하는 변환 함수입니다.

메트릭 이름은 결과 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

PromQL에서 지원합니다. deg도 참조하세요.

prometheus_buckets

prometheus_buckets(buckets)vmrange 레이블이 있는 VictoriaMetrics 히스토그램 버킷le 레이블이 있는 Prometheus 히스토그램 버킷으로 변환하는 변환 함수입니다.

histogram_quantilebuckets_limit도 참조하세요.

rand

rand(seed)는 균등 분포로 범위 [0...1]의 의사 난수를 반환하는 변환 함수입니다. 선택적 seed는 의사 난수 생성기의 시드로 사용할 수 있습니다.

rand_normalrand_exponential도 참조하세요.

rand_exponential

rand_exponential(seed)지수 분포를 가진 의사 난수를 반환하는 변환 함수입니다. 선택적 seed는 의사 난수 생성기의 시드로 사용할 수 있습니다.

randrand_normal도 참조하세요.

rand_normal

rand_normal(seed)정규 분포를 가진 의사 난수를 반환하는 변환 함수입니다. 선택적 seed는 의사 난수 생성기의 시드로 사용할 수 있습니다.

randrand_exponential도 참조하세요.

range_avg

range_avg(q)q가 반환하는 각 시계열의 지점 평균값을 계산하는 변환 함수입니다.

range_first

range_first(q)q가 반환하는 각 시계열의 첫 번째 지점 값을 반환하는 변환 함수입니다.

range_last

range_last(q)q가 반환하는 각 시계열의 마지막 지점 값을 반환하는 변환 함수입니다.

range_linear_regression

range_linear_regression(q)q가 반환하는 각 시계열에 대해 선택한 시간 범위에서 단순 선형 회귀를 계산하는 변환 함수입니다. 이 함수는 용량 계획 및 예측에 유용합니다.

range_mad

range_mad(q)q가 반환하는 각 시계열의 지점 간 중앙값 절대 편차를 계산하는 변환 함수입니다.

madmad_over_time도 참조하세요.

range_max

range_max(q)q가 반환하는 각 시계열의 지점 간 최대값을 계산하는 변환 함수입니다.

range_median

range_median(q)q가 반환하는 각 시계열의 지점 간 중앙값을 계산하는 변환 함수입니다.

range_min

range_min(q)q가 반환하는 각 시계열의 지점 간 최소값을 계산하는 변환 함수입니다.

range_normalize

range_normalize(q1, ...)q1, ...이 반환하는 시계열의 값을 [0 ... 1] 범위로 정규화하는 변환 함수입니다. 이 함수는 값 범위가 다른 시계열을 상호 연관시키는 데 유용합니다.

share도 참조하세요.

range_quantile

range_quantile(phi, q)q가 반환하는 각 시계열의 phi 분위수를 반환하는 변환 함수입니다. phi는 범위 [0 ... 1] 내에 있어야 합니다.

range_stddev

range_stddev(q)q가 반환하는 각 시계열에 대해 선택한 시간 범위에서 표준 편차를 계산하는 변환 함수입니다.

range_stdvar

range_stdvar(q)q가 반환하는 각 시계열에 대해 선택한 시간 범위에서 표준 분산을 계산하는 변환 함수입니다.

range_sum

range_sum(q)q가 반환하는 각 시계열의 지점 합계를 계산하는 변환 함수입니다.

range_trim_outliers

range_trim_outliers(k, q)range_median(q)에서 k*range_mad(q)보다 더 멀리 떨어진 지점을 제거하는 변환 함수입니다. 예를 들어, 다음 쿼리와 동일합니다. q ifnot (abs(q - range_median(q)) > k*range_mad(q)).

range_trim_spikesrange_trim_zscore도 참조하세요.

range_trim_spikes

range_trim_spikes(phi, q)q가 반환하는 시계열에서 가장 큰 phi 백분율의 스파이크를 제거하는 변환 함수입니다. phi는 범위 [0..1] 내에 있어야 하며, 00%, 1100%를 나타냅니다.

range_trim_outliersrange_trim_zscore도 참조하세요.

range_trim_zscore

range_trim_zscore(z, q)range_avg(q)에서 z*range_stddev(q)보다 더 멀리 떨어진 지점을 제거하는 변환 함수입니다. 예를 들어, 다음 쿼리와 동일합니다. q ifnot (abs(q - range_avg(q)) > z*range_avg(q)).

range_trim_outliersrange_trim_spikes도 참조하세요.

range_zscore

range_zscore(q)q가 반환하는 지점에 대한 z-점수를 계산하는 변환 함수입니다. 예를 들어, 다음 쿼리와 동일합니다. (q - range_avg(q)) / range_stddev(q).

remove_resets

remove_resets(q)q가 반환하는 시계열에서 카운터 리셋을 제거하는 변환 함수입니다.

round

round(q, nearest)q가 반환하는 각 시계열의 각 지점을 nearest의 배수로 반올림하는 변환 함수입니다. nearest가 없으면 가장 가까운 정수로 반올림됩니다.

이 함수는 PromQL에서 지원합니다. floorceil도 참조하세요.

ru

ru(free, max)는 주어진 freemax 리소스의 범위에서 리소스 사용률을 [0% ... 100%] 범위로 계산하는 변환 함수입니다. 예를 들어, ru(node_memory_MemFree_bytes, node_memory_MemTotal_bytes)node_exporter 메트릭의 메모리 사용률을 반환합니다.

running_avg

running_avg(q)q가 반환하는 각 시계열의 실행 평균을 계산하는 변환 함수입니다.

running_max

running_max(q)q가 반환하는 각 시계열의 실행 최대값을 계산하는 변환 함수입니다.

running_min

running_min(q)q가 반환하는 각 시계열의 실행 최소값을 계산하는 변환 함수입니다.

running_sum

running_sum(q)q가 반환하는 각 시계열의 실행 합계를 계산하는 변환 함수입니다.

scalar

scalar(q)q가 단일 시계열만 포함하는 경우 q를 반환하는 변환 함수입니다. 그렇지 않으면 아무것도 반환하지 않습니다.

이 함수는 PromQL에서 지원합니다.

sgn

sgn(q)q가 반환하는 각 시계열의 각 지점에 대해 v > 0이면 1, v < 0이면 -1, v == 0이면 0을 반환하는 변환 함수입니다.

메트릭 이름은 생성된 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 PromQL에서 지원합니다.

sin

sin(q)q가 반환하는 각 시계열의 각 v 지점에 대해 sin(v)를 반환하는 변환 함수입니다.

메트릭 이름은 생성된 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 MetricsQL에서 지원합니다. cos도 참조하세요.

sinh

sinh(q)q가 반환하는 각 시계열의 각 지점에 대한 쌍곡사인을 반환하는 변환 함수입니다.

메트릭 이름은 생성된 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 MetricsQL에서 지원합니다. cosh도 참조하세요.

tan

tan(q)q가 반환하는 각 시계열의 각 v 지점에 대해 tan(v)를 반환하는 변환 함수입니다.

메트릭 이름은 생성된 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 MetricsQL에서 지원합니다. atan도 참조하세요.

tanh

tanh(q)q가 반환하는 각 시계열의 각 지점에 대한 쌍곡탄젠트를 반환하는 변환 함수입니다.

메트릭 이름은 생성된 시계열에서 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

이 함수는 MetricsQL에서 지원합니다. atanh도 참조하세요.

smooth_exponential

smooth_exponential(q, sf)는 주어진 평활 계수 sf를 사용하여 q가 반환하는 각 시계열의 지점을 평활화하는 변환 함수입니다.

sort

sort(q)q가 반환하는 각 시계열의 마지막 지점을 기준으로 오름차순으로 시계열을 정렬하는 변환 함수입니다.

이 함수는 PromQL에서 지원합니다. sort_descsort_by_label도 참조하세요.

sort_desc

sort_desc(q)q가 반환하는 각 시계열의 마지막 지점을 기준으로 내림차순으로 정렬하는 변환 함수입니다.

PromQL에서 지원합니다. sortsort_by_label도 참조하세요.

sqrt

sqrt(q)q가 반환하는 각 시계열의 각 지점에 대한 제곱근을 계산하는 변환 함수입니다.

결과 시계열의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

PromQL에서 지원합니다.

start

start()는 첫 번째 지점의 Unix 타임스탬프(초)를 반환하는 변환 함수입니다.

/api/v1/query_range에 전달된 start 쿼리 매개변수라고 합니다.

end, timenow도 참조하세요.

step

step()는 지점 간 간격(초)을 반환하는 변환 함수입니다. /api/v1/query_range에 전달된 step 쿼리 매개변수라고 합니다.

startend도 참조하세요.

time

time()는 각 반환 지점의 Unix 타임스탬프를 반환하는 변환 함수입니다.

PromQL에서 지원합니다. now, startend도 참조하세요.

timezone_offset

timezone_offset(tz)는 UTC를 기준으로 주어진 시간대 tz의 오프셋(초)을 반환하는 변환 함수입니다. 이는 날짜-시간 관련 함수와 함께 사용할 때 유용할 수 있습니다. 예를 들어, day_of_week(time()+timezone_offset("America/Los_Angeles"))America/Los_Angeles 시간대의 요일을 반환합니다.

특수 Local 시간대를 사용하여 VictoriaMetrics가 실행 중인 호스트에 설정된 시간대의 오프셋을 반환할 수 있습니다.

지원되는 시간대 목록을 참조하세요.

ttf

ttf(free)free 리소스가 소진되는 데 필요한 시간(초)을 추정하는 변환 함수입니다. 예를 들어, ttf(node_filesystem_avail_byte)는 스토리지 공간이 소진되는 시간을 반환합니다. 이 기능은 용량 계획에 유용할 수 있습니다.

union

union(q1, ..., qN)q1, ..., qN이 반환하는 시계열의 합집합을 반환하는 변환 함수입니다. union 함수 이름은 생략할 수 있습니다. 다음 쿼리는 동일합니다. union(q1, q2)(q1, q2).

q* 쿼리는 고유한 레이블 집합을 가진 시계열을 반환할 것으로 예상됩니다. 그렇지 않으면 동일한 레이블 집합을 가진 시계열 중 첫 번째 시계열만 반환됩니다. aliaslabel_set 함수를 사용하여 각 q* 쿼리에 고유한 레이블 집합을 제공합니다.

vector

vector(q)q를 반환하는 변환 함수입니다. MetricsQL에서는 아무 작업도 수행하지 않습니다.

PromQL에서 지원합니다.

year

year(q)q가 반환하는 각 시계열의 각 지점에 대한 연도를 반환하는 변환 함수입니다. q가 Unix 타임스탬프를 반환할 것으로 예상됩니다.

결과 시계열의 메트릭 이름이 제거됩니다. keep_metric_names 수식어를 추가하여 메트릭 이름을 유지하세요.

PromQL에서 지원합니다.

레이블 조작 함수

레이블 조작 함수는 선택된 롤업 결과에 대해 레이블 조작을 수행하는 데 사용됩니다.

추가 세부 사항:

  • 레이블 조작 함수가 시계열 선택기에 직접 적용되면 레이블 변환을 실행하기 전에 default_rollup() 함수가 자동으로 적용됩니다. 예를 들어, alias(temperature, "foo")는 암시적으로 alias(default_rollup(temperature[1i]), "foo")로 변환됩니다.

암시적 쿼리 변환도 참조하세요.

지원되는 레이블 조작 함수 목록

alias

alias(q, "name")q가 반환하는 모든 시계열에 주어진 name을 설정하는 레이블 조작 함수입니다. 예를 들어, alias(up, "foobar")up 시계열의 이름을 foobar 시계열로 변경합니다.

drop_common_labels

drop_common_labels(q1, ...., qN)q1, ..., qN이 반환하는 시계열에서 공통 label="value" 쌍을 제거하는 레이블 조작 함수입니다.

label_copy

label_copy(q, "src_label1", "dst_label1", ..., "src_labelN", "dst_labelN")src_label*의 레이블 값을 q가 반환하는 모든 시계열의 dst_label*로 복사하는 레이블 조작 함수입니다. src_label이 비어 있으면 해당 dst_label은 변경되지 않은 상태로 유지됩니다.

label_del

label_del(q, "label1", ..., "labelN")q가 반환하는 모든 시계열에서 주어진 label*을 제거하는 레이블 조작 함수입니다.

label_join

label_join(q, "dst_label", "separator", "src_label1", ..., "src_labelN")src_label* 값을 주어진 separator로 연결하고 결과를 dst_label에 저장하는 레이블 조작 함수입니다. 이는 q가 반환하는 각 시계열에 대해 개별적으로 수행됩니다. 예를 들어, label_join(up{instance="xxx",job="yyy"}, "foo", "-", "instance", "job")xxx-yyy 레이블 값을 foo 레이블에 저장합니다.

이 기능은 PromQL에서 지원합니다.

label_keep

label_keep(q, "label1", ..., "labelN")q가 반환하는 모든 시계열에서 나열된 label* 레이블만 유지하고 다른 모든 레이블을 제거하는 레이블 조작 함수입니다.

label_lowercase

label_lowercase(q, "label1", ..., "labelN")q가 반환하는 모든 시계열에서 주어진 label* 레이블의 값을 소문자로 변환하는 레이블 조작 함수입니다.

label_map

label_map(q, "label", "src_value1", "dst_value1", ..., "src_valueN", "dst_valueN")q가 반환하는 모든 시계열의 label 값을 src_*에서 dst*로 매핑하는 레이블 조작 함수입니다.

label_match

label_match(q, "label", "regexp")q에서 주어진 regexp와 일치하지 않는 label을 가진 시계열을 제거하는 레이블 조작 함수입니다. 이 함수는 각 입력 시계열에 대해 여러 시계열을 반환할 수 있는 Rollup과 같은 함수 이후에 유용합니다.

label_mismatch도 참조하세요.

label_mismatch

label_mismatch(q, "label", "regexp")q에서 주어진 regexp와 일치하는 label을 가진 시계열을 제거하는 레이블 조작 함수입니다. 이 함수는 각 입력 시계열에 대해 여러 시계열을 반환할 수 있는 Rollup과 같은 함수 이후에 유용합니다.

label_match도 참조하세요.

label_move

label_move(q, "src_label1", "dst_label1", ..., "src_labelN", "dst_labelN")src_label*의 레이블 값을 q가 반환하는 모든 시계열의 dst_label*로 이동하는 레이블 조작 함수입니다. src_label이 비어 있으면 해당 dst_label은 변경되지 않은 상태로 유지됩니다.

label_replace

label_replace(q, "dst_label", "replacement", "src_label", "regex")는 주어진 regexsrc_label에 적용하고 주어진 regexsrc_label과 일치할 때 replacementdst_label에 저장하는 레이블 조작 함수입니다. replacement$1, $2 등과 같은 정규식 캡처 그룹에 대한 참조를 포함할 수 있습니다. 이러한 참조는 해당 정규식 캡처로 대체됩니다. 예를 들어, label_replace(up{job="node-exporter"}, "foo", "bar-$1", "job", "node-(.+)")bar-exporter 레이블 값을 foo 레이블에 저장합니다.

이 기능은 PromQL에서 지원합니다.

label_set

label_set(q, "label1", "value1", ..., "labelN", "valueN"){label1="value1", ..., labelN="valueN"} 레이블을 q가 반환하는 모든 시계열에 설정하는 레이블 조작 함수입니다.

label_transform

label_transform(q, "label", "regexp", "replacement")는 주어진 label에서 모든 regexp 항목을 주어진 replacement로 대체하는 레이블 조작 함수입니다.

label_uppercase

label_uppercase(q, "label1", ..., "labelN")q가 반환하는 모든 시계열에서 주어진 label* 레이블의 값을 대문자로 변환하는 레이블 조작 함수입니다.

label_lowercase도 참조하세요.

label_value

label_value(q, "label")q가 반환하는 각 시계열에 대해 주어진 label의 숫자 값을 가져오는 레이블 조작 함수입니다.

예를 들어, label_value(foo, "bar")foo{bar="1.234"}에 적용되면 값이 1.234인 시계열 foo{bar="1.234"}를 반환합니다. 숫자가 아닌 레이블 값의 경우 함수는 데이터를 반환하지 않습니다.

sort_by_label

sort_by_label(q, label1, ... labelN)는 주어진 레이블 집합을 기준으로 오름차순으로 시계열을 정렬하는 레이블 조작 함수입니다. 예를 들어, sort_by_label(foo, "bar")는 시계열의 bar 레이블 값에 따라 foo 시계열을 정렬합니다.

sort_by_label_descsort_by_label_numeric도 참조하세요.

sort_by_label_desc

sort_by_label_desc(q, label1, ... labelN)는 주어진 레이블 집합을 기준으로 내림차순으로 시계열을 정렬하는 레이블 조작 함수입니다. 예를 들어, sort_by_label(foo, "bar")는 시계열의 bar 레이블 값에 따라 foo 시계열을 정렬합니다.

sort_by_labelsort_by_label_numeric_desc도 참조하세요.

sort_by_label_numeric

sort_by_label_numeric(q, label1, ... labelN)숫자 정렬을 사용하여 주어진 레이블 집합을 기준으로 오름차순으로 시계열을 정렬하는 레이블 조작 함수입니다. 예를 들어, foo 시계열의 bar 레이블 값이 1, 101, 15, 2인 경우 sort_by_label_numeric(foo, "bar")bar 레이블 값이 1, 2, 15, 101 순서로 시계열을 반환합니다.

sort_by_label_numeric_descsort_by_label도 참조하세요.

sort_by_label_numeric_desc

sort_by_label_numeric_desc(q, label1, ... labelN)숫자 정렬을 사용하여 주어진 레이블 집합을 기준으로 내림차순으로 시계열을 정렬하는 레이블 조작 함수입니다. 예를 들어, foo 시계열의 bar 레이블 값이 1, 101, 15, 2인 경우 sort_by_label_numeric(foo, "bar")bar 레이블 값이 101, 15, 2, 1 순서로 시계열을 반환합니다.

sort_by_label_numericsort_by_label_desc도 참조하세요.

집계 함수

집계 함수롤업 결과 그룹의 집계를 계산합니다.

추가 세부 사항:

  • 기본적으로 단일 그룹을 사용하여 집계가 수행됩니다. bywithout 수식어에 그룹화 레이블을 지정하여 여러 개의 독립적인 그룹을 설정할 수 있습니다. 예를 들어, count(up) by (job)job 레이블 값으로 롤업 결과를 그룹화하고 각 그룹에서 count 집계 함수를 개별적으로 계산합니다. 반면 count(up) without (instance)count 집계 함수를 계산하기 전에 롤업 결과instance를 제외한 모든 레이블로 그룹화합니다. 여러 레이블을 bywithout 수식어에 배치할 수 있습니다.
  • 집계 함수가 시계열 선택기에 직접 적용되면 집계를 계산하기 전에 default_rollup() 함수가 자동으로 적용됩니다. 예를 들어, count(up)는 암시적으로 count(default_rollup(up[1i]))로 변환됩니다.
  • 집계 함수는 임의의 개수의 인수를 허용합니다. 예를 들어, avg(q1, q2, q3)q1, q2, q3의 각 지점에 대한 평균값을 반환합니다.
  • 집계 함수는 선택적 limit N 접미사를 지원하여 출력 그룹 수를 제한할 수 있습니다. 예를 들어, sum(x) by (y) limit 3은 집계된 그룹 수를 3개로 제한합니다. 다른 모든 그룹은 무시됩니다.

암시적 쿼리 변환도 참조하세요.

지원되는 집계 함수 목록

any

any(q) by (group_labels)q가 반환하는 시계열에서 각 group_labels에 대해 하나의 시계열을 반환하는 집계 함수입니다.

group도 참조하세요.

avg

avg(q) by (group_labels)q의 시계열에 대해 각 group_labels의 평균값을 반환하는 집계 함수입니다. 집계는 동일한 타임스탬프를 가진 지점의 각 그룹에 대해 개별적으로 계산됩니다.

이 함수는 PromQL에서 지원합니다.

bottomk

bottomk(k, q)q의 모든 시계열에서 가장 작은 값을 가진 k개의 지점을 반환하는 집계 함수입니다. 집계는 동일한 타임스탬프를 가진 지점의 각 그룹에 대해 개별적으로 계산됩니다.

이 함수는 PromQL에서 지원합니다. topk도 참조하세요.

bottomk_avg

bottomk_avg(k, q, "other_label=other_value")q에서 평균값이 가장 작은 k개의 시계열을 반환하는 집계 함수입니다. 선택적 other_label=other_value 매개변수가 설정된 경우 나머지 시계열의 합계와 주어진 레이블을 반환합니다. 예를 들어, bottomk_avg(3, sum(process_resident_memory_bytes) by (job), "job=other")는 평균값이 가장 작은 3개의 시계열과 나머지 합계가 있는 {job="other"} 레이블의 시계열을 반환합니다.

topk_avg도 참조하세요.

bottomk_last

bottomk_last(k, q, "other_label=other_value")q에서 마지막 값이 가장 작은 k개의 시계열을 반환하는 집계 함수입니다. 선택적 other_label=other_value 매개변수가 설정된 경우 나머지 시계열의 합계와 주어진 레이블을 반환합니다. 예를 들어, bottomk_max(3, sum(process_resident_memory_bytes) by (job), "job=other")는 최대값이 가장 작은 3개의 시계열과 나머지 합계가 있는 {job="other"} 레이블의 시계열을 반환합니다.

topk_last도 참조하세요.

bottomk_max

bottomk_max(k, q, "other_label=other_value")q에서 최대값이 가장 작은 k개의 시계열을 반환하는 집계 함수입니다. 선택적 other_label=other_value 매개변수가 설정된 경우 나머지 시계열의 합계와 주어진 레이블을 반환합니다. 예를 들어, bottomk_max(3, sum(process_resident_memory_bytes) by (job), "job=other")는 최대값이 가장 작은 3개의 시계열과 나머지 합계가 있는 {job="other"} 레이블의 시계열을 반환합니다.

topk_max도 참조하세요.

bottomk_median

bottomk_median(k, q, "other_label=other_value")q에서 중앙값이 가장 작은 k개의 시계열을 반환하는 집계 함수입니다. 선택적 other_label=other_value 매개변수가 설정된 경우 나머지 시계열의 합계와 주어진 레이블을 반환합니다. 예를 들어, bottomk_median(3, sum(process_resident_memory_bytes) by (job), "job=other")는 중앙값이 가장 작은 3개의 시계열과 나머지 합계가 있는 {job="other"} 레이블의 시계열을 반환합니다.

topk_median도 참조하세요.

bottomk_min

bottomk_min(k, q, "other_label=other_value")q에서 최소값이 가장 작은 k개의 시계열을 반환하는 집계 함수입니다. 선택적 other_label=other_value 매개변수가 설정된 경우 나머지 시계열의 합계와 주어진 레이블을 반환합니다. 예를 들어, bottomk_min(3, sum(process_resident_memory_bytes) by (job), "job=other")는 최소값이 가장 작은 3개의 시계열과 나머지 합계가 있는 {job="other"} 레이블의 시계열을 반환합니다.

topk_min도 참조하세요.

count

count(q) by (group_labels)q의 비어 있지 않은 지점에 대해 각 group_labels의 개수를 반환하는 집계 함수입니다. 집계는 동일한 타임스탬프를 가진 지점의 각 그룹에 대해 개별적으로 계산됩니다.

이 함수는 PromQL에서 지원합니다.

count_values

count_values("label", q)는 동일한 값을 가진 지점의 개수를 계산하고 각 초기 값에 대한 추가 label이 있는 시계열에 개수를 저장하는 집계 함수입니다. 집계는 동일한 타임스탬프를 가진 지점의 각 그룹에 대해 개별적으로 계산됩니다.

이 함수는 PromQL에서 지원합니다.

distinct

distinct(q)는 동일한 타임스탬프를 가진 각 그룹의 고유한 값 개수를 계산하는 집계 함수입니다.

geomean

geomean(q)는 동일한 타임스탬프를 가진 각 그룹의 기하 평균을 계산하는 집계 함수입니다.

group

group(q) by (group_labels)q가 반환하는 시계열에서 각 group_labels에 대해 1을 반환하는 집계 함수입니다.

이 함수는 PromQL에서 지원합니다. any도 참조하세요.

histogram

histogram(q)는 동일한 타임스탬프를 가진 각 지점 그룹에 대해 VictoriaMetrics 히스토그램을 계산하는 집계 함수입니다. 히트맵을 통해 많은 수의 시계열을 시각화합니다. 자세한 내용은 이 글을 참조하세요.

histogram_over_timehistogram_quantile도 참조하세요.

limitk

limitk(k, q) by (group_labels)는 각 group_labels에서 q가 반환하는 시계열 중 최대 k개의 시계열을 반환하는 집계 함수입니다. 반환되는 시계열 집합은 호출 간에 일정하게 유지됩니다.

limit_offset도 참조하세요.

mad

mad(q) by (group_labels)는 각 group_labels에서 q가 반환하는 모든 시계열에 대한 중앙값 절대 편차를 계산하는 집계 함수입니다. 동일한 타임스탬프를 가진 각 지점 그룹에 대해 개별적으로 집계가 계산됩니다.

range_mad, mad_over_time, outliers_madstddev도 참조하세요.

max

max(q) by (group_labels)q가 반환하는 모든 시계열에서 각 group_labels에 대한 최대값을 반환하는 집계 함수입니다. 동일한 타임스탬프를 가진 각 지점 그룹에 대해 개별적으로 집계가 계산됩니다.

PromQL에서 지원합니다.

median

median(q) by (group_labels)q가 반환하는 모든 시계열에서 각 group_labels에 대한 중앙값을 반환하는 집계 함수입니다. 동일한 타임스탬프를 가진 각 지점 그룹에 대해 개별적으로 집계가 계산됩니다.

min

min(q) by (group_labels)q가 반환하는 모든 시계열에서 각 group_labels에 대한 최소값을 반환하는 집계 함수입니다. 동일한 타임스탬프를 가진 각 지점 그룹에 대해 개별적으로 집계가 계산됩니다.

PromQL에서 지원합니다.

mode

mode(q) by (group_labels)q가 반환하는 모든 시계열에서 각 group_labels에 대한 최빈값을 반환하는 집계 함수입니다. 동일한 타임스탬프를 가진 각 지점 그룹에 대해 개별적으로 집계가 계산됩니다.

outliers_mad

outliers_mad(tolerance, q)q에서 중앙값 절대 편차(MAD)에 tolerance를 곱한 값 밖에 있는 지점이 하나 이상 있는 시계열을 반환하는 집계 함수입니다. 예를 들어, median(q)-mad(q)보다 낮거나 median(q)+mad(q)보다 높은 지점이 하나 이상 있는 시계열을 반환합니다.

outlierskmad도 참조하세요.

outliersk

outliersk(k, q)q가 반환하는 시계열에서 표준 편차가 가장 큰(즉, 이상치) 최대 k개의 시계열을 반환하는 집계 함수입니다.

outliers_mad도 참조하세요.

quantile

quantile(phi, q) by (group_labels)q가 반환하는 모든 시계열에서 각 group_labelsphi 분위수를 계산하는 집계 함수입니다. phi는 범위 [0...1] 내에 있어야 합니다. 동일한 타임스탬프를 가진 각 지점 그룹에 대해 개별적으로 집계가 계산됩니다.

PromQL에서 지원합니다. quantileshistogram_quantile도 참조하세요.

quantiles

quantiles("phiLabel", phi1, ..., phiN, q)q가 반환하는 모든 시계열의 phi* 분위수를 계산하고 {phiLabel="phi*"} 레이블이 있는 시계열로 반환하는 집계 함수입니다. phi*는 범위 [0...1] 내에 있어야 합니다. 동일한 타임스탬프를 가진 각 지점 그룹에 대해 개별적으로 집계가 계산됩니다.

quantile도 참조하세요.

share

share(q) by (group_labels)는 각 타임스탬프의 각 음이 아닌 지점에 대해 범위 [0..1] 내의 비율을 반환하여 각 group_labels의 비율 합계가 1이 되도록 하는 집계 함수입니다.

이 함수는 히스토그램 버킷 비율을 [0..1] 범위로 정규화하는 데 사용됩니다.

share(
  sum(
    rate(http_request_duration_seconds_bucket[5m])
  ) by (le, vmrange)
)

range_normalize도 참조하세요.

stddev

stddev(q) by (group_labels)q가 반환하는 모든 시계열에서 각 group_labels의 표준 편차를 계산하는 집계 함수입니다. 집계는 동일한 타임스탬프를 가진 각 지점 그룹에 대해 개별적으로 계산됩니다.

이 함수는 PromQL에서 지원합니다.

stdvar

stdvar(q) by (group_labels)q가 반환하는 모든 시계열에서 각 group_labels의 표준 분산을 계산하는 집계 함수입니다. 집계는 동일한 타임스탬프를 가진 각 지점 그룹에 대해 개별적으로 계산됩니다.

이 함수는 PromQL에서 지원합니다.

sum

sum(q) by (group_labels)q가 반환하는 모든 시계열에서 각 group_labels의 합계를 반환하는 집계 함수입니다. 집계는 동일한 타임스탬프를 가진 각 지점 그룹에 대해 개별적으로 계산됩니다.

이 함수는 PromQL에서 지원합니다.

sum2

sum2(q) by (group_labels)q가 반환하는 모든 시계열에서 각 group_labels의 제곱합을 계산하는 집계 함수입니다. 집계는 동일한 타임스탬프를 가진 각 지점 그룹에 대해 개별적으로 계산됩니다.

topk

topk(k, q)q가 반환하는 모든 시계열에서 가장 큰 값의 상위 k개 지점을 반환하는 집계 함수입니다. 집계는 동일한 타임스탬프를 가진 각 지점 그룹에 대해 개별적으로 계산됩니다.

이 함수는 PromQL에서 지원합니다. bottomk도 참조하세요.

topk_avg

topk_avg(k, q, "other_label=other_value")q에서 평균값이 가장 큰 상위 k개의 시계열을 반환하는 집계 함수입니다. 선택적 other_label=other_value 매개변수가 설정된 경우 나머지 시계열의 합계와 주어진 레이블을 반환합니다. 예를 들어, topk_avg(3, sum(process_resident_memory_bytes) by (job), "job=other")는 평균값이 가장 큰 3개의 시계열과 나머지 시계열의 합계가 있는 {job="other"} 레이블의 시계열을 반환합니다.

bottomk_avg도 참조하세요.

topk_last

topk_last(k, q, "other_label=other_value")q에서 마지막 값이 가장 큰 상위 k개의 시계열을 반환하는 집계 함수입니다. 선택적 other_label=other_value 매개변수가 설정된 경우 나머지 시계열의 합계와 주어진 레이블을 반환합니다. 예를 들어, topk_max(3, sum(process_resident_memory_bytes) by (job), "job=other")는 최대값이 가장 큰 3개의 시계열과 나머지 시계열의 합계가 있는 {job="other"} 레이블의 시계열을 반환합니다.

bottomk_last도 참조하세요.

topk_max

topk_max(k, q, "other_label=other_value")q에서 최대값이 가장 큰 상위 k개의 시계열을 반환하는 집계 함수입니다. 선택적 other_label=other_value 매개변수가 설정된 경우 나머지 시계열의 합계와 주어진 레이블을 반환합니다. 예를 들어, topk_max(3, sum(process_resident_memory_bytes) by (job), "job=other")는 최대값이 가장 큰 3개의 시계열과 나머지 시계열의 합계가 있는 {job="other"} 레이블의 시계열을 반환합니다.

bottomk_max도 참조하세요.

topk_median

topk_median(k, q, "other_label=other_value")q에서 중앙값이 가장 큰 상위 k개의 시계열을 반환하는 집계 함수입니다. 선택적 other_label=other_value 매개변수가 설정된 경우 나머지 시계열의 합계와 주어진 레이블을 반환합니다. 예를 들어, topk_median(3, sum(process_resident_memory_bytes) by (job), "job=other")는 중앙값이 가장 큰 3개의 시계열과 나머지 시계열의 합계가 있는 {job="other"} 레이블의 시계열을 반환합니다.

bottomk_median도 참조하세요.

topk_min

topk_min(k, q, "other_label=other_value")q에서 최소값이 가장 큰 상위 k개의 시계열을 반환하는 집계 함수입니다. 선택적 other_label=other_value 매개변수가 설정된 경우 나머지 시계열의 합계와 주어진 레이블을 반환합니다. 예를 들어, topk_min(3, sum(process_resident_memory_bytes) by (job), "job=other")는 최소값이 가장 큰 3개의 시계열과 나머지 시계열의 합계가 있는 {job="other"} 레이블의 시계열을 반환합니다.

bottomk_min도 참조하세요.

zscore

zscore(q) by (group_labels)q가 반환하는 모든 시계열에서 각 group_labelsz-점수 값을 반환하는 집계 함수입니다. 집계는 동일한 타임스탬프를 가진 각 지점 그룹에 대해 개별적으로 계산됩니다. 이 함수는 관련 시계열 그룹에서 이상치를 감지하는 데 사용됩니다.

zscore_over_timerange_trim_zscore도 참조하세요.

하위 쿼리

MetricsQL은 PromQL 하위 쿼리를 지원하고 확장합니다. 자세한 내용은 이 글을 참조하세요. 시계열 선택기 형식이 아닌 롤업 함수는 모두 하위 쿼리를 형성합니다. 여러 계층의 롤업 함수는 암시적 쿼리 변환으로 암시적으로 변환될 수 있습니다. 예를 들어, delta(sum(m))은 암시적으로 delta(sum(default_rollup(m[1i]))[1i:1i])로 변환되므로 중첩된 default_rollupdelta를 포함하기 때문에 하위 쿼리가 됩니다.

MetricsQL은 다음과 같은 방식으로 하위 쿼리를 실행합니다.

  • 외부 롤업 함수의 step 값을 사용하여 내부 롤업 함수를 계산합니다. 예를 들어, max_over_time(rate(http_requests_total[5m])[1h:30s]) 표현식의 경우 내부 함수 rate(http_requests_total[5m])step=30s로 계산됩니다. 계산 결과의 데이터 포인트는 step에 맞춰 정렬됩니다.
  • 프론트엔드에서 전달한 step 값을 사용하여 내부 롤업 함수의 결과에 대해 외부 롤업 함수를 계산합니다.

암시적 쿼리 변환

계산을 시작하기 전에 MetricsQL은 들어오는 쿼리에 대해 다음과 같은 암시적 변환을 수행합니다.

  • 롤업 함수 내부에 대괄호 안의 롤링 윈도우가 없으면 [1i]가 자동으로 추가됩니다. [1i]/api/v1/query_range에 전달되는 step 값을 나타냅니다. Grafana에서는 $__interval이라고도 합니다. 예를 들어, rate(http_requests_count)는 자동으로 rate(http_requests_count[1i])로 변환됩니다.

  • 롤업 함수로 래핑되지 않은 모든 시계열 선택기는 자동으로 default_rollup 함수로 래핑됩니다. 예를 들어:

    • foodefault_rollup(foo[1i])로 변환됩니다.
    • foo + bardefault_rollup(foo[1i]) + default_rollup(bar[1i])로 변환됩니다.
    • count(up)count(default_rollup(up[1i]))로 변환됩니다. count롤업 함수가 아니라 집계 함수이기 때문입니다.
    • abs(temperature)abs(default_rollup(temperature[1i]))로 변환됩니다. abs롤업 함수가 아니라 변환 함수이기 때문입니다.
  • 하위 쿼리에 대괄호 안의 step이 없으면 자동으로 1i step이 추가됩니다. 예를 들어, avg_over_time(rate(http_requests_total[5m])[1h])는 자동으로 avg_over_time(rate(http_requests_total[5m])[1h:1i])로 변환됩니다.

  • 롤업 함수에 전달된 것이 시계열 선택기가 아닌 경우 자동으로 1i 롤링 윈도우와 1i step을 가진 하위 쿼리가 형성됩니다. 예를 들어, rate(sum(up))는 자동으로 rate((sum(default_rollup(up[1i])))[1i:1i])로 변환됩니다.

문서 평가

이 페이지가 도움이 되었나요?