需要對 Azure 虛擬機進行故障排除時,可以使用Microsoft 提供的Azure 診斷。 診斷可以在運行虛擬機實例上捕獲系統數據和日誌記錄數據。 診斷數據傳輸到所選的存儲帳戶。
本文將介紹如何在Azure 虛擬機上設置診斷、如何選擇要收集的診斷信息的類型,以及如何在收集信息後查看這些信息。
1.登錄Azure 門戶
2.在左側導航欄中點擊虛擬機
3.選擇需要設置診斷的虛擬機,然後點擊監視中的診斷設置,點擊啓用來賓級別監視
在通知中可以查看啓用情況
啓用之後在診斷設置中可以看到默認的一些診斷設置,也可以根據實際需要進行修改。
在診斷設置中,---代理點擊存儲賬戶以便到存儲賬戶中查看相關日誌,如下圖
在表查看器中打開診斷表,並查看所收集的數據。 對於 IIS 日誌和自定義日誌,可以打開 Blob 容器。 下表列出的表或 Blob 容器包含不同日誌文件的數據。 除了該日誌文件的數據,表條目還包含 EventTickCount、DeploymentId、Role 和 RoleInstance,有助於確定數據由哪個虛擬機和角色生成,以及生成的時間。
診斷數據 | 說明 | 位置 |
應用程序日誌 | 代碼通過調用 System.Diagnostics.Trace 類的方法而生成的日誌。 | WADLogsTable |
事件日誌 | 虛擬機上 Windows 事件日誌中的數據。 Windows 在這些日誌中存儲信息,但應用程序和服務也使用這些日誌來報告錯誤或記錄信息。 | WADWindowsEventLogsTable |
性能計數器 | 可以對虛擬機上可用的任何性能計數器來收集數據。 操作系統×××能計數器,其中包含多種統計數據,例如內存使用率和處理器時間。 | WADPerformanceCountersTable |
基礎結構日誌 | 從診斷基礎結構自身生成的日誌。 | WADDiagnosticInfrastructureLogsTable |
IIS 日誌 | 記錄 Web 請求的日誌。 如果雲服務獲取了大量的流量,這些日誌可能很長。 最好是隻在需要時才收集和存儲此類數據。 | 在 Blob 容器中,相應部署、角色和實例路徑的 wad-iis-failedreqlogs 下,可以找到失敗請求的日誌。 在 wad-iis-logfiles 下可以找到完整日誌。各文件的條目記錄在 WADDirectories 表中。 |
故障轉儲 | 提供雲服務進程(通常爲輔助角色)的二進制映像。 | wad-crush-dumps Blob 容器 |
自定義日誌文件 | 預定義的數據日誌。 | 可以通過代碼指定自定義日誌文件在存儲帳戶中的位置。 例如,可以指定自定義 Blob 容器。 |