建立 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 受管服務配額

處理沒有數據或錯誤情況

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

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

無資料選項 Behavior (行為)

暫無資料

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

提醒

將警示規則狀態設為Alerting

OK

將警示規則狀態設為Normal

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

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

提醒

將警示規則狀態設為 Alerting

OK

將警示規則狀態設為 Normal

錯誤

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