共用方式為


Azure 監視器中的診斷設定

Azure 監視器中的診斷設定可讓您收集 資源記錄 ,並將 平台計量活動記錄 傳送至不同的目的地。 針對您要從中收集數據的每個資源,建立個別的診斷設定。 每個設定都會定義要收集的資源數據,以及要傳送該數據的目的地。 本文說明診斷設定的詳細數據,包括如何建立診斷設定,以及可用來傳送數據的目的地。

顯示活動記錄、資源記錄和平台計量集合的圖表。

下列影片逐步示範如何使用診斷設定來路由資源平台記錄。 自從錄製影片之後,已對診斷設定進行下列變更,但本文會討論這些主題。

Warning

如果您刪除或重新命名該資源,或跨資源群組或訂用帳戶移轉資源,請刪除資源的任何診斷設定。 如果未移除診斷設定,而且重新建立此資源,則已刪除資源的任何診斷設定都可以套用至新的診斷設定。 對於某些資源類型,這會恢復診斷設定中定義的資源日誌收集。

Sources

診斷設定可以從下表中的來源收集數據。 請參閱每個連結的文章,以了解該來源在每個目的地收集的數據及其格式的詳細資訊。

數據源 Description
平台計量 不需設定即可自動收集。 使用診斷設定,將平台量度傳送至其他 目的地
活動記錄檔 不需設定即可自動收集。 使用診斷設定,將活動記錄項目傳送至其他 目的地
資源日誌 預設不會收集。 建立診斷設定以收集資源記錄。

Destinations

診斷設定會將數據傳送至下表中的目的地。 為確保傳輸中的資料安全性,所有目的地端點都會設定為支援 TLS 1.2。

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

診斷設定所使用的任何目的地都必須存在,才能建立設定。 如果進行設定的使用者對兩個訂用帳戶擁有適當的 Azure 角色型存取控制,目的地就不一定要與資源傳送記錄位於相同的訂用帳戶。 使用 Azure Lighthouse 將目的地包含在另一個 Microsoft Entra 租用戶中。

Destination Description Requirements
Log Analytics 工作區 使用 日誌查詢活頁簿擷取資料。 使用 日誌警示 來主動警示資料。 如需不同 Azure 資源所使用的數據表,請參閱 Azure 監視器資源記錄參考 當第一個數據傳送至工作區時,Log Analytics 工作區中的任何數據表都會自動建立,因此只有工作區本身必須存在。
Azure 儲存體帳戶 儲存以進行稽核、靜態分析或備份。 記憶體可能比其他選項便宜,而且可以無限期地保留。 將數據傳送至不可變的記憶體,以防止其修改。 如設定並管理 Azure Blob 儲存體的不變性原則所述,設定儲存體帳戶的不可變原則。 如果資源是區域,記憶體帳戶必須位於與所監視資源相同的區域中。

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

Azure DNS 區域端點 (預覽) 和任何 進階記憶體帳戶 都不支援作為目的地。 支援任何 標準記憶體帳戶
Azure 事件中樞 將數據串流至外部系統,例如第三方 SIEM 和其他 Log Analytics 解決方案。 如果資源是區域,事件中樞必須位於與所監視資源相同的區域中。 您無法使用 壓縮的事件中樞 ,因為這需要訊息具有分割區索引鍵,而 Azure 監視器不包含該索引鍵。

啟用虛擬網路時,診斷設定無法存取事件中樞。 您必須在事件中樞啟用 [允許受信任的 Microsoft 服務 略過此防火牆] 設定,才能授與 Azure 監視器診斷設定服務存取您的事件中樞資源。

事件中樞命名空間的共用存取原則會定義串流機制擁有的許可權。 串流至事件中樞需要 ManageSendListen 許可權。 若要更新診斷設定以包含串流,您必須擁有 ListKey 該事件中樞授權規則的許可權。
Azure 監視器合作夥伴解決方案 您可以建置 Azure 監視器與其他非 Microsoft 監視平台之間的特製化整合。 解決方案會因合作夥伴而有所不同。 如需詳細資訊,請參閱 Azure 原生 ISV 服務檔

建立診斷設定

您可以使用下列任何方法建立診斷設定。

Note

若要建立活動記錄的診斷設定,請參閱 導出活動記錄

使用下列步驟在 Azure 入口網站中建立新的診斷設定或編輯現有的診斷設定。

  1. 在資源功能表的 [監視] 區段下選取 [診斷設定],或選取 [Azure 監視器] 功能表上的 [設定] 底下的 [診斷設定],然後選取資源。

  2. 選取 [新增診斷設定 ] 以新增設定或 [編輯] 設定 以編輯現有的設定。 如果您想要傳送至相同類型的多個目的地,您可能需要資源的多個診斷設定。 下列範例顯示金鑰保存庫資源的設定,但畫面與其他資源類似。

    顯示為現有設定新增診斷設定的螢幕快照。

  3. 如果您的設定還沒有描述性名稱,請提供該名稱。

    顯示診斷設定詳細數據的螢幕快照。

    Note

    不同類型的 Azure 資源的類別會有所不同。 此螢幕擷取畫面顯示 Key Vault 範例。 其他類型的資源將有一組不同的類別。

  4. 要路由的記錄和計量:針對記錄,請選擇 類別群組 ,或針對您想要傳送至稍後所指定目的地的每個數據類別選取個別複選框。 類別清單會因每個 Azure 服務而異。 選取 AllMetrics 如果您想要收集平台計量。

  5. 目的地詳細資料:選取診斷設定中應包含之每個目的地的核取方塊,然後提供每個目的地的詳細資料。 如果您選取 Log Analytics 工作區作為目的地,您可能需要指定收集模式。 如需詳細資訊,請參閱 收集模式

