Azure 監視器警示類型

本文說明您可以建立的 Azure 監視器警示類型,並協助您了解每種警示類型的使用時機。

有四種警示:

選擇正確的警示類型

下表可協助您決定何時該使用哪種類型的警示。 如需定價的詳細資訊,請參閱定價頁面

警示類型 使用時機 定價資訊
計量警示 計量資料會儲存在已預先計算的系統中。 當您想要收到哪些資料需要少量操作或不需要操作的相關警示時,計量警示會很有用。 如果您想要監視的資料可在計量資料中使用,建議您使用計量警示。 每個計量警示規則都會根據受監視的時間序列數目來收費。
記錄警示 記錄警示可讓您對資料執行進階邏輯作業。 如果記錄中有您想要監視的資料,或該資料需要進階邏輯,您可以使用 KQL 的強大功能,使用記錄警示進行資料操作。 每個記錄警示規則都會根據記錄查詢評估的間隔來計費, (更頻繁的查詢評估會產生較高的成本) 。 此外,針對 大規模監視所設定的記錄警示,成本也會取決於查詢所產生的維度所建立的時間序列數目。
活動記錄警示 活動記錄可提供資源上發生所有動作的稽核。 當資源發生特定事件 (例如重新開機、關機,建立資源或刪除資源) 時,請使用活動記錄警示。 服務健康情況警示和資源健康狀態警示可讓您知道其中一項服務或資源發生問題。 如需詳細資訊,請參閱價格頁面
Prometheus 警示 (預覽) Prometheus 警示主要用於警示 Kubernetes 叢集的效能和健康情況, (包括 AKS) 。 警示規則是以 PromQL 為基礎,這是開放原始碼查詢語言。 在預覽期間,Prometheus 警示不收費。

度量警示

計量警示規則會定期評估資源計量的條件,以監視資源。 如果符合條件,即會引發警示。 計量時間序列是一段時間內所擷取的一系列計量值。

您可以使用下列計量來建立規則:

計量警示規則包括下列功能:

計量警示規則的目標可以是:

  • 單一資源,例如 VM。 如需支援的資源類型,請參閱這篇文章
  • 相同 Azure 區域中相同類型的多個資源,例如資源群組。

多重條件

當您為單一資源建立警示規則時,可以套用多個條件。 例如,您可以建立監視 Azure 虛擬機器的警示規則,並在「CPU 百分比大於 90%」且「佇列長度超過 300 個項目」時發出警示。 當警示規則有多個條件時,系統會在警示規則中的所有條件都為 true 時引發警示,並在連續三次檢查中至少有一個條件不再為 true 時解除警示。

使用維度縮小目標範圍

維度是名稱/值組,其中包含計量值的其他資料。 使用維度可讓您篩選計量並監視特定的時間序列,而不是監視所有維度值的彙總。 例如,儲存體帳戶的「交易」計量具有 API 名稱維度,其包含每個交易所呼叫的 API 名稱 (例如 GetBlob、DeleteBlob、PutPage)。 您可以選擇在任何 API 名稱中有大量交易時引發警示 (這是彙總的資料),或者,您可以使用維度進一步細分,只有在特定 API 名稱的交易數量很高時才會發出警示。 如果您使用多個維度,計量警示規則也可以監視計量中不同維度的多個維度值。 警示規則會個別監視所有維度值的組合。 如需如何在計量警示規則中使用維度的詳細指示,請參閱這篇文章

使用 [依維度分割] 來建立以資源為中心的警示

您可以使用 [依維度分割] 來監視多個 Azure 資源上的相同條件。 [依維度分割] 可讓您針對訂閱或資源群組大規模建立以資源為中心的警示。 警示會將各種組合分組以分割成個別的警示。 在 Azure 資源識別碼資料行上進行分割會使指定的資源成為警示目標。

當您想對範圍中的多個資源套用一項條件時,您也可以決定不要分割。 例如,您想在資源群組範圍中至少有五部電腦的 CPU 使用量超過 80% 時,發出警示。

監視多個資源

您可以針對存在於相同 Azure 區域中的資源,將相同計量警示規則套用至相同類型的多個資源,以大規模監視。 系統會針對每個受監視的資源傳送個別通知。

下列 Azure 雲端支援這些服務的平台計量:

服務 全域 Azure 政府機關 中國
虛擬機器*
SQL Server 資料庫
SQL Server 彈性集區
NetApp Files 容量集區
NetApp Files 磁碟區
金鑰保存庫 Yes
Azure Cache for Redis Yes
Azure Stack Edge 裝置
復原服務保存庫
適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器

注意

