共用方式為


監視 Azure 事件中樞

本文章說明:

  • 您可以為此服務收集的監視資料類型。
  • 分析資料的方式。

注意

如果您已經熟悉此服務和/或 Azure 監視器,只想知道如何分析監視資料,請參閱本文靠近結尾的分析一節。

當您有依賴 Azure 資源的重要應用程式和商務流程時,就需要監視並取得系統的警示。 Azure 監視器服務會從您系統的每個元件收集及彙總計量和記錄。 Azure 監視器讓您能夠檢視可用性、效能及復原能力,並在發生問題時通知您。 您可以使用 Azure 入口網站、PowerShell、Azure CLI、REST API 或用戶端程式庫來設定及檢視監視資料。

Azure 監視器文件將說明以下概念:

  • 什麼是 Azure 監視器?
  • 與監視相關聯的成本
  • 在 Azure 中收集的監視資料
  • 設定資料收集
  • Azure 中用來分析和警示監視資料的標準工具

下列各節說明針對 Azure 事件中樞收集的特定資料。 這些章節也會提供範例,展示如何使用 Azure 工具來設定資料收集和分析此資料。

提示

若要了解 Azure 監視器的相關成本,請參閱 Azure 監視器成本和使用量。 若要瞭解您的資料顯示在 Azure 監視器中要花費的時間,請參閱記錄檔資料擷取時間

資源類型

Azure 會使用資源類型和識別碼的概念來識別訂用帳戶中的所有內容。 資源類型也是 Azure 中所執行每個資源的資源識別碼組成部分。 例如,虛擬機器的一種資源類型是 Microsoft.Compute/virtualMachines。 如需服務及其相關聯資源類型的清單,請參閱資源提供者 (機器翻譯)。

Azure 監視器同樣會依據資源類型將核心監視資料組織成計量和記錄,也稱為命名空間。 不同的計量和記錄適用於不同的資源類型。 您的服務可能會與多個資源類型相關聯。

如需事件中樞資源類型的詳細資訊,請參閱 Azure 事件中樞監視資料參考 (部分機器翻譯)。

資料存放區

對於 Azure 監視器:

  • 計量資料會儲存在 Azure 監視器計量資料庫中。
  • 記錄資料會儲存在 Azure 監視器記錄存放區中。 Log Analytics 是可查詢此存放區的 Azure 入口網站工具。
  • Azure 活動記錄是個單獨存放區,其介面位於 Azure 入口網站。

您可選擇性地將計量和活動記錄資料路由傳送至 Azure 監視器記錄存放區。 然後,可以使用 Log Analytics 來查詢資料,並將其與其他記錄資料相互關聯。

許多服務可以使用診斷設定,將計量和記錄資料傳送至 Azure 監視器以外的其他儲存位置。 範例包括 Azure 儲存體、託管的合作夥伴系統以及使用事件中樞的非 Azure 合作夥伴系統

如需進一步了解 Azure 監視器如何儲存資料,請參閱 Azure 監視器資料平台

  • Azure 儲存體

    如果您使用 Azure 儲存體儲存診斷記錄資訊,此資訊會儲存在名為 insights-logs-operationlogsinsights-metrics-pt1m 的容器中。 作業記錄的範例 URL:https://<Azure Storage account>.blob.core.windows.net/insights-logs-operationallogs/resourceId=/SUBSCRIPTIONS/<Azure subscription ID>/RESOURCEGROUPS/<Resource group name>/PROVIDERS/MICROSOFT.EVENTHUB/NAMESPACES/<Namespace name>/y=<YEAR>/m=<MONTH-NUMBER>/d=<DAY-NUMBER>/h=<HOUR>/m=<MINUTE>/PT1H.json。 計量記錄的 URL 很類似。

  • Azure 事件中樞

    如果您使用 Azure 事件中樞儲存診斷記錄資訊,此資訊會儲存在名為 insights-logs-operationlogsinsights-metrics-pt1m 的事件中樞執行個體中。 除了要設定診斷設定的事件中樞外,您也可以選取現有的事件中樞。

  • Log Analytics

    如果您使用 Log Analytics 來儲存診斷記錄資訊,此資訊會儲存在名為 AzureDiagnostics/AzureMetrics 的資料表或資源專屬資料表中。

