本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
警示基本原理
本文件主題是針對支援 Grafana 8.x 版的 Grafana 工作區所設計。
如需支援 Grafana 10.x 版的 Grafana 工作區,請參閱。在 Grafana 第 10 版工作
如需支援 Grafana 9.x 版的 Grafana 工作區,請參閱。在 Grafana 第 9 版中工作
本節提供 Grafana 警示的基本概念的相關資訊。
警示概念
下表說明 Grafana 警示中的重要概念。
關鍵概念或功能 | 定義 |
---|---|
警示的資料來源 |
選取您要查詢的資料來源,並視覺化指標、記錄和追蹤。 |
排程器 |
評估警示規則;針對資料來源定期執行查詢的元件。它僅適用於格拉法納管理的規則。 |
警報管理器 |
管理警示執行個體的路由和分組。 |
警示規則 |
應觸發警示規則的一組評估準則。警示規則包含一或多個查詢與運算式、條件、評估頻率以及符合條件的持續時間。警示規則可以產生多個警示例項。 |
警示實例 |
警示執行個體是警示規則的執行個體。單維警示規則具有一個警示例項。多維警示規則具有一或多個警示執行個體。符合多個結果的單一警示規則 (例如 10 部虛擬機器的 CPU) 會計為多個 (在本例中為 10) 警示執行個體。這個數字可能會隨著時間而變化。例如,在新增虛擬機器時,監控系統中所有 VM 的 CPU 使用率的警示規則會有更多警示執行個體。如需警示執行個體配額的詳細資訊,請參閱。達到配額錯誤 |
警示群組 |
根據預設,Alertmanager 會使用根通知原則的標籤來分組警示執行個體。這可控制傳送至聯絡點的重複資料刪除和警示執行個體群組。 |
聯絡點 |
定義在警示規則觸發時通知連絡人的方式。 |
消息模板 |
創建可重用的自定義模板,並在聯繫點中使用它們。 |
通知政策 |
警示分組和路由到聯絡點的位置、時間和方式的一組規則。 |
標籤和標籤匹配器 |
標籤可唯一識別警示規則。它們會將警示規則連結至通知原則和靜音,決定應該處理哪些原則,以及應將哪些警示規則設為靜音。 |
沉默 |
停止來自一或多個警示執行個體的通知。靜音和靜音計時之間的區別在於,靜音會持續指定的時間段,其中靜音計時會在週期性排程中發生。使用標籤匹配器來靜音警報實例。 |
靜音計時 |
指定不要產生或傳送新通知的時間間隔。您可以凍結週期性的警示通知,例如在維護期間。必須連結至現有的通知原則。 |
警示資料來源
Grafana 管理警示會查詢啟用警示的下列後端資料來源。
-
由 Grafana 內建或開發和維護的資料來源:
Alertmanager
Graphite
,Prometheus
(包括適用於 Prometheus 的 Amazon 管理服務)、、、、、、、、Loki
、、InfluxDB
、、Amazon OpenSearch Service
、Google Cloud Monitoring
、、Amazon CloudWatch
、Azure Monitor
、、MySQL
PostgreSQL
、MSSQL
和。OpenTSDB
Oracle
Azure Monitor
數字數據警報
不是時間序列格式的數值資料可以直接警示,或傳遞至伺服器端運算式。這樣可以在資料來源中實現更多處理和產生的效率,並且還可以簡化警示規則。針對數值資料而非時間序列資料發出警示時,不需要將每個標示的時間序列減少為單一數字。相反,標記的數字返回到 Grafana 代替。
表格式資料
查詢表格式資料的後端資料來源支援此功能,包括 SQL 資料來源,例如 MySQL、Postgres、MSSQL 和甲骨文。
具有 Grafana 管理警示或伺服器端運算式的查詢會被視為使用下列資料來源的數值:
-
如果在資料來源查詢
Table
中將Format AS
選項設定為。 -
如果從查詢傳回給 Grafana 的資料表回應只包含一個數字 (例如 int、double 或浮點數) 資料行,以及選擇性的其他字串資料行。
如果有字符串列,那麼這些列成為標籤。欄的名稱會變成標籤名稱,而每一列的值會變成對應標籤的值。如果返回多行,那麼每一行應該由它們的標籤唯一標識。
範例
如果你有一個名為磁盤空間的 MySQL 表,如下所示。
時間 | 主機 | Disk | PercentFree |
---|---|---|---|
2021-六月七日 |
Web1 |
/等 |
3 |
2021-六月七日 |
Web2 |
/var |
4 |
2021-六月七日 |
web3 |
/var |
8 |
… |
… |
… |
… |
您可以按時查詢資料篩選,但不會將時間序列傳回給 Grafana。例如,每個主機都會啟動警示,當可用空間少於 5% 時,磁碟可能如下所示。
SELECT Host, Disk, CASE WHEN PercentFree < 5.0 THEN PercentFree ELSE 0 END FROM ( SELECT Host, Disk, Avg(PercentFree) FROM DiskSpace Group By Host, Disk Where __timeFilter(Time)
此查詢會傳回下表回應至 Grafana。
主機 | Disk | PercentFree |
---|---|---|
Web1 |
/等 |
3 |
Web2 |
/var |
4 |
web3 |
/var |
0 |
使用此查詢作為警示規則中的條件時,則表示該值為非零警示的情況。因此,會產生三個警示執行個體,如下表所示。
標籤 | Status |
---|---|
{主機 = 網頁 1,磁盤 =/等} |
提醒 |
{主機 = 網站 2,磁盤 =/變種} |
提醒 |
{主機 = Web3,磁盤 =/變種} |
正常 |
警報管理器
Grafana 包括 Prometheus 警報經理內置的支持。Alertmanager 可協助分組和管理警示規則,並在警示引擎上新增一層協調流程。根據預設,Grafana 管理警示的通知會由屬於 Grafana 核心部分的內嵌式警報管理員處理。您可以從「警報管理員」下拉式清單中選取「圖像管理員」選項,從 Grafana 警示使用者介面設定警示管理員的聯絡點、通知原則和範本。
Grafana 警示支援外部警示管理員設定 (如需 Alertmanager 做為外部資料來源的詳細資訊,請參閱)。Connect 至警示管理員資料來源當您新增外部警示管理員時,警報管理員下拉式清單會顯示可用外部警報管理員資料來源的清單。選取資料來源以建立和管理獨立 Cortex 或 Loki 資料來源的警示。
警示規則的狀態與健康狀態
警示規則的狀態和健康狀況可協助您瞭解有關警示的數個關鍵狀態指標。有三個主要元件:警示狀態、警示規則狀態和警示規則健全狀況。儘管相關,但每個組件傳達的信息略有不同。
警示規則狀態
-
Normal — 評估引擎傳回的時間序列都不處於
Pending
或Firing
狀態。 -
擱置中 — 評估引擎傳回的時間序列中至少有一個為
Pending
。 -
射擊 — 評估引擎傳回的時間序列中至少有一個為
Firing
。
警示狀態
-
Normal — 對於評估引擎傳回的每個時間序列,警示規則的條件為 False。
-
警示 — 對於評估引擎傳回的至少一個時間序列,警示規則的條件為真。符合或超過警示啟動 (如果已設定) 之前,條件必須為真的持續時間。
-
擱置中 — 對於評估引擎傳回的至少一個時間序列,警示規則的條件為真。尚未達到警示起始之前,條件必須為真的持續時間 (如果已設定)。
-
NoData— 警示規則未傳回時間序列、時間序列的所有值均為空值,或時間序列的所有值均為零。
-
Error — 嘗試評估警示規則時發生錯誤。
警示規則健康狀態
-
確定 — 評估警示規則時沒有錯誤。
-
Error — 評估警示規則時發生錯誤。
-
NoData— 規則評估期間傳回至少一個時間序列中缺少資料。