使用儲存體資源記錄進行疑難排解
Azure 儲存體資源記錄會擷取在您儲存體帳戶中執行的每項作業,以及這些作業的結果。 這些記錄會提供每個所提出要求的詳細資料,而不是提供計量所顯示作業的每分鐘摘要。 使用記錄資訊,您可以檢查對記憶體帳戶提出的要求本質,並判斷這些要求是否成功。
在本單元中,您將了解 Azure 監視器中的 Azure 儲存體資源記錄。 您將了解在記錄中擷取了哪些不同類型的資訊,以及如何使用這項資訊來偵測應用程式使用 Azure 儲存體時可能發生的問題。
Azure 監視器中的資源記錄
有時候除了效能的相關計量之外,您也想要看看儲存體交易的詳細資訊。 計量適用於追蹤效能或需求的整體趨勢,但監視交易計量無法揭露要求的 URL。 此外,所有可用的儲存體計量皆無法提供特定要求相關的錯誤訊息。
Azure 監視器中的資源記錄會擷取這類詳細資訊,而且有助於檢查特定要求背後的詳細數據。 例如,如果您想要知道特定資源的要求數目已驗證或匿名,或成功或失敗,您可以使用這些記錄。
若要收集資源記錄,您必須建立診斷設定。 資源記錄會列出記憶體帳戶的成功和失敗要求。 舉凡對下列特定儲存體服務的讀取、寫入或刪除作業,都會記錄為要求:Azure Blob 儲存體、表格儲存體或佇列佇列儲存體。 藉由使用診斷設定,您可以將記錄路由傳送至Log Analytics、記憶體帳戶,或將它們串流至事件中樞或合作夥伴解決方案。
您可以使用資源記錄來檢閱要求的不同類型和頻率,或對失敗的要求進行疑難排解。 只有在交易發生時,才會產生記錄,而且只有特定的服務端點,才會產生記錄。 因此,如果您在 Blob 儲存體 和佇列 儲存體 端點中使用記憶體,但只有 Blob 儲存體 端點具有要求或交易,則系統只會針對 Blob 儲存體 建立記錄。
當您啟用記錄時,將會記錄下列幾種類型的要求:
- 已驗證的要求
- 匿名的要求
- 成功的要求
- 失敗的要求,如逾時、節流、網路錯誤和授權錯誤
- 伺服器錯誤
- 使用共用之存取簽章的要求,包括失敗的要求和成功的要求
- 用戶端與伺服器的逾時錯誤
- 分析資料的要求
- 錯誤碼為 304 的 GET 要求 (「未經修改」)
Azure 監視器中的資源記錄儲存體
系統會自動為您的記憶體帳戶產生資源記錄,但除非您將記錄傳送至目的地,否則這些記錄無法檢視。 您可以使用診斷設定來指定要傳送它們的位置。
當您建立診斷設定時,您可以選擇想要路由記錄的記憶體類型(例如:Blob 儲存體 或檔案 儲存體)。 然後,您將選擇要出現在記錄中的作業類型(例如:讀取、寫入或刪除作業)。 最後,您會選擇要傳送記錄的目的地位置。 您可以將記錄傳送至下列任何位置:
Log Analytics
儲存體帳戶
事件中樞
合作夥伴解決方案
您可以使用 Azure 監視器記錄查詢來存取傳送至 Log Analytics 工作區的記錄。
如果您將記錄路由傳送至儲存體帳戶,這些記錄會顯示為儲存至容器的 Blob。 資料會收集並儲存在單一 Blob 中,做為以行分隔的 JSON 承載。 Blob 的名稱會遵循此命名慣例:
https://<destination-storage-account>.blob.core.windows.net/insights-logs-<storage-operation>/resourceId=/subscriptions/<subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Storage/storageAccounts/<source-storage-account>/blobServices/default/y=<year>/m=<month>/d=<day>/h=<hour>/m=<minute>/PT1H.json
傳送至事件中樞的記錄不會儲存為檔案,但您可以在 Azure 入口網站 中開啟事件中樞並檢查傳入訊息計數,以確認事件中樞已收到記錄資訊。
您也可以將平台計量和記錄傳送給特定 Azure 監視器合作夥伴。 您必須先將合作夥伴整合安裝到訂閱中。 組態選項會因合作夥伴而異。
您無法設定記錄資料的保留原則。 如果您將記錄傳送至 Log Analytics,您可以在工作區層級管理資料保留期間,或甚至依資料類型指定不同的保留設定。 如果您將記錄封存到記憶體帳戶,您可以定義生命週期管理原則來管理記錄容器的保留原則。