我如何知道我的Azure角色实例VM是否已重新启动?

我如何知道我的Azure角色实例VM是否已重新启动?,azure,azure-web-roles,Azure,Azure Web Roles,我有一个Azure web角色。有时,由于异常或操作系统更新,它会被回收。这将包括或不包括VM重启。我想知道VM是重新启动的,还是只是主机进程重新启动了 如何找到最简单的方法?一旦启用RDP访问并登录到Azure虚拟机,您可以通过几种方法找到它。此外,在给定的情况下,VM回收和角色回收可能是两个独立的事件,角色回收可能不需要VM回收 如果您的角色主机进程(即WAISHOST.exe)存在任何异常,则事件日志中将包含有关此异常的条目,并且角色将重新启动(或保持重新启动,具体取决于异常)。如果VM由

我有一个Azure web角色。有时,由于异常或操作系统更新,它会被回收。这将包括或不包括VM重启。我想知道VM是重新启动的,还是只是主机进程重新启动了


如何找到最简单的方法?

一旦启用RDP访问并登录到Azure虚拟机,您可以通过几种方法找到它。此外,在给定的情况下,VM回收和角色回收可能是两个独立的事件,角色回收可能不需要VM回收

如果您的角色主机进程(即WAISHOST.exe)存在任何异常,则事件日志中将包含有关此异常的条目,并且角色将重新启动(或保持重新启动,具体取决于异常)。如果VM由于计划内或计划外更新而重新启动,则角色主机进程将优雅地关闭,并且不会记录有关角色主机进程的任何异常

此外,如果您检查角色主机进程启动时间(使用ProcessExplorer)并检查系统正常运行时间以查看差异,则应该有明显的时间差异来解释角色何时重新启动以及VM何时开始运行

最后,如果您查看位于C:\log文件夹的最新waappagent.log(检查日期/时间以选择最新版本),并搜索基于角色部署的状态,该状态将显示在角色状态更改时是否存在特定于崩溃的日志。你可能需要洗牌很多很多,以找出它。这是另一种挖掘特定于代理的日志的粗略方法,以确定是否存在导致问题的角色主机进程问题

在任何机器(VM、RDP等)上,您都可以执行命令提示符

net statistics server | more

这将返回机器的统计信息,并有一个时间戳(自统计信息),可以作为机器上次打开时的时间戳。

使用WMI刮取事件日志,以便在上次检查后关机/重新启动?太好了,
GetTickCount64()
就是这样做的方法。