本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立和管理 Grafana 警示規則
本文件主題是針對支援 Grafana 8.x 版的 Grafana 工作區所設計。
如需支援 Grafana 10.x 版的 Grafana 工作區,請參閱。在 Grafana 第 10 版工作
如需支援 Grafana 9.x 版的 Grafana 工作區,請參閱。在 Grafana 第 9 版中工作
警示規則是決定是否啟動警示的一組評估準則。此規則包含一或多個查詢與運算式、條件、評估頻率,以及選擇性地符合條件的持續時間。
當查詢和運算式選取要評估的資料集時,條件會設定警示必須符合或超過以建立警示的臨界值。間隔指定警示規則的評估頻率。配置時,持續時間表示必須滿足條件的時間長度。這些規則還可以定義在沒有數據的情況下警報行為。
下列各節說明建立及管理不同類型的 Grafana 警示規則。
建立皮質或洛基管理警示規則
使用 Grafana,您可以建立外部皮層或 Loki 執行個體的警示規則。
注意
Cortex 是 Amazon 託管服務用於 Prometheus 和 Prometheus 數據源的時間序列數據庫。
先決條件
-
確認您具有對 Prometheus 資料來源的寫入權限。否則,您將無法建立或更新 Cortex 管理的警示規則。
-
對於皮質和 Loki 數據源,通過配置其各自的服務來啟用標尺 API。
-
Loki —
local
規則儲存類型 (Loki 資料來源的預設值) 僅支援檢視規則。若要編輯規則,請設定其他儲存區類型之一。 -
皮質 — 使用遺留的
/api/prom
前綴,而不是/prometheus
。Prometheus 資料來源同時支援皮質和 Prometheus,而 Grafana 預期查詢 API 和統治者 API 都位於相同的 URL 下。您無法為量尺 API 提供個別的 URL。
-
注意
如果您不想管理特定 Loki 或 Prometheus 資料來源的警示規則,請移至其設定並清除透過警示 UI 管理警示核取方塊。
若要新增皮質或 Loki 管理的警示規則
-
在 Grafana 主控台的 Grafana 選單中,選擇警示 (鈴鐺) 圖示以開啟列出現有警示的警示頁面。
-
選擇 [新增警示規則]。
-
在步驟 1 中,新增規則名稱、類型和儲存位置,如下所示:
-
在規則名稱中,新增描述性名稱。此名稱會顯示在警示規則清單中。它也是從此規則建立的每個警示執行個體的
alertname
標籤。 -
從規則類型下拉式清單中,選取 Cortex/Loki 管理警示。
-
從 「選取資料來源」下拉式清單中,選取「Prometheus」或「洛基」資料來源。
-
從命名空間下拉清單中,選取現有的規則命名空間。否則,請選擇「新增」,然後輸入名稱以建立名稱。命名空間可以包含一或多個規則群組,而且只有組織用途。如需詳細資訊,請參閱 皮質或 Loki 規則群組和命名空間。
-
從「群組」下拉式清單中,選取所選命名空間內的現有群組。否則,請選擇「新增」,然後輸入名稱以建立名稱。新建立的規則會附加到群組的結尾。群組中的規則會以固定間隔順序執行,且評估時間相同。
-
-
在步驟 2 中,新增要評估的查詢。
這個值可以是 PromQL 或 LogQL 運算式。如果評估結果至少有一個值大於 0 的序列,則規則會啟動警示。系統會針對每個序列建立警示。
-
在步驟 3 中,新增條件。
在條件的 [針對] 文字方塊中,指定條件必須為真的持續時間,才會啟動警示。如果您指定
5m
,則條件必須成立五分鐘,才會啟動警示。注意
符合條件之後,警示就會進入
Pending
狀態。如果條件在指定的持續時間內保持作用中狀態,則警示會轉換為Firing
狀態。如果不再滿足,它將恢復為狀Normal
態。 -
在步驟 4 中,新增與規則相關聯的其他中繼資料。
-
新增說明和摘要以自訂警示訊息。請使用中的指導方針警示規則的註釋和標籤。
-
新增工作流程簿 URL、面板、儀表板和警示 ID。
-
新增自訂標籤。
-
-
選擇「預覽警示」以評估規則並查看規則會產生哪些警示。它會顯示警示清單,其中包含每個警示的狀態和值。
-
選擇儲存以儲存規則,或選擇儲存並結束以儲存規則並返回「警示」頁面。
創建皮質或洛基管理記錄規則
您可以建立和管理外部皮質或 Loki 執行個體的錄製規則。記錄規則會預先計算經常需要的運算式或計算成本較高的運算式,並將結果儲存為新的時間序列集。查詢此新時間序列的速度更快,尤其是對儀表板而言,因為每次重新整理儀表板時都會查詢相同的運算式。
先決條件
對於皮質和 Loki 數據源,通過配置其各自的服務來啟用標尺 API。
-
Loki —
local
規則儲存類型 (Loki 資料來源的預設值) 僅支援檢視規則。若要編輯規則,請設定其他儲存區類型之一。 -
皮質 — 當配置 Grafana Prometheus 數據源以指向皮質時,請使用舊式前綴,而不是。
/api/prom
/prometheus
Prometheus 資料來源同時支援皮質和 Prometheus,而 Grafana 預期查詢 API 和統治者 API 都位於相同的 URL 下。您無法為量尺 API 提供個別的 URL。
注意
如果您不想管理特定 Loki 或 Prometheus 資料來源的警示規則,請移至其設定並清除透過警示 UI 管理警示核取方塊。
若要新增皮質或洛基管理的錄製規則
-
在 Grafana 主控台的 Grafana 選單中,選擇警示 (鈴鐺) 圖示以開啟列出現有警示的警示頁面。
-
選擇 [新增警示規則]。
-
在步驟 1 中,新增規則名稱、類型和儲存位置,如下所示。
-
在規則名稱中,新增描述性名稱。此名稱會顯示在警示規則清單中。它也是從此規則建立的每個警示執行個體的
alertname
標籤。 -
從規則類型下拉式清單中,選取 Cortex/Loki 管理警示。
-
從 「選取資料來源」下拉式清單中,選取「Prometheus」或「洛基」資料來源。
-
從命名空間下拉清單中,選取現有的規則命名空間。否則,請選擇「新增」,然後輸入名稱以建立名稱。命名空間可以包含一或多個規則群組,而且只有組織用途。如需詳細資訊,請參閱 皮質或 Loki 規則群組和命名空間。
-
從「群組」下拉式清單中,選取所選命名空間內的現有群組。否則,請選擇「新增」,然後輸入名稱以建立名稱。新建立的規則會附加到群組的結尾。群組中的規則會以固定間隔順序執行,且評估時間相同。
-
-
在步驟 2 中,新增要評估的查詢。
這個值可以是 PromQL 或 LogQL 運算式。如果評估結果至少有一個值大於 0 的序列,則規則會啟動警示。系統會針對每個序列建立警示。
-
在步驟 3 中,新增與規則相關聯的其他中繼資料。
-
新增說明和摘要以自訂警示訊息。請使用中的指導方針警示規則的註釋和標籤。
-
新增工作流程簿 URL、面板、儀表板和警示 ID。
-
新增自訂標籤。
-
-
選擇儲存以儲存規則,或選擇儲存並結束以儲存規則並返回「警示」頁面。
建立 Grafana 管理的警示規則
Grafana 允許您創建查詢一個或多個數據源的警報規則,減少或轉換結果,並將其相互比較或修復閾值。處理這些資訊後,Grafana 會將通知傳送至聯絡人點。
注意
在使用 Grafana 警示時建立 Grafana 管理警示規則,會在符合規則時傳送多個通知。某些聯絡點提供者可能具有可設定的選項來消除通知的重複資料。
若要新增 Grafana 受管理規則
-
在 Grafana 主控台的 Grafana 選單中,選擇警示 (鈴鐺) 圖示以開啟列出現有警示的警示頁面。
-
選擇 [新增警示規則]。
-
在步驟 1 中,新增規則名稱、類型和儲存位置,如下所示:
-
在規則名稱中,新增描述性名稱。此名稱會顯示在警示規則清單中。它也是從此規則建立的每個警示執行個體的
alertname
標籤。 -
從 [規則類型] 下拉式清單中,選取 [註 Grafana 管理警示]。
-
從「資料夾」下拉式清單中,選取要儲存規則的資料夾。如果您未選取資料夾,則規則會儲存在
General
資料夾中。若要建立資料夾,請選取下拉式清單,然後輸入新的資料夾名稱。
-
-
在步驟 2 中,新增要評估的查詢和運算式。
-
在步驟 3 中,新增條件。
-
從「條件」下拉式清單中,選取要啟動警示規則的查詢或運算式。
-
對於「評估間隔」,指定評估頻率。必須是 10 秒的倍數。例如
1m
和30s
。 -
針對評估,指定啟動警示之前條件必須為真的持續時間。
注意
違反條件後,警示就會進入
Pending
狀態。如果條件在指定的持續時間內仍然違反,警示會轉換為狀Firing
態。如果不再滿足,它將恢復為狀Normal
態。 -
在 [設定無資料和錯誤處理] 中,設定缺少資料時的警示行為。請使用中的指導方針。處理沒有數據或錯誤情況
-
選擇 [預覽警示] 以檢查此時執行查詢的結果。預覽不排除任何資料和錯誤處理條件。
-
-
在步驟 4 中,新增與規則相關聯的其他中繼資料。
-
新增說明和摘要以自訂警示訊息。請使用中的指導方針警示規則的註釋和標籤。
-
新增工作流程簿 URL、面板、儀表板和警示 ID。
-
新增自訂標籤。
-
-
選擇儲存以儲存規則,或選擇儲存並結束以儲存規則並返回「警示」頁面。
單維和多維規則
對於 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 (行為) |
---|---|
暫無資料 |
建立警示,其中 |
提醒 |
將警示規則狀態設為 |
OK |
將警示規則狀態設為 |
下表列出了處理錯誤案例的選項。
錯誤或逾時選項 | Behavior (行為) |
---|---|
提醒 |
將警示規則狀態設為 |
OK |
將警示規則狀態設為 |
錯誤 |
建立警示,其中 |
警示規則的註釋和標籤
註釋和標籤是與源自警示規則、資料來源回應以及警示規則評估的警示相關聯的索引鍵值配對。它們可以直接用於警報通知,也可以在模板和模板功能中使用,以動態創建通知聯繫人。
註釋
註釋是提供有關警示的其他資訊的索引鍵值配對。您可以使用下列註釋:description
summary
runbook_url
、、alertId
、dashboardUid
、和panelId
。這些會顯示在 UI 的規則和警示詳細資料中,並可用於聯絡人點訊息範本。
標籤
標籤是包含警示相關資訊的索引鍵值配對。系統會產生警示的標籤集,並在整個警示評估和通知程序中加入。它們通過以下方式使用。
-
完整的警示標籤集可唯一識別 Grafana 警示內的警示。
-
警示 UI 會針對該規則的評估產生的每個警示執行個體顯示標籤。
-
聯絡點可以存取標籤以動態產生通知,其中包含導致通知之警示特定資訊的通知。
-
可以將標籤新增至警示規則。這些手動配置的標籤能夠使用模板函數並引用其他標籤。如果標籤之間發生衝突,則在此處添加到警示規則的標籤優先。
展開註解和標示時,可以使用以下樣板變數。
名稱 | 描述 |
---|---|
|
來自查詢或條件的標籤。例如, |
|
針對此警示規則評估的所有減少運算式和數學運算式的值。例如, |
|
警示執行個體的值字串。例如 |
管理警示規則
「警示」頁面會列出警示規則。依預設,規則會依資料來源類型分組。Grafana 區段列出由 Grafana 管理的規則,而皮質/洛基區段列出了 Prometheus 相容資料來源的規則。您可以檢視與 Prometheus 相容資料來源的警示規則,但無法對其進行編輯。
檢視警示規則
使用 Grafana 警報,您可以在一個頁面中查看所有警報。
若要檢視警示詳細資訊
-
在 Grafana 主控台的 Grafana 選單中,選擇警示 (鈴鐺) 圖示以開啟警示頁面。依預設,規則會依資料來源類型以群組形式顯示。您也可以依每個警示的目前狀態來檢視 (下列文字會詳細說明這些狀態)。
-
在 [檢視為] 中,您可以選擇偏好的選項,在群組和狀態檢視之間切換。
-
選擇資料列旁邊的箭號,以檢視該資料列的更多詳細資訊。規則的詳細資料包括規則標籤、註釋、資料來源和查詢,以及由規則產生的警示例項清單。
群組檢視
群組檢視顯示按資料夾和洛基或 Prometheus 警示規則分組的 Grafana 警示規則 (按 + 分組)。namespace
group
這是預設規則清單檢視,用於管理規則。您可以展開每個群組以檢視此群組中的規則清單。進一步展開規則以檢視其詳細資訊。您也可以展開動作按鈕和規則產生的警示,以檢視其詳細資訊。
狀態檢視
狀態檢視會顯示依狀態分組的警示規則。使用此檢視可取得哪些規則處於何種狀態的概觀。您可以展開每個規則以檢視其詳細資料。動作按鈕和此規則產生的任何警示,以及每個警示都可以進一步展開以檢視其詳細資訊。
篩選警示規則
您可以透過數種方式篩選出現在 [警示] 頁面上的警示規則。
-
您可以透過選擇選取資料來源,然後選取要篩選的資料來源,篩選以顯示查詢特定資料來源的規則。
-
您可以在「依標籤搜尋」中選擇搜尋條件來依標籤篩選。一些範例標準包括
environment=production
region=~US|EU
、、severity!=warning
。 -
您可以選擇依狀態篩選警示,然後選取要檢視的狀態,來篩選以顯示特定狀態的規則。
編輯或刪除警示規則
只有對儲存規則的資料夾具有「編輯」權限的使用者,才能編輯或刪除 Grafana 管理的警示規則。具有編輯者或管理員角色的使用者可以編輯或刪除外部 Cortex 或 Loki 實例的警示規則。
若要編輯或刪除規則
-
展開規則,直到您可以看到「檢視」、「編輯」 和「刪除」的規則控制項。
-
選擇 「編輯」 以開啟「建立規則」頁面。使用與建立規則相同的方式進行更新。如需詳細資訊,請參閱建立 Grafana 管理的警示規則或中的指示建立皮質或洛基管理警示規則。
-
選擇性地選擇「刪除」以刪除規則。
皮質或 Loki 規則群組和命名空間
您可以組織規則。規則會在規則群組內建立,而規則群組則會組織成命名空間。規則群組中的規則會以固定間隔順序執行。預設間隔為一分鐘。您可以重新命名 Cortex 或 Loki 命名空間和規則群組,以及編輯規則群組評估間隔。
若要編輯規則群組或命名空間
-
在 Grafana 主控台的 Grafana 選單中,選擇警示 (鈴鐺) 圖示以開啟警示頁面。
-
導覽至您要編輯的規則群組或命名空間中的規則。
-
選擇「編輯」 (筆) 圖示。
-
變更規則群組或命名空間。
注意
對於命名空間,您只能編輯名稱。對於規則群組,您可以變更群組中規則的名稱或評估間隔。例如,您可
1m
以選擇每分鐘評估一次規則,或30s
每 30 秒評估一次。 -
選擇儲存變更。