Azure 監視器中的診斷設定

本文提供建立及設定診斷設定以將 Azure 平台計量、資源記錄和活動記錄傳送至不同目的地的詳細資料。

每個 Azure 資源都需要自己的診斷設定,其會定義下列準則:

  • 來源:要傳送至設定中所設定目的地的計量和記錄資料類型。 可用的類型會因資源類型而有所不同。
  • 目的地:要傳送至的一或多個目的地。

單一診斷設定可以定義每個目的地不超過一個。 如果您想要將資料傳送至一個以上的特定目的地類型 (例如,兩個不同的 Log Analytics 工作區),請建立多個設定。 每個資源最多可以有五個診斷設定。

警告

如果您需要刪除資源、重新命名或移動資源,或是跨資源群組或訂用帳戶移轉資源,請先刪除資源的診斷設定。 否則,如果您重新建立此資源,根據每個資源的資源設定,新的資源可能會隨附已刪除資源的診斷設定。 如果新的資源隨附這些診斷設定,則會繼續依照診斷設定中的定義收集資源記錄,並將適用的計量和記錄資料傳送至先前設定的目的地。

此外,對於您即將刪除且不打算再使用的資源,最好能刪除其診斷設定以確保環境乾淨。

下列影片逐步示範如何使用診斷設定來路由資源平台記錄。 影片是屬於較早期版本。 請注意下列變更:

  • 現在有四個目的地。 您可以將平台計量與記錄傳送給特定 Azure 監視器合作夥伴。
  • 2021 年 11 月所引進的新功能稱為類別群組。

本文包含這些新功能的相關資訊。

來源

診斷資訊有三個來源:

  • 根據預設,平台計量會自動傳送至 Azure 監視器計量,而不需要設定。
  • 平台記錄提供相依於 Azure 資源和 Azure 平台的詳細診斷和稽核資訊。
    • 資源記錄路由至目的地之前,不會收集資源記錄。
    • 活動記錄提供來自資源外部的資源資訊,例如建立或刪除資源的時間。 項目獨立存在,但可以路由至其他位置。

計量

AllMetrics 設定會將資源的平台計量路由至其他目的地。 此選項可能不存在於所有資源提供者。

資源記錄

有了資源記錄,您可以選取想要個別路由的記錄類別,或選擇類別群組。

類別群組

注意

類別群組不適用於所有計量資源提供者。 如果提供者在 Azure 入口網站的診斷設定中未提供類別群組,則也無法透過 Azure Resource Manager 範本取得類別群組。

您可以使用類別群組來根據預先定義的群組動態收集資源記錄,而無須選取個別記錄類別。 Microsoft 會定義群組,以協助監視所有 Azure 服務的特定使用案例。 經過一段時間後,群組中的類別可能會隨著新記錄推出或評定變更而更新。 從類別群組新增或移除記錄類別時,會自動修改記錄集合,而無須更新診斷設定。

當您使用類別群組時,您會:

  • 無法再根據個別類別類型個別選取資源記錄。
  • 無法再將保留設定套用至傳送至 Azure 儲存體的記錄。

目前有兩個類別群組:

  • 全部 - 資源所提供的每個資源記錄。
  • 稽核 - 記錄客戶與資料或服務設定互動的所有資源記錄。 稽核記錄代表每個資源提供者嘗試提供最相關的稽核資料,但依您的使用案例而定,從稽核標準觀點來看可能並不夠。 如上所述,收集的內容是動態的,隨著新資源記錄類別的推出,Microsoft 可能會在一段時間後變更收集的內容。

「稽核」類別群組是「全部」類別群組的子集,但 Azure 入口網站和 REST API 會將這些群組視為個別的設定。 選取「全部」類別群組會收集所有稽核記錄,即使同時選取「稽核」類別群組也一樣。

下圖顯示 [新增診斷設定] 頁面上的記錄類別群組。

A screenshot showing the logs category groups.

注意

啟用 Azure SQL Database 的「稽核」不會啟用 Azure SQL Database 的稽核功能。 若要啟用資料庫稽核,您必須從 Azure 資料庫的稽核刀鋒視窗啟用稽核。

活動記錄檔

請參閱活動記錄設定一節。

目的地

平台記錄和計量可以傳送至下表中列出的目的地。

為確保傳輸中的資料安全性,所有目的地端點都會設定為支援 TLS 1.2。

Destination 描述
Log Analytics 工作區 計量會轉換成記錄表單。 此選項可能不適用於所有資源類型。 將記錄與計量傳送至 Azure 監視器記錄存放區 (可透過 Log Analytics 搜尋) 協助您將其整合到查詢、警示,以及具有現有記錄資料的視覺效果。
Azure 儲存體帳戶 將記錄和計量封存至儲存體帳戶,有助於稽核、靜態分析或備份。 相較於使用 Azure 監視器記錄或 Log Analytics 工作區,儲存體的成本較低,而且可以無限期在此保存記錄。
Azure 事件中樞 將記錄和計量傳送至事件中樞時,您可以將資料串流至外部系統,例如協力廠商 SIEM 和其他 Log Analytics 解決方案。
Azure 監視器合作夥伴解決方案 您可以建置 Azure 監視器與其他非 Microsoft 監視平台之間的特製化整合。 當已使用其中一個合作夥伴,此整合會非常實用。

活動記錄設定

活動記錄會使用診斷設定,但有自己的使用者介面,因為其會套用至整個訂用帳戶,而非個別資源。 此處所列的目的地資訊仍適用。 如需詳細資訊,請參閱 Azure 活動記錄

