

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

# 建立 Grafana 受管警示規則
<a name="v9-alerting-managerules-grafana"></a>

****  
本文件主題專為支援 Grafana **9.x 版的 Grafana** 工作區而設計。  
如需支援 Grafana 10.x 版的 Grafana 工作區，請參閱[使用 Grafana 第 10 版](using-grafana-v10.md)。  
如需支援 Grafana 8.x 版的 Grafana 工作區，請參閱 [使用 Grafana 第 8 版](using-grafana-v8.md)。

Grafana 可讓您建立警示規則，以查詢一或多個資料來源、減少或轉換結果，並將其彼此或固定閾值進行比較。執行這些項目時，Grafana 會將通知傳送至聯絡點。

**新增 Grafana 受管規則**

1. 在 Grafana 主控台的 Grafana 功能表中，選擇**警示 **（鈴鐺） 圖示，開啟列出現有警示**的警示**頁面。

1. 選擇**新增提醒規則**。

1. 在**步驟 1** 中，新增規則名稱、類型和儲存位置，如下所示：
   + 在**規則名稱**中，新增描述性名稱。此名稱會顯示在提醒規則清單中。它也是從此規則建立的每個提醒執行個體的`alertname`標籤。
   + 從**規則類型**下拉式清單中，選取 **Grafana 受管提醒**。
   + 從**資料夾**下拉式清單中，選取要存放規則的資料夾。如果您未選取資料夾，則規則會存放在`General`資料夾中。若要建立資料夾，請選取下拉式清單，然後輸入新的資料夾名稱。