Warning

在 Azure 入口網站中建立或更新 Azure Storage 帳號或 Azure Event Hub 命名空間的診斷設定時,您可能無法選擇該帳號或命名空間本身作為資源日誌或度量資料的目標。 這是刻意設計的,因為有可能進入一種狀態,當資源日誌或指標從一個資源傳送到同一資源時,會產生無限循環產生和寫入資料。
此設計僅適用於 Azure 入口網站的使用者體驗層,若確實需要將資料寫入同一資源,且您願意承擔相關風險,您可以使用 Azure PowerShell、Azure CLI、REST API、ARM 範本或其他支援的 Microsoft SDK 來建立診斷設定。

類別群組

您可以使用 類別群組 ,根據預先定義的群組來收集資源記錄,而不是選取個別記錄類別。 Microsoft會定義群組,以協助監視常見的使用案例。 如果群組中的類別已更新,則會自動修改您的記錄集合。 並非所有 Azure 服務都使用類別群組。 如果類別群組不適用於特定資源,則建立診斷設定時將無法使用此選項。

如果您在診斷設定中使用類別群組,則無法選取個別類別類型。 目前有兩個類別群組:

  • allLogs:資源的所有類別。
  • audit:記錄客戶與資料或服務設定互動的所有資源記錄。 如果您選取 allLogs 類別群組,則不需要選取此類別群組。

Note

在 Azure SQL Database 的診斷設定中啟用稽核類別並不會啟用資料庫的稽核。 若要啟用資料庫稽核,您必須從 Azure 資料庫的稽核刀鋒視窗中加以啟用。

指標限制

並非所有計量都可以傳送至具有診斷設定的Log Analytics工作區。 請參閱支援指標清單中的 [可匯出] 欄。

診斷設定目前不支援多維度計量。 具有維度的計量指標會被匯出為簡化的單一維度計量指標,並在維度值上進行聚合。 例如,可以探索區塊鏈上的 IOReadBytes 計量,並將其依個別節點層級圖表化。 使用診斷設置進行匯出時,匯出的度量將顯示所有節點的所有讀取位元組。

若要解決特定計量的限制,您可以使用 計量 REST API 手動擷取它們,然後使用 記錄擷取 API 將其匯入 Log Analytics 工作區。

控制成本

診斷設定所收集的數據可能會產生成本。 成本取決於您選擇的目的地,以及收集的數據量。 如需詳細資訊,請參閱 Azure 監視器計量價格

只收集每個服務所需的類別。 您可能也不需要從 Azure 資源收集平台計量,因為您已在計量中收集此資料。 僅當您在工作區中需要計量資料以使用記錄查詢進行更複雜的分析時,才將診斷資料設定為收集計量。

診斷設定不允許在選取的類別內進行細微篩選。 您可以使用轉換來篩選 Log Analytics 工作區中支援資料表的數據。 如需詳細資訊 ,請參閱 Azure 監視器中的轉換

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

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

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

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

Application Insights

請考慮以下 Application Insights 應用的診斷設定:

  • 目的地不能是你 Application Insights 資源所依賴的同一個 Log Analytics 工作區。
  • Application Insights 使用者無法同時存取兩個工作區。 將日誌分析 存取控制模式 設為 「需要工作區權限」。 透過 Azure 角色基礎存取控制,確保使用者只能存取 Application Insights 資源所依據的日誌分析工作空間。

這些步驟是必要的,因為 Application Insights 能存取跨資源(包括 Log Analytics 工作區)的遙測數據,提供完整的端對端交易操作與精確的應用地圖。 由於診斷日誌使用相同的資料表名稱,若使用者能存取包含相同資料的多個資源,可能會顯示重複的遙測結果。

Troubleshooting

不支援計量類別
使用 Resource Manager 範本、REST API、Azure CLI 或 Azure PowerShell 時,您可能會收到類似於 計量類別 'xxxx' 不受支持 的錯誤訊息。 除了有限數量的 Azure 服務之外,不支援 AllMetrics 以外的計量類別。 移除除 AllMetrics 以外的任何計量類別名稱,並重複部署。

設定會因為 resourceID 中的非 ASCII 字元而消失
診斷設定不支援具有非 ASCII 字元的資源標識碼(例如 Preproduccón)。 由於您無法在 Azure 中重新命名資源,因此您必須建立沒有非 ASCII 字元的新資源。 如果字元位於資源群組中,您可以將資源移至新的群組。

非作用中資源
當資源處於非使用中狀態並匯出零值計量時,診斷設定匯出機制會逐步退避,以避免匯出和儲存零值的不必要成本。 此退讓可能會導致下一個非零值的導出延遲。 此行為僅適用於導出的計量,且不會影響以計量為基礎的警示或自動調整。

當資源處於非使用中狀態一小時,匯出機制會退避為 15 分鐘。 這表示要匯出的下一個非零值最多可能會延遲 15 分鐘。 在非使用狀態七天之後,達到兩個小時的最大退避時間。 一旦資源開始匯出非零值,匯出機制就會還原為 3 分鐘的原始匯出延遲。

後續步驟