匯出 (0) 列印
全部展開
10 人當中有 5 人評分為有幫助- 為這個主題評分

Windows Azure 中的診斷和偵錯

更新日期: 2014年1月

作者:Trace Young

針對 Windows Azure 主機和 Windows Azure 應用程式所執行的偵錯和診斷通常是先收集診斷資料,然後再針對收集的資料執行分析。本主題所提供的資訊將描述如何收集和分析 Windows Azure 主機執行個體和 Windows Azure 應用程式的診斷與偵錯資訊。

收集診斷和偵錯資料

針對 Windows Azure 應用程式或主機所執行的大多數偵錯和診斷工作主要取決於 Windows Azure 診斷所收集的診斷資料。因此,除了在 Windows Azure 計算模擬器中執行 Windows Azure 應用程式時,可在本機執行的偵錯以外,大部分 Windows Azure 應用程式的偵錯和診斷不會即時進行。

Windows Azure 診斷會記錄各種資料來源的診斷資料。初始化 Windows Azure 診斷監視器時,預設會記錄特定資料來源。Windows Azure 診斷也可以設定為記錄其他資料來源的資料。如需有關如何初始化 Windows Azure 診斷監視器以及將診斷監視器設定為傳輸診斷資料至儲存體的詳細資訊,請參閱<如何初始化 Windows Azure 診斷監視器>。

Windows Azure 診斷的預設資料來源

Windows Azure 診斷預設會記錄下列來源的資料:

  • Windows Azure 記錄 - 當您使用適當的追蹤接聽程式來設定 Windows Azure 應用程式,並且在應用程式的 app.config 或 web.config 檔案中加入 Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener 做為接聽程式時,Windows Azure 記錄就會包含追蹤事件中的應用程式特有診斷資訊。

  • IIS 記錄 - 提供 IIS 處理序所處理之 IIS 要求的記錄。

    note附註
    IIS 記錄不適用於背景工作角色,因為背景工作角色並非使用 IIS 來設定。

  • Windows Azure 診斷基礎結構記錄 - 提供 Windows Azure 特有的診斷資料,例如 Windows Azure 應用程式部署錯誤。

Windows Azure 診斷的非預設資料來源

Windows Azure 診斷可設定為記錄下列資料來源的資料,但是預設不會記錄這些資料來源:

  • IIS 失敗要求記錄 - 收集 IIS 失敗要求記錄的資料需要在 Web 角色的組態檔中定義 Tracing 項目。如需有關如何設定 Windows Azure 診斷以收集 IIS 失敗要求記錄的詳細資訊,請參閱<如何收集 IIS 7.0 失敗要求追蹤記錄檔的資料>。

  • Windows 事件記錄 - 使用 Windows Azure 診斷收集 Windows 事件記錄不僅有利於擷取預設的 Windows 事件記錄項目,而且還可檢視 Windows Azure 應用程式寫入 Windows 事件記錄的應用程式追蹤資訊。如需有關如何使用 Windows Azure 診斷來記錄 Windows 事件記錄資料的詳細資訊,請參閱<在 Windows Azure 中收集事件記錄>。

  • 效能計數器 - Windows Azure 診斷可設定為記錄效能計數器資料,包括自訂效能計數器的資料。如需有關如何設定 Windows Azure 診斷以收集效能計數器資料的詳細資訊,請參閱<如何收集效能計數器的資料>。如需有關如何使用效能計數器來檢測 Windows Azure 應用程式程式碼的詳細資訊,請參閱<使用效能計數器檢測您的 Azure 應用程式>。

  • 損毀傾印 - 損毀傾印包含因故失敗或當機之應用程式或角色執行個體的實體記憶體複本。Windows Azure 診斷可設定為擷取角色執行個體的實體記憶體,而且 ADPlus 可用來擷取 Windows Azure 應用程式的損毀傾印。

    如需有關如何設定 Windows Azure 診斷以擷取角色執行個體之損毀傾印的詳細資訊,請參閱<如何收集損毀傾印的資料>。

    如需有關如何使用 ADPlus 來擷取 Windows Azure 應用程式之損毀傾印的詳細資訊,請參閱<使用 ADPlus 在 Windows Azure 上進行進階偵錯>。

    您可以將損毀傾印從 Windows Azure 儲存體複製到已安裝偵錯工具的本機電腦。偵錯工具 (例如 Windbg) 可以附加至用於偵錯和分析的損毀傾印。如需有關偵錯工具的詳細資訊,請參閱<Microsoft 偵錯工具>。

  • 自訂錯誤記錄 - 自訂錯誤記錄會擷取任何指定資料夾中的任何檔案。指定的資料夾必須設定為部署的本機儲存體。雖然自訂錯誤記錄會上傳至 Blob 儲存體,但是在記錄自訂錯誤時,您必須提供容器名稱。如需有關如何使用 Windows Azure 診斷來實作自訂錯誤記錄的詳細資訊,請參閱<Windows Azure 中的自訂診斷>部落格文章。