需求和限制

本節探討需求和限制。

遙測到達目的地所需的時間

設定好診斷設定之後,資料應該會在 90 分鐘內開始流向所選目的地。 將記錄傳送至 Log Analytics 工作區時,如果資料表不存在,就會自動建立資料表。 資料表只會在第一次收到記錄時建立。 如果您在 24 小時內未收到任何資訊,則您可能遇到下列其中一個問題:

  • 未產生任何記錄。
  • 基礎路由機制發生錯誤。

如果您遇到問題,您可以嘗試停用設定,然後重新啟用設定。 若您繼續遇到問題,請透過 Azure 入口網站連絡 Azure 支援。

計量作為來源

匯出計量有某些限制:

  • 目前不支援透過診斷設定傳送多維度計量。 跨維度值所彙總的維度計量會匯出為扁平化單一維度計量。 例如,可以探索區塊鏈上的 IOReadBytes 計量,並將其依個別節點層級圖表化。 然而,透過診斷設定匯出時,匯出的計量會顯示所有節點的所有讀取位元組。
  • 並非所有計量都可以使用診斷設定匯出。 由於內部限制,並非所有計量都可以匯出至 Azure 監視器記錄或 Log Analytics。 如需詳細資訊,請參閱支援計量清單中的可匯出資料行。

若要解決特定計量的限制,您可以使用 Metrics REST API 手動擷取這些限制。 接著,您可以使用 Azure 監視器資料收集器 API 將這些限制匯入至 Azure 監視器記錄。

目的地限制

建立診斷設定之前,必須先建立診斷設定的目的地。 如果進行設定的使用者對兩個訂用帳戶擁有適當的 Azure 角色型存取控制,目的地就不一定要與資源傳送記錄位於相同的訂用帳戶。 使用 Azure Lighthouse 也可以將診斷設定傳送至另一個 Microsoft Entra 租用戶的工作區、儲存體帳戶或事件中樞。

下列資料表提供每個目的地的唯一需求,包括任何區域限制。

Destination 需求
Log Analytics 工作區 工作區不必位於與受監視資源相同的區域中。
儲存體帳戶 請勿使用有其他非監視資料儲存在其中的現有儲存體帳戶。 分割資料類型可以讓您更妥善地控制資料的存取。 若要將活動記錄與資源記錄封存在一起,可以選擇使用相同的儲存體帳戶,將所有監視資料保留在中央位置。

若要防止修改資料,請將資料傳送至不可變儲存體。 如設定並管理 Azure Blob 儲存體的不變性原則所述,設定儲存體帳戶的不可變原則。 您必須遵循此連結文章中所有的步驟,包括啟用受保護的附加 Blob 寫入。

若是區域資源,則儲存體帳戶必須位於與受監視資源相同的區域中。

啟用虛擬網路時,診斷設定無法存取儲存體帳戶。 您必須啟用 [允許受信任的 Microsoft 服務] 以略過儲存體帳戶的此防火牆設定,讓 Azure 監視器診斷設定服務獲授儲存體帳戶的的存取權。

不支援以 Azure DNS 區域端點 (預覽)Azure 進階 LRS (本地備援儲存體) 儲存體帳戶作為記錄或計量目的地。
事件中樞 命名空間的共用存取原則會定義串流機制的權限。 串流處理至事件中樞需要「管理」、「傳送」及「接聽」權限。 若要更新診斷設定以包括串流,您必須擁有事件中樞授權規則的 ListKey 權限。

若是區域資源,則事件中樞命名空間必須位於與受監視資源相同的區域中。

啟用虛擬網路時,診斷設定無法存取事件中樞資源。 您必須在事件中樞啟用 [允許受信任的 Microsoft 服務] 以略過事件中樞的此防火牆設定,讓 Azure 監視器診斷設定服務獲授事件中樞資源的存取權。
合作夥伴解決方案 解決方案會因合作夥伴而有所不同。 如需詳細資訊,請參閱 Azure 原生 ISV 服務文件

警告

若想將診斷記錄儲存在 Log Analytics 工作區,為避免 Application Insights 中出現重複資料,請注意下列兩點:

  • 目的地不能與 Application Insights 資源當作基礎的 Log Analytics 工作區相同。
  • Application Insights 使用者不能同時存取兩個工作區。 將 Log Analytics 存取控制模式設定為 [需要工作區權限]。 透過 Azure 角色型存取控制,確保使用者只能存取 Application Insights 資源作為基礎的 Log Analytics 工作區。

請務必採取這些步驟,因為 Application Insights 為了提供完整的端對端交易作業和精確的應用程式對應,會跨 Application Insight 資源 (包括 Log Analytics 工作區) 存取遙測資料。 由於診斷記錄都使用相同的資料表名稱,因此一旦使用者能夠存取包含相同資料的多個資源,系統就可能會顯示重複的遙測資料。

控制成本

在 Log Analytics 工作區中收集資料會產生成本,因此請只收集每個服務所需的類別。 服務之間的資源記錄資料量差異很大。

您可能也不需要從 Azure 資源收集平台計量,因為您已在計量中收集此資料。 僅當您在工作區中需要計量資料以使用記錄查詢進行更複雜的分析時,才將診斷資料設定為收集計量。 診斷設定不允許細微篩選資源記錄。

提示

如需降低 Azure 監視器成本的策略,請參閱成本最佳化和 Azure 監視器

下一步