重要

啟用這些設定將需要額外的 Azure 服務:儲存體帳戶、事件中樞或 Log Analytics。 這些服務可能會增加您的成本。 若要計算預估成本,請造訪 Azure 定價計算機

注意

當您在診斷設定中啟用計量時,維度資訊目前不會包含在傳送至儲存體帳戶、事件中樞或記錄分析的資訊中。

Azure 監視器平台計量

Azure 監視器為大多數服務提供平台計量。 這些計量包括:

  • 針對每個命名空間個別定義。
  • 儲存在 Azure 監視器時間序列計量資料庫中。
  • 輕量且能支援近即時警示。
  • 用來追蹤資源效能的長期變化。

收集:Azure 監視器會自動收集平台計量。 不需要組態。

路由: 您也可以將某些平臺計量路由傳送至 Azure 監視器記錄/Log Analytics,以便使用其他記錄數據來查詢它們。 檢查每個計量的 DS 匯出 設定,以查看您是否可以使用診斷設定將計量路由傳送至 Azure 監視器記錄/Log Analytics。

如需 Azure 監視器中所有資源可收集的計量完整清單,請參閱 Azure 監視器中所支援的計量

在您建立診斷設定並將其路由至一個或多個位置之前,不會收集並儲存資源記錄。 在建立診斷設定時,您可以指定要收集的記錄類別。 Azure 事件中樞的類別會列在 Azure 事件中樞監視資料參考中。

注意

Azure 監視器不會在匯出的計量資料中包含維度,這會傳送至目的地,例如 Azure 儲存體、Azure 事件中樞,以及 Log Analytics。

如需事件中樞可用計量的清單,請參閱 Azure 事件中樞監視資料參考 (部分機器翻譯)。

分析計量

您可以從事件中樞命名空間首頁的 Azure 監視器區段中選取 [計量],分析 Azure 事件中樞的計量,以及來自其他 Azure 服務的計量。 如需使用此工具的詳細資料,請參閱使用 Azure 監視器計量總管分析計量。 如需可收集平台計量的清單,請參閱監視 Azure 事件中樞資料參考計量

螢幕擷取畫面:顯示事件中樞命名空間的計量瀏覽器。

如需參考,您可以查看 Azure 監視器中支援的所有資源計量清單。

提示

Azure 監視器計量資料會保留 90 天。 不過,在建立圖表時,只能將 30 天的資料視覺化。 例如,如果您想要將 90 天期間視覺化,您必須將 90 天期間分成三個 30 天的圖表。

篩選和分割

針對支援維度的計量,您可以套用維度值以進行篩選。 例如,新增篩選,並將 EntityName 設定為事件中樞的名稱。 您可以依維度來分割計量,以視覺化方式顯示計量的不同區段有何差異。 如需篩選和分割的詳細資訊,請參閱 Azure 監視器的進階功能

螢幕擷取畫面:顯示事件中樞命名空間具有篩選條件的計量瀏覽器。

Azure 監視器資源記錄

資源記錄提供對 Azure 資源所完成作業的深入解析。 系統會自動產生記錄,但您必須將其路由傳送至 Azure 監視器記錄,才能儲存或查詢這些記錄。 按類別組織記錄。 指定的命名空間可能會有多個資源記錄類別。

收集:您必須先建立「診斷設定」,並將記錄路由傳送至一個或多個位置,才會開始收集和儲存資源記錄。 在建立診斷設定時,您可以指定要收集的記錄類別。 有多種方式可以建立和維護診斷設定,包括透過 Azure 入口網站、程式設計方式,以及 Azure 原則。

