本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
數值資料的提醒
本文件主題專為支援 Grafana 10.x 版的 Grafana 工作區而設計。
如需支援 Grafana 9.x 版的 Grafana 工作區,請參閱使用 Grafana 第 9 版。
如需支援 Grafana 8.x 版的 Grafana 工作區,請參閱使用 Grafana 第 8 版。
本主題說明 Grafana 如何處理數值警示,而非時間序列資料。
在某些資料來源中,非時間序列的數值資料可以直接提醒或傳遞至伺服器端表達式 (SSE)。這可讓資料來源內的處理和產生效率更高,而且也可以簡化警示規則。提醒數值資料而非時間序列資料時,不需要將每個標記的時間序列減少為單一數字。反之,標記的數字會傳回給 Grafana。
表格式資料
查詢表格式資料的後端資料來源支援此功能:
-
SQL 資料來源,例如 MySQL、Postgres、MSSQL 和 Oracle。
-
Azure Kusto 型服務:Azure Monitor (Logs)、Azure Monitor (Azure Resource Graph) 和 Azure Data Explorer。
具有 Grafana 受管警示或 SSE 的查詢會被視為具有這些資料來源的數值,如果:
-
資料來源查詢中的「格式化 AS」選項設定為「資料表」。
-
從查詢傳回給 Grafana 的資料表回應僅包含一個數值 (例如 int、雙數、浮點數) 欄,以及選擇性的額外字串欄。
如果有字串資料欄,這些資料欄就會變成標籤。資料欄的名稱會變成標籤名稱,而每一列的值會變成對應標籤的值。如果傳回多個資料列,則每一列都應唯一識別其標籤。
範例
對於名為「DiskSpace」的 MySQL 資料表:
時間 | 主機 | Disk | PercentFree |
---|---|---|---|
2021-June-7 |
Web1 |
/等 |
3 |
2021-June-7 |
Web2 |
/var |
4 |
2021-June-7 |
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 |
---|---|
{Host=web1,disk=/etc} |
提醒 |
{Host=web2,disk=/var} |
提醒 |
{Host=web3,disk=/var} |
正常 |