對 Azure 監視器計量警示進行疑難排解
本文討論 Azure 監視器計量警示中的常見疑問,以及如何進行疑難排解。
在監視資料中發現重大狀況時,Azure 監視器會主動通知您。 它們可讓您在系統使用者注意到問題之前,找出並解決問題。 如需警示的詳細資訊,請參閱 Microsoft Azure 中的警示概觀。
計量警示在應引發的時候並未引發
如果您認為應引發的計量警示未引發,且在 Azure 入口網站中並未列出該警示,請嘗試下列步驟:
檢閱計量警示規則設定。
檢查彙總類型和彙總細微性 (期間) 是否如預期般設定。 彙總類型可決定計量值的彙總方式。 如要深入了解,請參閱 Azure 監視器計量彙總和顯示說明。 彙總資料細微性 (期間) 會控制每次執行警示規則時,評估會彙總多久之前的計量值。
確認是否已根據您的預期設定閾值或敏感度。
如需使用動態閾值的警示規則,請檢查是否已設定進階設定。 違規次數可以篩選警示,而忽略資料 (以下時間之前) 會影響閾值的計算方式。
注意
動態閾值至少需要 3 天和 30 個計量樣本,才能變成作用中。
檢查警示是否已引發,但未傳送通知。
檢閱引發的警示清單,以查看您是否可以找到引發的警示。 如果您在清單中看到警示,但有一些動作或通知的問題,請參閱針對 Azure 監視器警示中的問題進行疑難排解。
檢查警示是否已在作用中。
檢查在您預期取得警示的計量時間序列上是否已經有引發的警示。 計量警示預設為具狀態,這表示一旦在特定計量時間序列上引發警示,該時間序列上的更多警示將不會引發,直到問題不再觀察到為止。 此設計選擇可減少雜訊。 當連續三個評估的警示條件都不符合時,便會自動解決警示。
檢查所使用的維度。
如果您已選取計量的多個維度值,警示規則會監視每個個別計量時間序列 (如維度值組合所定義) 是否達到閾值缺口。 如果在未選取任何維度的情況下,也想要監視彙總計量時間序列,請在計量上設定額外的警示規則,而不選取維度。
檢查彙總和時間細微性。
如果您使用計量圖表,請確定:
- 計量圖表中的所選 [彙總] 與警示規則中的 [彙總類型] 相同。
- 所選 [時間細微性] 會設為與警示規則的 [彙總細微性 (期間)] 相同且未設為 [自動]。
檢查警示規則是否錯過時間序列中的第一個評估週期。
務必選擇大於「評估頻率」的「彙總細微性 (週期)」,以減少在下列情況中錯過第一次評估新增時間序列的可能性:
- 將新的維度值組合新增至監視多個維度的計量警示規則時。
- 將新資源新增至監視多個資源的計量警示規則的範圍時。
- 當計量在超過 24 小時 (監視未持續發出計量的計量警示規則 (疏鬆計量)) 的期間未發出之後發出時。
不會在每次滿足我的條件時觸發計量警示
計量警示預設為具狀態,所以如果特定時間序列上已經有觸發的警示,就不會觸發其他警示。 若要讓特定的計量警示規則變成無狀態,並在符合警示條件的每個評估上收到警示,請使用下列其中一個選項:
例如,如果您以程式設計方式建立警示規則,請透過 Azure Resource Manager、PowerShell、REST 或 Azure CLI,將
autoMitigate
屬性設定為False
。如果您要在 Azure 入口網站中建立警示規則,請清除 [警示規則詳細資料] 區段下方的 [自動解決警示] 選項。 無狀態計量警示的通知頻率會根據警示規則所設定的頻率而有所不同:
警示頻率少於 5 分鐘:持續符合條件時,會在一到六分鐘之間傳送通知。
警示頻率超過 5 分鐘:持續符合條件時,會在所設定頻率和該頻率值兩倍的時間之間傳送通知。 例如,若是頻率為 15 分鐘的警示規則,會在 15 到 30 分鐘之間傳送通知。
注意
讓計量警示規則變成無狀態,可防止引發的警示變成已解決。 因此,即使不再符合條件,引發的警示仍會處於引發狀態,直到 30 天保留期間到期為止。
具有動態閾值的計量警示規則引發警示數不足
您可能會遇到使用動態閾值的警示規則未引發或不夠敏感的情況,即使已設定高敏感度也一樣。 當計量的分佈非常不規則時會發生這種情況。 考慮下列其中一個解決方案來修正問題:
- 移至監視適合您情況的補充計量,如果適用。 例如,檢查成功率 (而不是失敗率) 的變更。
- 請嘗試選取不同的彙總細微性 (期間) 值。
- 檢查過去 10 天內計量行為是否有大幅變更,例如中斷。 突然變更可能會影響針對計量計算的上限和較低的閾值,並使其更擴大。 請等候幾天,直到中斷不再計入閾值計算。 您也可以編輯警示規則,在 [進階設定] 中使用 [忽略資料] 選項。
- 如果您的資料具有每週季節性,但沒有足夠的歷程記錄可供計量使用,則計算的閾值可能會導致上限和下限擴大。 例如,計算可以以相同方式處理工作日和週末,並建置不一定符合資料的寬邊界。 此問題應該會在有足夠的計量歷程記錄可用之後自行解決。 然後將偵測到正確的季節性,並據以更新計算的閾值。
計量警示在不應該引發時引發
如果您認為不應觸發的計量警示觸發了,下列步驟可能有助於解決該問題。
檢閱觸發的警示清單以找出觸發的警示。 選取警示以檢視其詳細資料。 檢閱在 [引發警示的原因] 底下提供的資訊,查看觸發警示時的計量圖表、計量值和閾值。
注意
如果您使用動態閾值,且認為閾值不正確,請使用苦臉圖示來提供意見反應。 這些意見反應會影響機器學習演算法研究,且可協助提升日後的偵測能力。
如果您已針對計量選取多個維度值,警示會在任何計量時間序列 (如維度值組合所定義) 達到閾值時觸發。 如需在計量警示中使用維度的詳細資訊,請參閱使用維度縮小目標。
檢閱警示規則設定,以確定其已正確設定:
- 檢查彙總類型、彙總細微性 (期間) 和閾值或敏感度是否如預期般設定。
- 對於使用動態閾值的警示規定,請確認是否進行進階設定,因為 [違規數目] 可能會篩選警示,而 [忽略資料 (以下時間之前)] 可能會影響閾值的計算方式。
注意
動態閾值至少需要 3 天和 30 個計量樣本,才能變成作用中。
如果您使用計量圖表,請確定:
- 計量圖表中的所選 [彙總] 與警示規則中的 [彙總類型] 相同。
- 所選 [時間細微性] 會設為與警示規則的 [彙總細微性 (期間)] 相同且未設為 [自動]。
如果在觸發警示時已有監視相同準則且未解決的觸發警示,請檢查警示規則是否已設定為不自動解決警示。 這表示警示規則為無狀態,且不會自動解決觸發的警示,而且不需要在相同時間序列上再次觸發之前解決觸發的警示。 若要檢查警示規則是否已設定為不自動解決:
- 在 Azure 入口網站中編輯警示規則。 查看是否已清除 [警示規則詳細資料] 區段下方的 [自動解決警示] 核取方塊。
- 檢閱用來部署警示規則或擷取警示規則定義的指令碼。 檢查
autoMitigate
屬性是否設定為false
。
具有動態閾值的計量警示規則引發過多或太嘈雜
如果使用動態閾值的警示規則太嘈雜或引發過多,則可能需要降低動態閾值警示規則的敏感度。 使用下列其中一個選項:
- 閾值敏感度:將敏感度設定為 [低],以提高偏差的容忍度。
- ([進階設定] 下方) 的違規次數:設定警示規則,只有在特定時段內發生數次偏差時才會觸發。 此設定會使規則較不容易受到暫時性偏差的影響。
具有動態閾值的計量警示規則顯示不在預期值範圍內的值
當計量值出現大型波動時,動態閾值會以計量值為基礎建置更廣泛的模型,這可能會導致較預期低或更高的邊界。 在下列情況下可能會發生此狀況:
敏感度設定為低。
計量顯示異常行為,並具有較高的變異數 (在資料中出現尖峰或下降)。
請考慮選擇較嚴格的敏感度,或選取較大的 Lookback 期間,讓模型變得不那麼敏感。 您也可使用 [忽略資料 (以下時間之前)] 選項,從用來建置模型的歷程記錄資料中排除最近的異常。
設定計量警示規則的問題
找不到要發出警示的計量
如果您想要在特定計量上發出警示,但在建立警示規則時看不到該計量,請檢查並判斷:
- 如果您可以看到資源的一些計量,但找不到特定計量, 請檢查該計量是否受到支援。 如果是這樣,請參閱計量描述,檢查該計量是否僅適用於特定版本的資源。
- 如果計量不適用於該資源,可能可用於資源記錄中,並且可以使用記錄警示來加以監視。 如需深入了解,請參閱如何從 Azure 資源收集和分析資源記錄。
找不到要警示的計量:虛擬機器客體計量
若要警示虛擬機器的客體作業系統計量 (例如:記憶體和磁碟空間),請確定您已安裝必要的代理程式,以將此資料收集至下列的 Azure 監視器計量:
如需從虛擬機客體作業系統收集數據的詳細資訊,請參閱監視 Azure 虛擬機器。
注意
如果您已將客體計量設定為傳送到 Log Analytics 工作區,則這些計量會出現在 Log Analytics 工作區資源底下,而且「只會」在建立警示規則來監視資料後,開始顯示資料。 若要這麼做,請遵循步驟來設定記錄的計量警示。
計量警示目前不支援監視具有單一警示規則之多部虛擬機器的客體計量。 但您可以使用記錄警示規則。 若要這樣做,請確定會將客體計量收集到 Log Analytics 工作區,並在工作區上建立記錄警示規則。
找不到要警示的計量維度
如果您想要對計量的特定維度值發出警示,但找不到這些值:
- 可能需要幾分鐘的時間,維度值才會出現在 [維度值] 清單底下。
- 顯示的維度值會以前一天中收集的計量資料為基礎。
- 如果維度值尚未發出或未顯示,您可以使用新增自訂值選項來加入自訂維度值。
- 如果您想要警示維度的所有可能值,甚至包括未來值,請選擇 [選取所有目前和未來的值] 選項。
- 預設會關閉 Application Insights 資源的自訂計量維度。 若要開啟這些自訂計量的維度集合,請參閱 Application Insights 中記錄型和預先彙總的計量。
您要針對尚未發出的自訂計量設定警示規則
建立計量警示規則時,計量名稱會根據計量定義 API 進行驗證,以確定其存在。 在某些案例下,您甚至會想在發出警示規則之前,就先針對自訂計量建立警示規則。 例如,使用 Resource Manager 範本建立將發出自訂計量的 Application Insights 資源時,以及監視該計量的警示規則時。
若要在嘗試驗證自訂計量的定義時避免部署失敗,請在警示規則的 criteria
區段中使用參數 skipMetricValidation
。 此參數會導致跳過計量驗證。 如需如何在 Resource Manager 範本中使用此參數,請參閱下列範例。 如需詳細資訊,請參閱建立計量警示規則的完整 Resource Manager 範本樣本。
"criteria": {
"odata.type": "Microsoft.Azure.Monitor.SingleResourceMultipleMetricCriteria",
"allOf": [
{
"name" : "condition1",
"metricName": "myCustomMetric",
"metricNamespace": "myCustomMetricNamespace",
"dimensions":[],
"operator": "GreaterThan",
"threshold" : 10,
"timeAggregation": "Average",
"skipMetricValidation": true
}
]
}
注意
當您針對幾天內未發出的現有自訂計量定義警示規則時,可能也需要使用 skipMetricValidation
參數。
設定計量警示規則時的警告和錯誤
此計量警告目前無法使用動態閾值
大部分 (但並非全部) 計量都支援動態閾值。 如需計量清單,請參閱動態閾值不支援的計量。
計量不適用於選取的範圍。 如果計量僅適用於特定版本或 SKU 錯誤,則可能會發生這種情況
檢閱 Azure 監視器支援計量中的計量描述,以檢查其是否僅適用於資源的特定版本或此特定類型。
例如,在 SQL 資料庫資源或儲存體檔案服務中,只有特定版本的資源才支援特定計量。
沒有可用的訊號可供顯示。 嘗試變更此警示規則錯誤的範圍
此錯誤表示警示規則範圍發生問題。 當編輯範圍為支援多重資源設定 (如虛擬機器或 SQL 資料庫) 的資源類型的警示規則,並嘗試新增相同類型但來自不同區域的另一個資源時,可能會發生這種情況。 計量警示不支援對來自不同區域之相同類型的多個資源發出警示。
計量警示規則的服務限制太小
每個訂用帳戶允許的計量警示規則數受限於服務限制。
請參閱檢查使用中的計量警示規則數目,以查看目前使用中的計量警示規則數目。
如果您已達到服務限制,下列步驟可能有助於解決此問題:
- 嘗試刪除或停用不再使用的計量警示規則。
- 切換至使用監視多個資源的計量警示規則。 使用這項功能,單一警示規則就可以按照每個配額只使用一個警示規則來監視多個資源。 如需此功能和受支援資源類型的詳細資訊,請參閱計量警示。
- 如果您需要增加配額限制,請開啟支援要求並提供:
- 需要增加配額限制的訂用帳戶識別碼。
- 要增加配額的資源類型。 選取 [計量警示]。
- 要求的配額限制。
下一步
如需有關計量和通知的一般疑難排解資訊,請參閱針對 Azure 監視器警示中的問題進行疑難排解。