確定診斷資料會傳輸至 Windows Azure 儲存體

Windows Azure 診斷會將記錄的資料緩衝處理至本機儲存體資源,並且定期將本機儲存體資源的資料傳輸至 Windows Azure 儲存體。將記錄資料從本機儲存體傳輸至 Windows Azure 儲存體的頻率是由 DiagnosticDataBufferConfiguration.ScheduledTransferPeriod 屬性定義的。您可以針對此屬性設定的最小間隔為 60 秒。為了確保記錄的資料會從本機儲存體傳輸至 Windows Azure 儲存體,請勿針對 DiagnosticDataBufferConfiguration.ScheduledTransferPeriod 屬性指定過大的間隔,尤其是在角色執行個體或 Windows Azure 應用程式不太穩定的情況下。如需有關在 Windows Azure 儲存體中儲存和檢視診斷資料的詳細資訊,請參閱<在 Windows Azure 儲存體中儲存診斷資料及進行檢視的概觀>。如需有關設定本機儲存體的詳細資訊,請參閱<如何設定本機儲存體資源>。

Windows Azure 診斷資源

下列資源會提供使用 Windows Azure 診斷的相關資訊。

  • 使用 Windows Azure 診斷程式收集記錄資料 - 提供許多主題的連結,這些主題描述了使用 Windows Azure 診斷收集記錄資料時的考量事項。

  • Windows Azure 診斷的概觀 - 提供 Windows Azure 診斷的概觀,包括:

    • 使用 Windows Azure 診斷的重要考量

    • 如何設定 Windows Azure 診斷

    • 追蹤 Windows Azure 應用程式的流程

    • 在 Windows Azure 應用程式中建立和使用效能計數器

    • 在 Windows Azure 儲存體中儲存和檢視診斷資料

    • 管理 Windows Azure 診斷的組態

  • HOW TO:在 Windows Azure 儲存體中儲存診斷資料及進行檢視 - 提供在 Windows Azure 儲存體或 Windows Azure 儲存體模擬器中儲存和檢視診斷資料的相關資訊。

  • 使用診斷監視器 - 程式碼範例的逐步解說,並說明下列作業:

    • 如何啟動診斷監視器

    • 為診斷監視器提供資料來源

    • 針對一個或多個角色執行個體,在執行階段變更角色的診斷組態

    • 使用 Azure 管理入口網站,從遠端變更角色的診斷組態

  • 調查 Windows Azure 診斷問題的一般步驟 - 提供可在 Windows Azure 診斷並未如預期般運作時方便遵循的步驟。

  • 針對張貼至 MSDN 上 Windows Azure 論壇的診斷相關問題執行客戶查詢 - 請修改下列 URL 中內嵌的第二個參數 (diagnostics) 以傳回變化內容:

    http://social.msdn.microsoft.com/Search/zh-tw/windowsazuresamples?query=%22Marked%20As%20Answer%22%20%22diagnostics%22&refinement=138&beta=0&ac=8

    MSDN 論壇通常會提供尚未在官方文件集、部落格文章或其他來源中發佈的最新資訊。

    note附註
    請檢查此查詢所傳回之任何文章的日期,確定主題內容與您所使用的 SDK 版本有關。

