PromQL을 사용하여 지표 쿼리
주제
PromQL(Prometheus Query Language)이란 무엇입니까?
PromQL(Prometheus Query Language)은 시계열 데이터를 실시간으로 선택, 집계 및 변환할 수 있는 기능 쿼리 언어입니다. PromQL은 원래 Prometheus용으로 설계되었으며 지표에 널리 사용되는 쿼리 언어가 되었습니다.
Amazon CloudWatch는 OpenTelemetry Line Protocol(OTLP)을 통해 수집된 지표와 AWS 보강 벤딩 지표를 포함한 지표 쿼리에 대해 PromQL을 지원합니다. OTLP 지표를 수집할 때 CloudWatch는 리소스 속성, 계측 범위, 데이터 포인트 속성 및 AWS 관련 메타데이터를 포함하여 텔레메트리의 전체 시맨틱 구조를 보존하고 쿼리 가능한 PromQL 레이블로 노출합니다.
PromQL을 사용하면 다음 작업이 가능합니다.
지표 이름 및 레이블 매처를 기준으로 시계열을 선택합니다.
시계열에 수학 함수와 연산자를 적용합니다.
서비스, 리전 또는 계정과 같은 차원에서 지표를 집계합니다.
비율, 히스토그램, 분위수 및 이동 평균을 계산합니다.
Query Studio에서 PromQL 쿼리 실행에서 PromQL 쿼리를 대화형으로 사용하고 CloudWatch 경보를 생성할 수도 있습니다. 자세한 내용은 PromQL 쿼리 및 경보에서 PromQL 사용(을)를 참조하세요.
참고
CloudWatch는 Prometheus 3.0 사양을 기반으로 PromQL을 사용합니다. 여기에는 UTF-8 지표 이름 및 레이블 이름 지원이 포함됩니다.
다음 개념은 CloudWatch에서의 PromQL 사용과 관련된 기본 개념입니다.
| 개념 | 설명 |
|---|---|
시계열 |
지표 이름과 레이블이라는 키-값 페어 세트로 식별되는 타임스탬프 값 스트림입니다. 각각의 고유한 지표 이름과 레이블의 조합은 고유한 시계열을 형성합니다. |
인스턴트 벡터 |
각 시리즈에 대한 단일 샘플을 포함하는 시계열 세트로, 모두 동일한 타임스탬프를 공유합니다. |
범위 벡터 |
각 시리즈의 시간 경과에 따른 데이터 포인트 범위를 포함하는 시계열 세트입니다. 대괄호로 된 기간 선택기(예: |
Label |
시계열에 연결된 키-값 페어입니다. OTLP 수집 지표에서 레이블은 리소스 속성, 계측 범위, 데이터 포인트 속성 및 AWS 관련 메타데이터로부터 파생됩니다. |
레이블 매처 |
레이블 값을 기준으로 시계열을 필터링하는 중괄호 안의 표현식입니다. 정확히 일치( |
집계 연산자 |
여러 시계열을 더 적은 수의 시계열로 결합하는 함수입니다. 일반적인 연산자로는 |
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 |
✓ |
✓ |
✓ |
미국 서부(캘리포니아 북부) |
us-west-1 |
✓ |
✓ |
✓ |
미국 동부(오하이오) |
us-east-2 |
✓ |
✓ |
✓ |
Europe (London) |
eu-west-2 |
✓ |
✓ |
✓ |
유럽(파리) |
eu-west-3 |
✓ |
✓ |
✓ |
유럽(프랑크푸르트) |
eu-central-1 |
✓ |
✓ |
✓ |
유럽(스톡홀름) |
eu-north-1 |
✓ |
✓ |
✓ |
유럽(밀라노) |
eu-south-1 |
✓ |
✓ |
✓ |
유럽(스페인) |
eu-south-2 |
✓ |
✓ |
✓ |
유럽(취리히) |
eu-central-2 |
✓ |
✓ |
✓ |
아시아 태평양(도쿄) |
ap-northeast-1 |
✓ |
✓ |
✓ |
아시아 태평양(서울) |
ap-northeast-2 |
✓ |
✓ |
✓ |
아시아 태평양(오사카) |
ap-northeast-3 |
✓ |
✓ |
✓ |
아시아 태평양(뭄바이) |
ap-south-1 |
✓ |
✓ |
✓ |
아시아 태평양(하이데라바드) |
ap-south-2 |
✓ |
✓ |
✓ |
아시아 태평양(홍콩) |
ap-east-1 |
✓ |
✓ |
✓ |
아시아 태평양(타이베이) |
ap-east-2 |
✓ |
✓ |
✓ |
아시아 태평양(자카르타) |
ap-southeast-3 |
✓ |
✓ |
✓ |
아시아 태평양(멜버른) |
ap-southeast-4 |
✓ |
✓ |
✓ |
아시아 태평양(말레이시아) |
ap-southeast-5 |
✓ |
✓ |
✓ |
아시아 태평양(오클랜드) |
ap-southeast-6 |
✓ |
✓ |
✓ |
아시아 태평양(태국) |
ap-southeast-7 |
✓ |
✓ |
✓ |
남아메리카(상파울루) |
sa-east-1 |
✓ |
✓ |
✓ |
캐나다(중부) |
ca-central-1 |
✓ |
✓ |
✓ |
캐나다 서부(캘거리) |
ca-west-1 |
✓ |
✓ |
✓ |
아프리카(케이프타운) |
af-south-1 |
✓ |
✓ |
✓ |
멕시코(중부) |
mx-central-1 |
✓ |
✓ |
✓ |
PromQL에 대한 IAM 권한
PromQL 쿼리를 실행하려면 cloudwatch:GetMetricData 및 cloudwatch:ListMetrics 권한이 모두 필요합니다. 다음 표에는 Prometheus 호환 API 엔드포인트 경로와 필요한 IAM 작업이 나열되어 있습니다.
| API 엔드포인트 경로 | HTTP 메소드 | 필수 작업 |
|---|---|---|
|
GET, POST |
|
|
GET, POST |
|
|
GET, POST |
|
|
GET, POST |
|
|
GET |
|