建立 Grafana 管理的警示規則 - Amazon Managed Grafana

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

建立 Grafana 管理的警示規則

本文件主題是針對支援 Grafana 9.x 版的 Grafana 工作區所設計。

如需支援 Grafana 10.x 版的 Grafana 工作區,請參閱。在 Grafana 第 10 版工作

如需支援 Grafana 8.x 版的 Grafana 工作區,請參閱。在 Grafana 第 8 版中工作

Grafana 允許您創建查詢一個或多個數據源的警報規則,減少或轉換結果,並將它們彼此或固定閾值進行比較。當這些執行時,Grafana 會將通知傳送至聯絡人點。

若要新增 Grafana 受管理規則
  1. 在 Grafana 主控台的 Grafana 選單中,選擇警示 (鈴鐺) 圖示,以開啟列出現有警示的示頁面。

  2. 選擇 [新增警示規則]。

  3. 步驟 1 中,新增規則名稱、類型和儲存位置,如下所示:

    • 規則名稱中,新增描述性名稱。此名稱會顯示在警示規則清單中。它也是從此規則建立的每個警示執行個體的alertname標籤。

    • 規則類型下拉式清單中,選取 [註 Grafana 管理警示]。

    • 從「資料夾」下拉式清單中,選取要儲存規則的資料夾。如果您未選取資料夾,規則會儲存在General資料夾中。若要建立資料夾,請選取下拉式清單,然後輸入新的資料夾名稱。

  4. 步驟 2 中,新增要評估的查詢和運算式。

    • 保留預設名稱,或將游標暫留在上方,然後選擇編輯圖示以變更名稱。

    • 對於查詢,請從下拉式清單中選取資料來源。

    • 新增一或多個查詢或運算式

    • 針對每個運算式,選取「傳統」條件以建立單一警示規則,或從「數學」、「小」、「重新取樣」選項中選擇,以便為每個序列產生個別的警示。如需這些選項的詳細資訊,請參閱單維和多維規則

    • 選擇 [執行查詢] 以驗證查詢是否成功。

  5. 步驟 3 中,新增條件。

    • 從「條件」下拉式清單中,選取要啟動警示規則的查詢或運算式。

    • 對於「評估間隔」,指定評估頻率。必須是 10 秒的倍數。例如 1m30s

    • 對評估,指定啟動警示之前條件必須為真的持續時間。

      注意

      違反條件後,警示就會進入Pending狀態。如果條件在指定的持續時間內仍然違反,警示會轉換為狀Firing態。如果不再滿足,它將恢復為狀Normal態。

    • [設定無資料和錯誤處理] 中,設定缺少資料時的警示行為。請使用中的指導方針。處理沒有數據或錯誤情況

    • 選擇 [預覽警示] 以檢查此時執行查詢的結果。預覽不排除任何資料和錯誤處理條件。

  6. 步驟 4 中,新增與規則相關聯的其他中繼資料。

    • 新增說明和摘要以自訂警示訊息。請使用中的指導方針標籤和註釋

    • 新增工作流程簿 URL、面板、儀表板和警示 ID。

    • 新增自訂標籤。

  7. 選擇儲存以儲存規則,或選擇儲存並結束以儲存規則並返回「示」頁面。

建立規則後,您可以為規則建立通知。如需有關通知的詳細資訊,請參閱管理您的警報通知

單維和多維規則

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

單維規則(經典條件)

使用傳統條件運算式建立規則,以便在符合其條件時起始單一警示。對於傳回多個序列的查詢,Grafana 不會追蹤每個系列的警示狀態。因此,即使符合多個系列的警示條件,Grafana 也只會傳送單一警示。

如需有關如何格式化運算式的詳細資訊,請參閱 Grafana 文件中的運算式。

多維度規則

若要為查詢中傳回的每個序列產生個別的警示執行個體,請建立多維規則。

注意

多維規則所產生的每個警示執行個體都會計入警示的總配額。當您達到警示配額時,系統不會評估規則。如需多維規則配額的詳細資訊,請參閱達到配額錯誤

若要從單一規則建立多個執行個體Math,請使用Reduce、或Resample運算式建立多維規則。例如,您可以:

  • 為每個查詢新增一個Reduce運算式,以將所選時間範圍內的值彙總為單一值。(使用數值資料的規則不需要)。

  • 新增具有規則條件的Math表示式。如果查詢或 reduce 運算式已傳回 0 (如果規則不應該起始警示),則不需要這樣做;如果應該起始警示,則傳回正數。

    一些範例:

    • $B > 70如果它應該在 B 查詢/表達式大於 70 的情況下啟動警報。

    • $B < $C * 100如果 B 的值小於 C 的值乘以 100,則應啟動警報。如果要比較的查詢在其結果中有多個序列,則如果不同查詢的序列具有相同的標籤,或者一個是另一個標籤的子集,則會比對它們。

注意