下列案例不支援多重資源計量警示:

  • 虛擬機器的客體計量警示
  • 虛擬機器網路計量警示 (網路流入量總計、網路流出量總計、輸入流量、輸出流量、輸入流量最大建立速率、輸出流量最大建立速率)。

您可以透過下列三種方式之一,指定單一計量警示規則所監視的範圍。 例如,使用虛擬機器,您可以將範圍指定為:

  • 訂用帳戶內的虛擬機器清單 (位於一個 Azure 區域)
  • 作為訂用帳戶中一或多個資源群組的所有虛擬機器 (位於一個 Azure 區域)
  • 訂用帳戶中的所有虛擬機器 (位於一個 Azure 區域)

動態閾值

動態閾值會使用進階機器學習 (ML) 來執行下列作業:

  • 了解計量的歷程記錄
  • 識別模式並適應一段時間的計量變更,例如每小時、每日或每週模式。
  • 辨識可能表示服務有問題的異常情況
  • 計算最適合計量的閾值

Machine Learning 會持續使用新的資料來深入學習,並讓閾值更精確。 因為系統會隨著時間適應計量的行為,並根據其模式的偏差發出警示,所以您不需要知道每個計量的「正確」閾值。

動態閾值有助於:

  • 使用一個警示規則,為數百個計量序列建立可調整的警示。 如果您的警示規則不多,則建立和管理警示規則所需的時間就會較短。
  • 建立規則,而不需要知道要設定哪種閾值
  • 使用高階概念來設定計量警示,而不需大量的計量領域相關知識
  • 避免不具預期模式的雜訊 (低精確度) 或廣泛 (低召回率) 閾值
  • 處理雜訊計量 (例如電腦 CPU 或記憶體) 以及具有低離散程度的計量 (例如可用性和錯誤率)。

如需如何在計量警示規則中使用動態閾值的詳細指示,請參閱這篇文章

記錄警示

記錄警示會使用 Log Analytics 查詢來監視資源,以依設定頻率評估資源記錄。 如果符合條件,即會引發警示。 您可以使用 Log Analytics 查詢,因此可對資料執行進階邏輯作業,並使用強健的 KQL 功能來操作記錄資料。

記錄警示規則的目標可以是:

  • 單一資源,例如 VM。
  • 相同 Azure 區域中相同類型的多個資源,例如資源群組。 目前只適用於選取的資源類型。
  • 使用跨資源查詢的多個資源。

記錄警示可以測量下列兩種不同項目,並可用於不同的監視案例:

  • 資料列數:傳回的資料列數目可用於處理 Windows 事件記錄、syslog、應用程式例外狀況等事件。
  • 數值資料行的計算:任何數值資料行的計算可用於包含任意數目的資源。 例如,CPU 百分比。

您可以將記錄警示設定為具狀態或無狀態 (目前為預覽狀態)。

注意

當您嘗試偵測記錄中的特定資料時,記錄警示效果最好,而不是嘗試偵測記錄中的缺漏資料。 記錄是半結構化資料,原本就比 VM 活動訊號等資訊的計量資料更隱晦不明。 若要避免嘗試偵測記錄中的缺漏資料時誤發警示,請考慮使用計量警示。 您可以使用記錄的計量警示,將資料從記錄傳送至計量存放區。

記錄警示規則中的維度

您可以在建立記錄警示規則時使用維度,透過一個規則來監視資源的多個執行個體值。 例如,您可以在執行網站或應用程式的多個執行個體上監視 CPU 使用量。 系統會個別監視每個執行個體,並個別傳送每個執行個體的通知。

記錄警示規則中的 [依維度分割]

您可以使用 [依維度分割] 來監視多個 Azure 資源上的相同條件。 [依維度分割] 可讓您針對訂閱或資源群組大規模建立以資源為中心的警示。 警示會使用數值或字串資料行將各種組合分組,以分割成個別的警示。 分割 Azure 資源識別碼資料行會使指定的資源成為警示目標。 當您想對範圍中的多個資源套用一項條件時,您也可以決定不要分割。 例如,您想在資源群組範圍中至少有五部電腦的 CPU 使用量超過 80% 時,發出警示。

使用 API

使用 ScheduledQueryRules API 管理工作區中的新規則。

注意

適用於使用舊版 Log Analytics 警示 API 來管理的 Log Analytics 記錄警示。 深入了解如何切換至目前的 ScheduledQueryRules API

Azure 帳單的記錄警示

