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