View a markdown version of this page

PromQL을 사용하여 지표 쿼리 - Amazon CloudWatch

PromQL을 사용하여 지표 쿼리

참고

OTLP 지표 수집, PromQL 쿼리, 벤딩 AWS 지표의 OTel 보강 및 Query Studio는 공개 미리 보기 릴리스 상태로, 무료이면서 기능이 변경될 수 있습니다.

PromQL(Prometheus Query Language)이란 무엇입니까?

PromQL(Prometheus Query Language)은 시계열 데이터를 실시간으로 선택, 집계 및 변환할 수 있는 기능 쿼리 언어입니다. PromQL은 원래 Prometheus용으로 설계되었으며 지표에 널리 사용되는 쿼리 언어가 되었습니다.

Amazon CloudWatch는 OTLP(OpenTelemetry Line Protocol)를 통해 수집된 지표와 AWS 보강 벤딩 지표를 포함한 지표 쿼리에 PromQL을 지원합니다. OTLP 지표를 수집할 때 CloudWatch는 리소스 속성, 계측 범위, 데이터 포인트 속성 및 AWS 관련 메타데이터를 포함하여 텔레메트리의 전체 시맨틱 구조를 보존하고 쿼리 가능한 PromQL 레이블로 노출합니다.

PromQL을 사용하면 다음 작업이 가능합니다.

  • 지표 이름 및 레이블 매처를 기준으로 시계열을 선택합니다.

  • 시계열에 수학 함수와 연산자를 적용합니다.

  • 서비스, 리전 또는 계정과 같은 차원에서 지표를 집계합니다.

  • 비율, 히스토그램, 분위수 및 이동 평균을 계산합니다.

Query Studio에서 PromQL 쿼리 실행(미리 보기)에서 PromQL 쿼리를 대화형으로 사용하고 CloudWatch 경보를 생성할 수도 있습니다. 자세한 내용은 PromQL 쿼리경보에서 PromQL 사용(을)를 참조하세요.

참고

CloudWatch는 Prometheus 3.0 사양을 기반으로 PromQL을 사용합니다. 여기에는 UTF-8 지표 이름 및 레이블 이름 지원이 포함됩니다.

다음 개념은 CloudWatch에서의 PromQL 사용과 관련된 기본 개념입니다.

개념 설명

시계열

지표 이름과 레이블이라는 키-값 페어 세트로 식별되는 타임스탬프 값 스트림입니다. 각각의 고유한 지표 이름과 레이블의 조합은 고유한 시계열을 형성합니다.

인스턴트 벡터

각 시리즈에 대한 단일 샘플을 포함하는 시계열 세트로, 모두 동일한 타임스탬프를 공유합니다. {"http.server.active_requests", "@resource.service.name"="myservice"}와 같은 쿼리에서 반환됩니다.

범위 벡터

각 시리즈의 시간 경과에 따른 데이터 포인트 범위를 포함하는 시계열 세트입니다. 대괄호로 된 기간 선택기(예: avg_over_time({"http.server.active_requests", "@resource.service.name"="myservice"}[5m]))를 추가하여 생성됩니다.

Label

시계열에 연결된 키-값 페어입니다. OTLP 수집 지표에서 레이블은 리소스 속성, 계측 범위, 데이터 포인트 속성 및 AWS 관련 메타데이터로부터 파생됩니다.

레이블 매처

레이블 값을 기준으로 시계열을 필터링하는 중괄호 안의 표현식입니다. 정확히 일치(=), 동일하지 않음(!=), 정규식 일치(=~) 및 부정 정규식 일치(!~)를 지원합니다.

집계 연산자

여러 시계열을 더 적은 수의 시계열로 결합하는 함수입니다. 일반적인 연산자로는 sum, avg, min, max, count, topk가 있습니다.

PromQL 한도 및 제한 사항

다음 표에는 PromQL에 대한 한도 및 제한 사항이 나와 있습니다.

Limit 추가 정보 오류 코드

계정당 쿼리 요청에 대한 최대 TPS

300

계정당 허용되는 초당 최대 쿼리 요청(/query, /query_range) 수입니다.

422

계정당 검색 요청에 대한 최대 TPS

10

계정당 허용되는 초당 최대 검색 요청(/series, /label, /label_values) 수입니다.

422

계정당 최대 동시 쿼리 요청 수

30

계정에서 동시에 실행할 수 있는 최대 쿼리(/query, /query_range) 수입니다.

429

계정당 최대 동시 검색 요청 수

30

계정에서 동시에 실행할 수 있는 최대 검색 요청(/series, /labels, /label_values) 수입니다.

429

쿼리 요청당 반환되는 최대 시리즈

500

쿼리 요청(/query, /query_range)으로 반환될 수 있는 고유한 시계열의 최대 수입니다.

200 - 응답 잘림

검색 요청당 반환되는 최대 레이블 수

10,000개

검색 요청(/series, /labels, /label_values)에서 반환될 수 있는 고유 레이블의 최대 수입니다.

200 - 응답 잘림

요청당 최대 범위

7일

범위 파라미터 및 룩백 기간을 포함하여 쿼리가 포함할 수 있는 최대 시간 범위입니다.

422

24시간 기간당 스캔된 최대 시리즈

100,000건

쿼리 실행 24시간 기간당 스캔할 수 있는 고유 시계열의 최대 수입니다.

422

24시간 기간당 스캔된 최대 샘플

300,000,000

쿼리 실행 24시간 기간당 스캔할 수 있는 샘플의 최대 수입니다.

422

24시간 기간당 처리된 최대 샘플

3,000,000,000

쿼리 실행 24시간 기간당 처리할 수 있는 샘플의 최대 수입니다.

422

실행 제한 시간

20초

대기열에서 보낸 시간과 스토리지에서 데이터를 가져오는 시간을 제외하고 엔진이 쿼리를 평가하는 데 사용할 수 있는 최대 시간입니다.

422

지원되는 AWS 리전

다음 표에는 OTLP 지표 수집, PromQL 쿼리 및 Query Studio를 사용할 수 있는 AWS 리전이 나와 있습니다.

리전 이름 리전 코드 OTLP 지표 수집 PromQL 쿼리 Query Studio

미국 동부(버지니아 북부)

us-east-1

미국 서부(오리건)

us-west-2

유럽(아일랜드)

eu-west-1

아시아 태평양(싱가포르)

ap-southeast-1

아시아 태평양(시드니)

ap-southeast-2

PromQL에 대한 IAM 권한

PromQL 쿼리를 실행하려면 cloudwatch:GetMetricDatacloudwatch:ListMetrics 권한이 모두 필요합니다. 다음 표에는 새로운 PromQL API 작업과 필요한 IAM 작업이 나와 있습니다.

API 작업 필수 작업

ExecuteMetricQueryPost

cloudwatch:GetMetricData, cloudwatch:ListMetrics

ExecuteMetricQueryGet

cloudwatch:GetMetricData, cloudwatch:ListMetrics

ExecuteMetricRangeQuery

cloudwatch:GetMetricData, cloudwatch:ListMetrics

ExecuteMetricRangeQueryGet

cloudwatch:GetMetricData, cloudwatch:ListMetrics

ExecuteMetricSeriesPost

cloudwatch:ListMetrics

ExecuteMetricSeriesGet

cloudwatch:ListMetrics

ExecuteMetricLabelsPost

cloudwatch:ListMetrics

ExecuteMetricLabelsGet

cloudwatch:ListMetrics

ExecuteMetricLabelValuesGet

cloudwatch:ListMetrics