

# PromQL 경보
<a name="alarm-promql"></a>

PromQL 경보는 PromQL(Prometheus Query Language) 인스턴트 쿼리를 사용하여 지표를 모니터링합니다. 쿼리는 CloudWatch OTLP 엔드포인트를 통해 수집된 지표를 선택하고, 쿼리에서 반환되는 일치하는 모든 시계열은 위반으로 간주됩니다. 경보는 정기적인 간격으로 쿼리를 평가하고 각 위반 시계열을 *기고자*로 독립적으로 추적합니다.

OpenTelemetry를 사용하여 지표를 수집하는 방법에 대한 자세한 내용은 [OpenTelemetry](CloudWatch-OpenTelemetry-Sections.md) 섹션을 참조하세요.

## PromQL 경보 작동 방식
<a name="promql-alarm-how-it-works"></a>

PromQL 경보는 `EvaluationInterval`에서 정의한 반복 일정에 따라 PromQL 인스턴트 쿼리를 평가합니다. 쿼리는 조건을 충족하는 시계열만 반환합니다. 반환된 각 시계열은 고유한 속성 집합으로 식별되는 *기고자*입니다.

경보는 기간 기반 상태 전환을 사용합니다.
+ 쿼리에 의해 기고자가 반환되면 *위반*으로 간주됩니다. 기고자가 `PendingPeriod`에 지정된 기간 동안 위반이 계속되면 기고자는 `ALARM` 상태로 전환됩니다.
+ 쿼리에 의한 기고자 반환이 중단되면 *복구*로 간주됩니다. 기고자가 `RecoveryPeriod`에 지정된 기간 동안 계속 부재하는 경우 기고자는 `OK` 상태로 전환됩니다.

하나 이상의 기고자가 보류 기간보다 오래 위반 상태가 되는 경우 경보는 `ALARM` 상태입니다. 모든 기고자가 복구되면 경보는 `OK` 상태로 돌아갑니다.

## PromQL 경보 구성
<a name="promql-alarm-configuration"></a>

PromQL 경보는 다음 파라미터로 구성됩니다.
+ **PendingPeriod**는 기고자가 `ALARM` 상태로 전환되기 전에 기고자가 지속적으로 위반해야 하는 기간(초 단위)입니다. Prometheus 경보 규칙의 `for` 기간과 동일합니다.
+ **RecoveryPeriod**는 기고자가 `OK` 상태로 전환되기 전에 기고자가 위반을 중지해야 하는 기간(초 단위)입니다. Prometheus 경보 규칙의 `keep_firing_for` 기간과 동일합니다.
+ **EvaluationInterval**은 경보가 PromQL 쿼리를 평가하는 빈도(초 단위)입니다.

PromQL 경보를 생성하려면 [PromQL 쿼리를 사용하여 경보 생성](Create_PromQL_Alarm.md) 섹션을 참조하세요.