1. 在**步驟 2** 中，新增要評估的查詢和表達式。
   + 保留預設名稱或將滑鼠游標暫留在上方，然後選擇編輯圖示以變更名稱。
   + 對於查詢，請從下拉式清單中選取資料來源。
   + 新增一或多個[查詢或表達式](v9-panels-query-xform-expressions.md)。
   + 針對每個表達式，選取 **Classic 條件**以建立單一提醒規則，或從**數學**、**減少**、**重新取樣**選項中選擇，為每個序列產生個別提醒。如需這些選項的詳細資訊，請參閱 [單一和多維度規則](#v9-alerting-single-multi-rule)。
   + 選擇**執行查詢**以驗證查詢是否成功。

1. 在**步驟 3** 中，新增條件。
   + 從**條件**下拉式清單中，選取查詢或表達式以啟動提醒規則。
   + 對於**評估每個**，請指定評估的頻率。必須是 10 秒的倍數。例如 `1m` 和 `30s`。
   + 對於**評估 **，指定條件在啟動提醒之前必須為 true 的持續時間。
**注意**  
違反條件後，提醒會進入 `Pending` 狀態。如果條件在指定的持續時間內仍然違反，警示會轉換為 `Firing` 狀態。如果不再符合，則會還原為 `Normal` 狀態。
   + 在**設定無資料和錯誤處理**中，設定缺少資料的提醒行為。 使用 中的準則[不處理任何資料或錯誤案例](#v9-alerting-rule-no-data-error)。
   + 選擇**預覽提醒**，檢查目前執行查詢的結果。預覽不包含任何資料和錯誤處理條件。

1. 在**步驟 4** 中，新增與規則相關聯的其他中繼資料。
   + 新增描述和摘要以自訂提醒訊息。使用 中的準則[標籤和註釋](v9-alerting-explore-labels.md)。
   + 新增 Runbook URL、面板、儀表板和提醒 IDs。
   + 新增自訂標籤。

1. 選擇**儲存**以儲存規則，或選擇**儲存並退出**以儲存規則，然後返回**提醒**頁面。

建立規則之後，您可以為規則建立通知。如需有關通知的詳細資訊，請參閱[管理您的提醒通知](v9-alerting-managenotifications.md)。

## 單一和多維度規則
<a name="v9-alerting-single-multi-rule"></a>

對於 Grafana 受管警示規則，您可以建立具有傳統條件的規則，也可以建立多維度規則。

**單一維度規則 （傳統條件）**

使用傳統條件表達式來建立規則，在滿足其條件時啟動單一提醒。對於傳回多個序列的查詢，Grafana 不會追蹤每個序列的提醒狀態。因此，即使多個序列符合提醒條件，Grafana 也會僅傳送單一提醒。

如需如何格式化表達式的詳細資訊，請參閱 *Grafana 文件*中的[表達式](https://grafana.com/docs/grafana/next/panels/query-a-data-source/)。

**多維度規則**

若要為查詢中傳回的每個序列產生個別的提醒執行個體，請建立多維度規則。

**注意**  
多維度規則產生的每個提醒執行個體都會計入您的提醒總配額。當您達到提醒配額時，不會評估規則。如需多維規則配額的詳細資訊，請參閱 [配額達到錯誤](#v9-alerting-rule-quota-reached)。

若要從單一規則建立多個執行個體，請使用 `Math`、 `Reduce`或 `Resample`表達式來建立多維度規則。例如，您可以：
+ 為每個查詢新增`Reduce`運算式，將所選時間範圍中的值彙總為單一值。([使用數值資料的規則](v9-alerting-explore-numeric.md)不需要）。
+ 新增具有規則條件的`Math`表達式。如果規則不應啟動提醒，則查詢或減少表達式已傳回 0，或者如果規則應啟動提醒，則傳回正數，則不需要此選項。

  一些範例：
  + `$B > 70` 如果它應該在 B 查詢/表達式的值超過 70 時啟動提醒。
  + `$B < $C * 100` 如果 B 值小於 C 值乘以 100，則應該啟動提醒。如果比較的查詢在其結果中有多個序列，則不同查詢的序列如果具有相同的標籤，或其中一個是另一個查詢的子集，則會相符。

**注意**  
Grafana 不支援具有範本變數的提醒查詢。如需詳細資訊，請參閱社群頁面 [設定警示時，警示查詢不支援範本變數](https://community.grafana.com/t/template-variables-are-not-supported-in-alert-queries-while-setting-up-alert/2514)。



**多維度規則的效能考量**

每個提醒執行個體都會計入提醒配額。不會評估建立超過警示配額內可容納之執行個體的多維度規則，並傳回配額錯誤。如需詳細資訊，請參閱[配額達到錯誤](#v9-alerting-rule-quota-reached)。

多維度提醒可能對 Grafana 工作區的效能以及資料來源的效能產生高度影響，因為 Grafana 會查詢它們來評估您的提醒規則。當您嘗試最佳化監控系統的效能時，下列考量會很有幫助。
+ **規則評估的頻率** – 警示規則的每個屬性**評估**控制規則評估的頻率。我們建議您使用可接受的最低評估頻率。
+ **結果集基數** – 您使用規則建立的提醒執行個體數量會影響其效能。假設您正在監控機群中每個 VM 上每個 API 路徑的 API 回應錯誤。此集具有路徑數量的基數乘以 VMs 數量。您可以降低結果集的基數，例如，透過監控每個 VM 的總錯誤數，而不是每個 VM 的每個路徑。
+ **查詢的複雜性** – 資料來源可以處理和回應以快速耗用較少資源的查詢。雖然此考量比上述其他考量更不重要，但如果您已盡可能減少這些考量，查看個別查詢效能可能會產生影響。您也應該了解評估這些規則對資料來源造成的效能影響。警示查詢通常是監控資料庫處理的絕大多數查詢，因此影響 Grafana 執行個體的相同負載因素也會影響它們。

## 配額達到錯誤
<a name="v9-alerting-rule-quota-reached"></a>

您可以在單一工作區中擁有的提醒執行個體數量有配額。當您達到該號碼時，您無法再在該工作區中建立新的提醒規則。使用多維提醒時，提醒執行個體的數量會隨著時間而變化。

使用提醒執行個體時，請務必記住下列事項。
+ 如果您只建立單一維度規則，則每個規則都是單一提醒執行個體。您可以在單一工作區中建立與提醒執行個體配額相同的規則數目，而不再建立。
+ 多維度規則會建立多個提醒執行個體，但是，在評估數字之前，不會知道數字。例如，如果您建立警示規則來追蹤 Amazon EC2 執行個體的 CPU 用量，則當您建立 EC2 執行個體時，可能會有 50 個 EC2 執行個體 （因此還有 50 個警示執行個體），但如果您一週後再新增 10 個 EC2 執行個體，則下一個評估會有 60 個警示執行個體。

  當您建立多維提醒時，會評估提醒執行個體的數量，而且您無法建立讓您立即超過提醒執行個體配額的提醒執行個體數量。由於提醒執行個體的數量可以變更，每次評估您的規則時都會檢查您的配額。
+ 在規則評估時間，如果規則導致您超出提醒執行個體的配額，則在更新提醒規則，使提醒執行個體總數低於服務配額之前，不會評估該規則。發生這種情況時，您會收到提醒通知，通知您已達到配額 （通知使用通知政策來評估規則）。通知包含值為 的`Error`註釋`QuotaReachedError`。
+ 導致`QuotaReachedError`停止評估的規則。只有在進行更新且更新之後的評估本身不會導致 時，才會繼續評估`QuotaReachedError`。未評估的規則會顯示 Grafana 主控台中**配額達到**的錯誤。
+ 您可以透過移除提醒規則，或編輯多維提醒來減少提醒執行個體的數量 （例如，對每個 VM 的錯誤有一個提醒，而不是對 VM 中的每個 API 的錯誤有一個提醒）。
+ 若要繼續評估，請更新提醒並儲存。您可以更新它以降低提醒執行個體的數量，或者如果您已進行其他變更以降低提醒執行個體的數量，則可以儲存它而不進行任何變更。如果可以繼續，則為 。如果它造成另一個 `QuotaReachedError`，您就無法儲存它。
+ 儲存提醒並恢復評估而不超過提醒配額時，**配額達到**的錯誤可以繼續在 Grafana 主控台中顯示一段時間 （直到其評估間隔），不過，如果達到規則閾值，則提醒規則評估會開始並傳送提醒。
+ 如需提醒配額和其他配額的詳細資訊，請參閱 [Amazon Managed Grafana 服務配額](AMG_quotas.md)。

## 不處理任何資料或錯誤案例
<a name="v9-alerting-rule-no-data-error"></a>

選擇在資料不存在或發生錯誤時如何處理提醒行為的選項。

處理任何資料的選項會列在下表中。


| 無資料選項 | Behavior (行為) | 
| --- | --- | 
|  無資料  |  建立具有提醒規則`DatasourceNoData`名稱和 UID 的提醒，以及未以標籤形式傳回資料之資料來源的 UID。  | 
|  提醒  |  將警示規則狀態設定為 `Alerting`。  | 
|  OK  |  將警示規則狀態設定為 `Normal`。  | 

下表列出處理錯誤案例的選項。


| 錯誤或逾時選項 | Behavior (行為) | 
| --- | --- | 
|  提醒  |  將警示規則狀態設定為 `Alerting`  | 
|  OK  |  將警示規則狀態設定為 `Normal`  | 
|  錯誤  |  建立具有提醒規則`DatasourceError`名稱和 UID 的提醒，以及未以標籤形式傳回資料之資料來源的 UID。  | 