Grafana 不支援使用範本變數警示查詢。設定 Alert 時,警示查詢不支援社群頁面範本變數的更多資訊

多維規則的效能考量

每個警示執行個體都會計入警示配額。不會評估建立多於警示配額內容量之執行個體的多維規則,並會傳回配額錯誤。如需詳細資訊,請參閱 達到配額錯誤

多維度警示可能會對 Grafana 工作區的效能產生很大的影響,以及 Grafana 查詢資料來源以評估警示規則時的效能。當您嘗試最佳化監視系統的效能時,下列考量事項可能會有所幫助。

  • 規則評估頻率 — 警示規則的「評估每個」屬性可控制規則評估的頻率。我們建議使用最低的可接受評估頻率。

  • 結果集基數 — 您使用規則建立的警示執行個體數目會影響其效能。假設您正在監視叢集中每個 VM 上每個 API 路徑的 API 回應錯誤。此集的基數是路徑數目乘以虛擬機器數目的基數。您可以減少結果集的基數,例如監視每個虛擬機器的錯誤總數,而不是監視每個虛擬機器的每個路徑。

  • 查詢的複雜性 — 資料來源可以處理和回應的查詢,以便快速消耗更少的資源。雖然這個考量比上面列出的其他考量不那麼重要,但是如果您盡可能減少這些考量因素,查看個別查詢效能可能會有所作為。您也應該注意評估這些規則對資料來源的效能影響。警示查詢通常是監視資料庫所處理的絕大多數查詢,因此影響 Grafana 執行個體的相同載入因素也會影響這些查詢。

達到配額錯誤

您可以在單一工作區中擁有的警示執行個體數量有配額。當您達到該數字時,就無法再在該工作區中建立新的警示規則。使用多維警示時,警示執行個體的數量可能會隨時間而有所不同。

使用警示執行個體時,請務必記住下列事項。

  • 如果您只建立單一維度規則,則每個規則都是單一警示例項。您可以在單一工作區中建立與警示執行個體配額相同數量的規則,而不是更多。

  • 多維規則會建立多個警示執行個體,但在評估後才會知道該數字。例如,如果您建立追蹤 Amazon EC2 執行個體 CPU 使用率的警示規則,則建立該執行個體時可能會有 50 個 EC2 執行個體 (因此 50 個警示執行個體),但是如果您在一週後再新增 10 個 EC2 執行個體,則下一個評估會有 60 個警示執行個體。

    當您建立多維警示時,系統會評估警示執行個體的數目,而且您無法建立立即超過警示執行個體配額的警示執行個體。由於警示執行個體的數目可能會變更,因此每次評估規則時都會檢查您的配額。

  • 在規則評估時,如果規則導致您超出警示執行個體的配額,則在對警示規則進行更新時,系統不會評估該規則,該規則會使警示執行個體的總計數低於服務配額。發生這種情況時,您會收到警示通知,通知您已達到配額 (通知會針對正在評估的規則使用通知原則)。該通知包括帶有值的Error註釋QuotaReachedError

  • 導致QuotaReachedError停止評估的規則。只有在進行更新時才會繼續評估,而且更新後的評估本身不會導致QuotaReachedError. 未評估的規則會在 Grafana 主控台中顯示「達到配額」錯誤。

  • 您可以移除警示規則,或透過編輯多維度警示來減少警示執行個體的警示執行個體 (例如,針對每個虛擬機器發出一個錯誤警示,而非 VM 中每個 API 的錯誤警示一個警示),以降低警示執行個體的數目。

  • 若要繼續評估,請更新警示並儲存。您可以將其更新以減少警示例項的數目,或者如果您進行了其他變更以減少警示例項的數目,則可以儲存它而不進行任何變更。如果它可以恢復,它是。如果它導致了另一個QuotaReachedError,則無法保存它。

  • 如果儲存警示並繼續評估而不超過警示配額,則「達到配額」錯誤可能會在 Grafana 主控台中繼續顯示一段時間 (直到評估間隔為止),但是,警示規則評估會開始,並在符合規則閾值時傳送警示。

  • 如需警示配額以及其他配額的詳細資訊,請參閱Amazon Managed Grafana 服務配額

處理沒有數據或錯誤情況

選擇在沒有資料或發生錯誤時如何處理警示行為的選項。

下表列出處理任何資料的選項。

無資料選項 Behavior (行為)

暫無資料

建立警示,其中DatasourceNoData包含警示規則的名稱和 UID,以及未傳回資料做為標籤的資料來源 UID。

提醒

將警示規則狀態設為Alerting

OK

將警示規則狀態設為Normal

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

錯誤或逾時選項 Behavior (行為)

提醒

將警示規則狀態設為 Alerting

OK

將警示規則狀態設為 Normal

錯誤

建立警示,其中DatasourceError包含警示規則的名稱和 UID,以及未傳回資料做為標籤的資料來源 UID。