記錄警示列在資源提供者 microsoft.insights/scheduledqueryrules 下方,其中包含:

  • Application Insights 上的記錄警示會顯示確切資源名稱,以及資源群組和警示屬性。
  • Log Analytics 上的記錄警示會顯示確切資源名稱,以及資源群組和警示屬性 (使用 scheduledQueryRules API 建立時)。
  • 舊版 Log Analytics API 建立的記錄警示不是受追蹤的 Azure 資源,所以不會強制使用唯一資源名稱。 這些警示仍會在 microsoft.insights/scheduledqueryrules 上建立為隱藏的資源,並採用這個資源命名結構 <WorkspaceName>|<savedSearchId>|<scheduleId>|<ActionId>。 舊版 API 上的記錄警示會顯示上述隱藏的資源名稱,以及資源群組和警示屬性。

注意

在隱藏的資源名稱中,不受支援的資源字元 (例如 <, >, %, &, , ?, /) 會取代為 _,這項變更也會反映在計費資訊中。

活動記錄警示

活動記錄警示會檢查活動記錄中是否有符合所定義條件的新活動記錄事件,來監視資源。

建議您針對下列類型的案例使用活動記錄警示:

  • 在特定資源群組或訂閱中的資源發生特定作業時。 例如,您可能想要在下列情況發生時收到通知:
    • 生產資源群組中的任何虛擬機器受到刪除。
    • 您訂閱中的使用者獲指派任何新角色。
  • 隨即發生服務健康情況事件。 服務健康狀態事件包括您訂閱中資源所套用的事件和維護事件通知。

您可以建立下列活動記錄警示:

  • 除了警示事件以外,任何活動記錄事件類別
  • JSON 物件中最上層屬性的任何活動記錄事件。

活動記錄警示規則是 Azure 資源,因此可以使用 Azure Resource Manager 範本加以建立。 也可以在 Azure 入口網站中將它們建立、更新或刪除。

活動記錄警示只會針對警示建立所在訂閱中的事件進行監視。

服務健康情況警示

服務健康狀態警示是活動警示的類型。 服務健康狀態 可讓您知道中斷、計劃性維護活動和其他健康狀態諮詢,因為已驗證的服務健康情況體驗知道您目前使用的服務和資源。

使用服務健康情況的最佳方式是設定服務健康狀態警示,以在服務問題、計劃性維護或其他變更可能會影響您使用的 Azure 服務和區域時,使用慣用的通道通知您。

資源健康狀態警示

資源健康狀態警示是活動警示的類型。 資源健康狀態概觀可協助您診斷並取得影響 Azure 資源之服務問題的支援。 其中會報告您的資源目前和過去的健康情況。 資源健康狀態依賴不同 Azure 服務的訊號來評估資源是否狀況良好。 如果資源健康狀態不佳,資源健康狀態會分析其他資訊來判斷問題的來源。 它也會報告Microsoft採取哪些動作來修正問題,並識別您可以執行的動作來解決問題。

智慧偵測警示

為專案設定 Application Insights 之後,當您的應用程式產生特定最低資料量時,智慧偵測需先利用 24 小時來了解應用程式的正常行為。 您的應用程式效能具有一般的行為模式。 某些要求或相依性呼叫會比其他要求更容易失敗;且整體失敗率可能會隨著負載增加而上移。 「智慧型偵測」會使用機器學習服務來尋找這些異常狀況。 「智慧偵測」會監視從應用程式收到的資料,特別是失敗率的資料。 當 Web 應用程式的失敗要求比率異常增加時,Application Insights 會以幾乎即時的方式自動向您發出警示。

當資料從您的 Web 應用程式進入 Application Insights 時,「智慧偵測」會將目前的行為與過去幾天觀察到的模式做比較。 相較於先前的效能,如果失敗率異常提高,就會觸發分析。 為了協助您分級並診斷問題,警示詳細資料中會提供失敗的特性分析與相關應用程式資料。 其中也有 Application Insights 入口網站的連結,以供進一步診斷。 不需要設定該功能,因為它是使用機器學習演算法來預測一般失敗率。

計量警示讓您知道可能發生問題,而智慧偵測可為您啟動診斷工作,並執行大部分分析 (若未使用此功能,您就必須自己執行)。 您達到幾近封裝完成的結果,幫助您快速取得問題的根源。

智慧偵測適用於裝載在雲端或您個人伺服器上的 Web 應用程式,會產生應用程式要求或相依性資料。

Prometheus 警示 (預覽)

Prometheus 警示是以儲存在 適用于 Prometheus 的 Azure 監視器受控服務中的計量值為基礎。 當 PromQL 查詢的結果解析為 true 時,就會引發它們。 Prometheus 警示會在引發時顯示及管理,就像其他警示類型一樣,但會使用 Prometheus 規則群組進行設定。 如需詳細資訊,請參閱 適用于 Prometheus 的 Azure 監視器受控服務中的規則群組

下一步