View a markdown version of this page

경보에서 PromQL 사용 - Amazon CloudWatch

경보에서 PromQL 사용

PromQL 쿼리를 사용하여 지표를 모니터링하는 CloudWatch 경보를 생성할 수 있습니다. PromQL 경보는 PromQL 표현식을 평가하고 쿼리 결과를 기반으로 경보 상태 변경을 트리거합니다.

경보 개념에 대한 자세한 내용은 개념 섹션을 참조하세요.

경보 데이터 쿼리에 대한 자세한 내용은 경보 데이터 쿼리 섹션을 참조하세요.

경보 작업에 대한 자세한 내용은 경보 작업 섹션을 참조하세요.

한도에 대한 자세한 내용은 Limits 섹션을 참조하세요.

PromQL 경보 생성

CloudWatch 콘솔, AWS CLI 또는 CloudWatch API에서 PromQL 경보를 생성할 수 있습니다.

콘솔에서 PromQL 경보 생성
  1. CloudWatch 콘솔을 엽니다.

  2. 탐색 창에서 Alarms, All alarms를 선택합니다.

  3. 경보 생성을 선택하세요.

  4. 지표 선택을 선택하고, PromQL 탭을 선택합니다.

  5. PromQL 쿼리를 입력합니다. 경보를 평가하려면 쿼리가 단일 시계열을 반환해야 합니다.

  6. 임계값, 평가 기간 및 경보를 보낼 데이터 포인트를 포함하여 경보 조건을 구성합니다.

  7. Amazon SNS 알림과 같은 경보 작업을 구성합니다.

  8. 경보의 이름과 설명을 입력하고 경보 생성을 선택합니다.

단일 시계열을 반환하는 쿼리를 실행한 후 Query Studio에서 PromQL 쿼리 실행(미리 보기)에서 직접 PromQL 경보를 생성할 수도 있습니다.

PromQL을 사용하여 이상 탐지에 대한 CloudWatch 경보 생성

지표가 통계 경계로 정의된 예상 범위를 위반하면 트리거되는 PromQL 경보를 생성할 수 있습니다. 경보 쿼리는 상한과 하한을 이상 데이터 포인트만 반환하는 단일 표현식으로 결합합니다. 쿼리에서 반환하는 모든 시계열은 위반으로 간주됩니다.

다음 표현식 예제는 광고 요청 지표가 60분 기간 동안 중앙값에서 3 표준 편차를 초과하는 경우를 감지합니다.

1 * {"app.ads.ad_requests"} > quantile_over_time(0.5, {"app.ads.ad_requests"}[60m] offset 1m) + 3 * stddev_over_time({"app.ads.ad_requests"}[60m] offset 1m) or 1 * {"app.ads.ad_requests"} < clamp_min( quantile_over_time(0.5, {"app.ads.ad_requests"}[60m] offset 1m) - 3 * stddev_over_time({"app.ads.ad_requests"}[60m] offset 1m), 0)

이 표현식은 여러 레이블 값에서 작동하므로 경보가 전체 플릿에서 이상을 추적할 수 있습니다. 각각의 위반 시계열은 별도의 기고자로 추적됩니다. PromQL 경보의 기고자 평가 방식에 대한 자세한 내용은 PromQL 경보 섹션을 참조하세요.

지표 동작에 맞게 승수와 기간을 조정할 수 있습니다. 승수가 높을수록 오탐이 적은 더 넓은 범위가 생성됩니다. 기간이 길면 단기 스파이크가 완화됩니다. clamp_min 함수는 음수 값이 있을 수 없는 지표에서 하한이 음수가 되지 않도록 합니다.

PromQL을 사용한 이상 탐지 밴드 빌드에 대한 자세한 내용은 PromQL을 사용한 이상 탐지 섹션을 참조하세요.