路由傳送:建議的預設設定是將資源記錄路由傳送至 Azure 監視器記錄,以便與其他記錄資料一同查詢。 您也可以使用其他位置,例如 Azure 儲存體、Azure 事件中樞及特定 Microsoft 監視合作夥伴。 如需詳細資訊,請參閱 Azure 資源記錄 (機器翻譯) 和資源記錄目的地 (機器翻譯)。

如需收集、儲存及路由傳送資源記錄的詳細資訊,請參閱 Azure 監視器中的診斷設定 (機器翻譯)。

如需 Azure 監視器中所有可用資源記錄類別的清單,請參閱 Azure 監視器中支援的資源記錄 (機器翻譯)。

Azure 監視器中的所有資源記錄都有相同的標頭欄位,後面接著服務特定的欄位。 一般結構描述如 Azure 監視器資源記錄結構描述中所述。

如需可用的資源記錄類別、其相關聯的 Log Analytics 資料表,以及事件中樞的記錄結構描述,請參閱 Azure 事件中樞監視資料參考 (部分機器翻譯)。

分析記錄

使用 Azure 監視器 Log Analytics 時需要建立診斷組態,才能將資訊傳送至 Log Analytics。 如需詳細資訊,請參閱計量一節。 Azure 監視器記錄中的資料會儲存在資料表中,其中每個資料表都有一組專屬的唯一屬性。 Azure 事件中樞能夠將記錄分派至兩個目的地資料表之一:Azure 診斷或是 Log Analytics 中的資源特定資料表。 如需記錄和計量的詳細參考,請參閱 Azure 事件中樞監視資料參考

重要

當您從 [Azure 事件中樞] 功能表中選取 [記錄] 時,Log Analytics 會隨即開啟,並將查詢範圍設定為目前工作區。 這表示記錄查詢只會包含來自該資源的資料。 如果您想要執行包含其他資料庫資料或其他 Azure 服務資料的查詢,請從 [Azure 監視器] 功能表中選取 [記錄]。 如需詳細資訊,請參閱 Azure 監視器 Log Analytics 中的記錄查詢範圍和時間範圍

使用執行階段記錄

Azure 事件中樞可讓您使用執行階段稽核記錄和應用程式計量記錄,來監視和稽核用戶端應用程式的資料平面互動。

使用執行階段稽核記錄,您可以擷取所有資料平面存取作業的彙總診斷資訊,例如發佈或取用事件。 應用程式計量記錄會擷取特定執行階段計量上的彙總資料 (例如取用者延遲和作用中連線),這些計量與連線到事件中樞的用戶端應用程式相關。

注意

執行階段稽核記錄僅適用於 [進階] 與 [專用] 層。

啟用執行階段記錄

若要啟用執行階段稽核或應用程式計量記錄,您可以在 Azure 入口網站中的事件中樞命名空間頁面上,從 [監視] 區段中選取 [診斷設定]。 選取 [新增診斷設定],如下圖所示。

螢幕擷取畫面:顯示事件中樞命名空間的 [診斷設定] 頁面。

然後您可以視需要啟用記錄類別 RuntimeAuditLogsApplicationMetricsLogs

螢幕擷取畫面:顯示已啟用執行階段稽核和應用程式計量記錄。

啟用執行階段記錄之後,事件中樞會根據診斷設定組態開始收集並儲存。

發佈及取用範例資料

若要在事件中樞命名空間中收集範例執行階段稽核記錄,您可以使用以事件中樞 SDK (部分機器翻譯) 為基礎的用戶端應用程式來發佈及取用範例資料。 此 SDK 採用 OASIS 進階訊息佇列通訊協定 (AMQP)。 或者,您可以使用任何 Apache Kafka 用戶端應用程式

應用程式計量包含下列執行階段計量。

影像:顯示分析應用程式計量範例查詢的結果。

因此,您可以使用應用程式計量來監視執行階段計量,例如來自指定用戶端應用程式的取用者延遲或作用中連線。 與執行階段稽核記錄相關聯的欄位會在應用程式計量記錄參考 (部分機器翻譯) 中定義。

Azure 活動記錄 (部分機器翻譯)

