本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 Grafana 受管警示規則
此文件主題專為支援 Grafana 10.x 版的 Grafana 工作區而設計。
如需支援 Grafana 9.x 版的 Grafana 工作區,請參閱 在 Grafana 第 9 版中工作。
如需支援 Grafana 8.x 版的 Grafana 工作區,請參閱 在 Grafana 第 8 版中工作。
Grafana 受管規則是最靈活的警示規則類型。它們可讓您建立警示,以對來自我們任何支援資料來源的資料採取行動。除了支援多個資料來源之外,您還可以新增表達式來轉換資料並設定警示條件。也支援在警示通知中使用映像。這是唯一允許在單一規則定義中從多個資料來源發出警示的規則類型。
一個警示規則 (也稱為多維警示) 可以建立多個警示執行個體。
Grafana 受管警示規則只能由具有儲存規則之資料夾編輯許可的使用者編輯或刪除。
如果您刪除在 UI 中建立的警示資源,則無法再擷取它。若要備份您的組態並能夠還原已刪除的警示資源,請使用 Terraform 或警示 建立警示資源API。
在以下程序中,我們將逐步完成建立 Grafana 受管警示規則的程序。
若要建立 Grafana 受管警示規則,請使用工作區內警示建立流程,並依照下列步驟協助您。
設定警示規則名稱
-
選擇警示 -> 警示規則 -> + 新警示規則 。
-
輸入名稱以識別警示規則。
此名稱會顯示在警示規則清單中。它也是從此規則建立的每個警示執行個體的
alertname
標籤。
接下來,定義查詢以取得您要測量的資料,以及在警示規則啟動之前需要滿足的條件。
定義查詢和條件
-
選取資料來源。
-
從選項下拉式清單中,指定時間範圍 。
注意
Grafana Alerting 僅支援固定的相對時間範圍,例如
now-24hr: now
。它不支援絕對時間範圍:
2021-12-02 00:00:00 to 2021-12-05 23:59:592
或半相關時間範圍:now/d to: now
。 -
新增查詢。
若要新增多個查詢 ,請選擇新增查詢 。
預設情況下,所有警示規則都會由 Grafana 管理。如果您想要切換至資料來源管理的警示規則,請按一下切換至資料來源管理的警示規則 。
-
新增一或多個表達式 。
-
針對每個表達式,選取 Classic 條件以建立單一警示規則,或從數學 、減少 和 重新取樣選項中選擇,為每個序列產生個別警示。
注意
使用 Prometheus 時,您可以使用即時向量和內建函數,因此您不需要新增其他運算式。
-
選擇預覽以驗證表達式是否成功。
-
-
【選用】 若要新增復原閾值,請開啟自訂復原閾值切換,並填入警示規則何時應停止觸發的值。
您只能在查詢中新增一個復原閾值,且必須是警示條件。
-
在您要設定為警示條件的查詢或表達式上,選擇設定為警示條件。
使用警示規則評估來判斷應評估警示規則的頻率,以及應變更其狀態的速度。
若要這麼做,您需要確保您的警示規則位於正確的評估群組中,並設定最適合使用案例的等待期間。
設定警示評估行為
-
選取資料夾,或選擇 + 新資料夾 。
-
選取評估群組,或按一下 + 新評估群組 。
如果您要建立新的評估群組,請指定群組的間隔。
相同群組中的所有規則都會在相同的時間間隔內同時評估。
-
輸入擱置期間。
擱置期間是警示規則在觸發之前可能違反條件的期間。
滿足條件後,警示會進入待定狀態。如果條件在指定的持續時間內保持作用中,警示會轉換為觸發狀態,否則會還原為正常狀態。
-
如有需要,開啟暫停提醒通知。
注意
暫停警示規則評估,以防止調校警示時發出嘈雜警示。暫停會停止警示規則評估,不會建立任何警示執行個體。這與靜音時序不同,這會停止傳送通知,但仍允許警示規則評估和建立警示執行個體。
您可以暫停警示規則評估,以防止調校警示時發出嘈雜警示。暫停會停止警示規則評估,不會建立任何警示執行個體。這與靜音時序不同,這會停止傳送通知,但仍允許警示規則評估和建立警示執行個體。
-
在設定無資料和錯誤處理 中,設定缺少資料的警示行為。
使用本節稍後的指南。
將標籤新增至警示規則,以設定哪些通知政策應處理觸發警示執行個體。
所有警示規則和執行個體,無論其標籤為何,都符合預設通知政策。如果沒有巢狀政策,或沒有巢狀政策符合警示規則或警示執行個體中的標籤,則預設通知政策是相符政策。
若要設定通知
-
如果您想要變更通知的路由方式,請新增標籤。
從下拉式清單中選取現有的鍵值對來新增自訂標籤,或輸入新的鍵或值來新增標籤。
-
預覽您的警示執行個體路由設定。
根據新增的標籤,警示執行個體會路由至顯示的通知政策。
展開每個通知政策以檢視更多詳細資訊。
-
選擇查看詳細資訊以檢視警示路由詳細資訊和預覽。
新增註釋,以在警示通知訊息中提供警示的更多內容。
註釋會新增中繼資料,以在警示通知訊息中提供警示的詳細資訊。例如,新增摘要註釋,以告訴您哪個值導致警示觸發,或它在哪個伺服器上發生。
若要新增註釋
-
【選用】 新增摘要。
發生的情況和原因的簡短摘要。
-
【選用】 新增描述。
警示規則所執行工作的描述。
-
【選用】 新增 Runbook URL。
您保留警示 Runbook 的網頁
-
【選用】 新增自訂註釋
-
【選用】 新增儀表板和面板連結。
將警示連結至儀表板中的面板。
-
選擇儲存規則 。
單一和多維度規則
對於 Grafana 受管警示,您可以建立具有傳統條件的規則,也可以建立多維度規則。
-
具有傳統條件的規則
使用傳統條件表達式建立規則,在滿足其條件時觸發單一警示。對於傳回多個序列的查詢,Grafana 不會追蹤每個序列的警示狀態。因此,即使多個系列符合警示條件,Grafana 也會僅傳送單一警示。
-
多維度規則
若要為每個系列產生個別警示,請建立多維規則。使用
Math
、Reduce
或Resample
表達式來建立多維度規則。例如:-
為每個查詢新增
Reduce
運算式,將所選時間範圍中的值彙總為單一值 (使用數值資料的規則不需要 )。 -
新增具有規則條件的
Math
表達式。如果規則不應觸發,0
則查詢或減少表達式已傳回,或者如果應該觸發,則不需要正數。一些範例:$B > 70
如果應該在 B 查詢/表達的值超過 70 時觸發。如果 B$B < $C * 100
的值小於 C 的值乘以 100,則應觸發。如果比較的查詢在其結果中具有多個序列,則不同查詢的序列如果具有相同的標籤,或其中一個是另一個的子集,則會相符。
-
注意
Grafana 不支援具有範本變數的警示查詢。如需詳細資訊,請參閱 https://community.grafana.com/t/template-variables-are-not-supported-in-alert-queries-while-setting-up-alert/2514
設定沒有資料和錯誤處理
當您的警示規則評估未傳回資料或錯誤時,請設定警示行為。
注意
設定為在評估未傳回資料或錯誤時觸發的警示規則,只會在評估期間的整個持續時間結束時觸發。這表示,警示規則不會在違反警示規則條件時立即觸發,而是等到設定為 For 欄位的時間完成,然後觸發、減少警示雜訊,並允許暫時性資料可用性問題。
如果您的警示規則評估未傳回任何資料,您可以將警示規則的狀態設定為如下所示:
無資料 | 描述 |
---|---|
無資料 | 使用警示規則DatasourceNoData 的名稱 和 ,以及未將資料傳回為標籤UID的UID資料來源建立新的警示。 |
提醒 | 將警示規則狀態設定為 Alerting 。警示規則會等到 For 欄位中設定的時間完成再觸發。 |
好的 | 將警示規則狀態設定為 Normal 。 |
如果您的評估傳回錯誤,您可以將警示規則的狀態設定為 ,如下所示:
錯誤 | 描述 |
---|---|
錯誤 | 使用警示規則的名稱和 DatasourceError ,以及未將資料傳回為標籤UID的UID資料來源建立警示執行個體。 |
提醒 | 將警示規則狀態設定為 Alerting 。警示規則會等到 For 欄位中設定的時間完成,然後才會觸發。 |
好的 | 將警示規則狀態設定為 Normal 。 |
解決過時的警示執行個體
如果警示執行個體的維度或序列完全從查詢結果中消失,且有兩個評估間隔,則視為已過時。
處於 Alerting
/NoData
/Error
狀態的過時警示執行個體會自動標記為 ,Resolved
並將grafana_state_reason
註釋新增至具有原因 的警示執行個體MissingSeries
。
從面板建立提醒
從任何面板類型建立提醒。這表示您可以重複使用面板中的查詢,並根據這些查詢建立提醒。
-
在儀表板區段中導覽至儀表板。
-
在面板的右上角,選擇三個點 (省略號)。
-
從下拉式功能表中選取更多...,然後選擇新警示規則 。
這將開啟警示規則表單,允許您根據目前的面板查詢來設定和建立警示。