

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# PromQL 警示
<a name="alarm-promql"></a>

PromQL 警示會使用 Prometheus 查詢語言 (PromQL) 立即查詢來監控指標。查詢會選取透過 CloudWatch OTLP 端點擷取的指標，且查詢傳回的所有相符時間序列都會視為違規。警示會定期評估查詢，並以*參與者*身分獨立追蹤每個違規時間序列。

如需使用 OpenTelemetry 擷取指標的資訊，請參閱 [OpenTelemetry](CloudWatch-OpenTelemetry-Sections.md)。

## PromQL 警示的運作方式
<a name="promql-alarm-how-it-works"></a>

PromQL 警示會根據 定義的週期性排程評估 PromQL 立即查詢`EvaluationInterval`。查詢只會傳回滿足條件的時間序列。每個傳回的時間序列都是*貢獻者*，以其唯一的屬性集來識別。

警示使用以持續時間為基礎的狀態轉換：
+ 當查詢傳回貢獻者時，會被視為*違規*。如果參與者在 指定的持續時間內持續違規`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)。