问题描述
当使用微软云服务(Cloud Service Extended Support)时,遇见一些服务异常,而这些异常在应用的日志中并没有记录,如果深入的分析原因,需要如何收集日志呢?
问题解答
云服务(Cloud Service) 作为最早提供的一个平台及服务的Azure Service,它还是基于传统的虚拟机作为主机的模式来实现,所以当时并没有把虚拟机中的日志输出到外部存储中,如Log A, Storage Account。
所以,当需要查看云服务日志时,需要通过Remote Desktop 远程登录到虚拟机实例。
然后查看IIS日志,Windows Event日志,WindowsAzureGuestAgent等云服务组件日志,这些日志的路径如下:
WindowsAzureGuestAgent
- C:\Logs\AppAgentRuntime.Log. 此日志包含对服务的更改,包括启动、停止和新配置。如果服务没有更改,则可能会在此日志文件中看到较大的时间间隔。
- C:\Logs\WaAppAgent.Log. 此日志包含状态更新和检测信号通知,每 2-3 秒更新一次。此日志包含实例状态的历史视图,并告知您实例何时未处于 Ready 状态。
WaIISHost
C:\Resources\Directory\<deploymentID>.<role>.DiagnosticStore\WaIISHost.log
IISConfigurator
C:\Resources\Directory\<deploymentID>.<role>.DiagnosticStore\
IISConfigurator.log
IIS logs
C:\Resources\Directory\<guid>.<role>.DiagnosticStore\LogFiles\Web\<Machine Name>
Windows Event logs
D:\Windows\System32\Winevt\Logs
此外,如果需要把日志全部打包,并复制到本地进行深入分析,可以通过Cloud Service的小工具来完成。
步骤如下:
1)进入D:\Packages\GuestAgent文件夹中,执行 CollectGuestLogs.exe, 它会打包当前实例中的全部日志。
此外,如果发现日志没有记录,这可以通过“File Server Resource Manager”工具来查看当前是否存在Quotas不足的问题。
步骤如下:
1) 在VM中搜索“File Server Resource Manager”,打开 File Server Resource Manager工具,查看 %Used的值
注意:如果显示100%则表示日志已满,需要考虑删除旧日志腾出空间。
参考文档
Cloud Service Log File locations :https://learn.microsoft.com/en-us/previous-versions/azure/cloud-services/cloud-services-workflow-process#log-file-locations
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!