活動記錄包含訂用帳戶層級事件,用於追蹤每個 Azure 資源外部可見的作業;例如,建立新的資源或啟動虛擬機器。

收集:活動記錄事件會自動產生並收集至個別存放區中,以便使用者在 Azure 入口網站中檢視。

路由:您可以將活動記錄資料傳送至 Azure 監視器記錄,以便與其他記錄資料一起分析。 您也可以使用其他位置,例如 Azure 儲存體、Azure 事件中樞及特定 Microsoft 監視合作夥伴。 如需路由傳送活動記錄的詳細資訊,請參閱 Azure 活動記錄概觀

分析監視資料

有許多工具可用來分析監視資料。

Azure 監視器工具

Azure 監視器支援下列基本工具:

支援更複雜視覺效果的工具包括:

  • 儀表板 (機器翻譯) 可讓您將不同類型的資料合併到 Azure 入口網站中的單一窗格。
  • 活頁簿 (機器翻譯) 是能在 Azure 入口網站中建立的可自訂報表。 活頁簿可以包含文字、計量及記錄查詢。
  • Grafana 是在操作儀表板中表現相當出色的開放平台工具。 您可以使用 Grafana 來建立儀表板,納入 Azure 監視器以外多個來源的資料。
  • Power BI (機器翻譯) 是一項商務分析服務,可提供跨各種資料來源的互動式視覺效果。 你可以將 Power BI 設定為自動從 Azure 監視器匯入記錄資料,以利用這些視覺效果。

Azure 監視器匯出工具

您可以使用下列方法將資料從 Azure 監視器中提取至其他工具:

若要開始使用適用於 Azure 監視器的 REST API,請參閱 Azure 監視 REST API 逐步解說 (機器翻譯)。

Kusto 查詢

您可以使用 Kusto 查詢語言 (KQL) 分析 Azure 監視器記錄/Log Analytics 存放區中的監視資料。

重要

當您從入口網站的服務功能表中選取 [記錄] 時,Log Analytics 會隨即開啟,並將查詢範圍設定為目前的服務。 此範圍表示記錄查詢只會包含該資源類型的資料。 如果您想要執行包含其他 Azure 服務資料的查詢,請從 [Azure 監視器] 功能表中選取 [記錄]。 如需詳細資訊,請參閱 Azure 監視器 Log Analytics 中的記錄查詢範圍和時間範圍

如需各項服務的常見查詢清單,請參閱 Log Analytics 查詢介面 (機器翻譯)。

範例 Kusto 查詢

以下是可用來協助您監視 Azure 事件中樞資源的範例查詢:

  • 取得過去七天的錯誤。

    AzureDiagnostics
    | where TimeGenerated > ago(7d)
    | where ResourceProvider =="MICROSOFT.EVENTHUB"
    | where Category == "OperationalLogs"
    | summarize count() by "EventName"
    
    
  • 取得過去一小時內產生的執行階段稽核記錄。

    AzureDiagnostics
    | where TimeGenerated > ago(1h)
    | where ResourceProvider =="MICROSOFT.EVENTHUB"
    | where Category == "RuntimeAuditLogs"    
    
  • 取得導致「找不到金鑰」錯誤的金鑰保存庫存取嘗試。

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.EVENTHUB" 
    | where Category == "Error" and OperationName == "wrapkey"
    | project Message
    
  • 取得使用金鑰保存庫執行以停用或還原金鑰的作業。

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.EVENTHUB"
    | where Category == "info" and OperationName == "disable" or OperationName == "restore"
    | project Message
    
  • 取得擷取失敗及其持續時間 (秒)。

    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.EVENTHUB"
    | where Category == "ArchiveLogs"
    | summarize count() by "failures", "durationInSeconds"    
    

分析執行階段稽核記錄

您可以使用下列範例查詢來分析收集的執行階段稽核記錄。

AzureDiagnostics
| where TimeGenerated > ago(1h)
| where ResourceProvider == "MICROSOFT.EVENTHUB"
| where Category == "RuntimeAuditLogs"