讀取診斷和偵錯資料

除非擷取的診斷資料可供讀取和分析,否則這項資料顯然無用。目前有許多專門用來讀取 Windows Azure 診斷資料的工具,也有其他一般用途的工具可以讀取和分析 Windows Azure 診斷資料。本節將描述其中許多工具。

Windows Azure 平台工具網頁之部署和儲存區段上所列的下列工具是專門設計來部署和儲存 Windows Azure 應用程式:

  • Windows Azure 平台管理工具 (MMC) - 可讓您管理 Windows Azure 託管服務和儲存體帳戶。此工具所包含的診斷模組可將記錄的資料匯出至 Microsoft Excel 以進行分析。

  • Azure 儲存體總管 - 用於檢查和更改 Windows Azure 儲存體專案中之資料的 GUI 工具,包括雲端裝載應用程式的記錄。

  • DotNetNuke Azure Accelerator - 可讓您建立新的 DotNetNuke 主機執行個體 (從內部部署到雲端),並且使用精靈來引導您完成此程序。

  • DeployToAzure - 在不使用 PowerShell 或 Azure 管理指令程式的情況下,允許自動部署 Windows Azure 專案並且讓它成為 TFS 2010 建置程序的一部分。

除了上述工具之外,下列工具對於讀取和分析 Windows Azure 診斷資料很有用:

  • Windows Azure PowerShell 指令程式 - 可讓您直接從 PowerShell 瀏覽、設定和管理 Windows Azure 計算和儲存體服務。並且提供可搭配診斷使用的指令程式,包括 Get-DiagnosticAwareRolesGet-DiagnosticAwareRoleInstancesGet-DiagnosticConfiguration

  • Microsoft PowerPivot - 可用來針對記錄的 Windows Azure 診斷資料執行分析的強大工具。

偵錯 Windows Azure 應用程式的資源

下列資源會提供偵錯 Windows Azure 應用程式的相關資訊:

  1. 偵錯和疑難排解 Windows Azure 應用程式 - 描述一些 Windows Azure 技術平台應用程式專用的技巧,協助您在建置、部署和執行 Windows Azure 應用程式時偵測並解決問題。

  2. 偵錯 Windows Azure - VM 上的資源 - 描述存在 VM 上而且可用於偵錯 Windows Azure 應用程式的資源。

  3. 偵錯 Windows Azure - 將工具帶入 VM,第 1 部分 - 描述各種將偵錯工具複製到 Windows Azure VM 的方法。

  4. 使用 Visual Studio 偵錯 - 描述可用於偵錯在 Windows Azure 計算模擬器中執行之 Windows Azure 應用程式的方法。

  5. 針對張貼至 MSDN 上 Windows Azure 論壇的偵錯相關問題執行客戶查詢 - 請修改下列 URL 中內嵌的第二個參數 (debug) 以傳回變化內容:

    http://social.msdn.microsoft.com/Search/zh-tw/windowsazuresamples?query=%22Marked%20As%20Answer%22%20%22debug%22&refinement=138&beta=0&ac=8

    MSDN 論壇通常會提供尚未在官方文件集、部落格文章或其他來源中發佈的最新資訊。

    note附註
    請檢查此查詢所傳回之任何文章的日期,確定主題內容與您所使用的 SDK 版本有關。

本文對您有任何幫助嗎?
(剩餘 1500 個字元)
感謝您提供意見

社群新增項目

新增
顯示:
© 2014 Microsoft. 著作權所有,並保留一切權利。