在執行查詢時,您應該能夠以下列格式取得對應的稽核記錄。

影像:顯示分析執行階段稽核記錄範例查詢的結果。

藉由分析這些記錄,您應該能夠稽核每個用戶端應用程式與事件中樞的互動方式。 與執行階段稽核記錄相關聯的每個欄位都會在執行階段稽核記錄參考 (部分機器翻譯) 中定義。

分析應用程式計量

您可以使用下列範例查詢來分析收集的應用程式計量記錄。

AzureDiagnostics
| where TimeGenerated > ago(1h)
| where Category == "ApplicationMetricsLogs"

警示

在監視資料中發現特定狀況時,Azure 監視器警示會主動通知您。 警示可讓您在客戶發現系統發生問題前,就先及早識別和解決問題。 如需詳細資訊,請參閱 Azure 監視器警示

Azure 資源的常見警示有許多來源。 如需 Azure 資源的常見警示範例,請參閱記錄警示查詢範例 (機器翻譯)。 Azure 監視器基準警示 (AMBA) 網站提供半自動化方法來實作重要的平台計量警示、儀表板和指導方針。 此網站適用於持續擴充的 Azure 服務子集,包括屬於 Azure 登陸區域 (ALZ) 的所有服務。

常見的警示結構描述會將 Azure 監視器警示通知的使用量標準化。 如需詳細資訊,請參閱一般警示結構描述 (機器翻譯)。

警示類型

您可以針對在 Azure 監視器資料平台中的任何計量或記錄資料來源發出警示。 警示有許多不同的類型,具體取決於您監視的服務以及所收集的監視資料。 不同類型的警示各有優缺點。 如需詳細資訊,請參閱選擇正確的監視警示類型 (機器翻譯)。

下列清單介紹可建立的 Azure 監視器警示類型:

  • 計量警示 (機器翻譯) 會定期評估資源計量。 這些計量可以是平台計量、自訂計量、Azure 監視器轉換成計量的記錄,或 Application Insights 計量。 計量警示還可以套用多個條件和動態閾值。
  • 記錄警示 (機器翻譯) 可讓使用者使用 Log Analytics 查詢,以預先定義的頻率評估資源記錄。
  • 活動記錄警示 (機器翻譯) 會在發生符合定義條件的新活動記錄事件時觸發。 資源健康狀態警示和服務健康情況警示是報告服務和資源健康狀態的活動記錄警示。

某些 Azure 服務也支援智慧偵測警示Prometheus 警示建議的警示規則

對於某些服務,若要進行大規模監控,您可以將同一計量警示規則套用至相同 Azure 區域中存在的多個同類型資源。 系統會針對每個受監視的資源傳送個別通知。 如需支援的 Azure 服務和雲端,請參閱使用一個警示規則監視多個資源 (機器翻譯)。

您可以從事件中樞命名空間首頁的 [Azure 監視器] 區段中選取 [警示],以存取 Azure 事件中樞的警示。 如需有關建立警示的詳細資訊,請參閱使用 Azure 監視器建立、檢視及管理計量警示

事件中樞警示規則

下表列出了事件中樞的一些建議警示規則。 這些警示只是範例。 您可以針對 Azure 事件中樞監視資料參考 (部分機器翻譯) 中列出的任何計量、記錄項目或活動記錄項目設定警示。

警示類型 Condition 描述
計量 CPU 當 CPU 使用率超過設定值時。
計量 可用的記憶體 當可用記憶體低於設定值時。
計量 擷取待辦項目 當擷取待辦項目高於特定值時。

Advisor 建議

對於一些服務,如果在資源作業期間發生重大狀況或有即將到來的變更,入口網站的服務 [概觀] 頁面上會顯示警示。 您可以在左側功能表中 [監視] 底下的 [Advisor 建議] 中找到警示的詳細資訊和建議的修正。 在正常作業期間,不會顯示 Advisor 建議。

如需 Azure Advisor 的詳細資訊,請參閱 Azure Advisor 概觀 (機器翻譯)。