我收到了来自 Azure 的一些电子邮件通知,其中包含以下内容:
Activity log alert Alert [Server Name] Health Status
Properties {
"title":"Reboot initiated from inside the machine",
"details":"A reboot was triggered from inside the virtual machine. This could be due to a virtual machine operating system failure or as requested by an authorized user or process. The virtual machine will be back online after the reboot completes.",
"currentHealthStatus":"Unavailable",
"previousHealthStatus":"Unavailable",
"type":"Downtime",
"cause":"UserInitiated" }
这肯定不是“用户发起的”,而可能是由 Windows 更新引起的,因为时间落在定义的“非工作时间”窗口内。
但是,有什么方法可以在日志中告诉我们是什么触发了重启吗?
答案1
查看“资源运行状况”,看看历史记录中是否有其他事件。你说得对,如果它属于“非工作时间”窗口,则可能是 Windows 更新。在我们的环境中,当 Windows 更新触发重新启动时,我们会收到这些通知。
如果您想 100% 确定这是 Windows 更新,请过滤系统事件日志中的 ID 1074、6006 和 6008。查找重新启动时的事件。它应该显示以下内容:
The process C:\windows\system32\wbem\wmiprvse.exe (HOSTNAME) has initiated the restart of computer HOSTNAME on behalf of user NT AUTHORITY\SYSTEM for the following reason: No title for this reason could be found
Reason Code: 0x80070015
Shutdown Type: restart
Comment:
微软本可以添加一个原因,这样就更容易找出原因了……
答案2
您唯一/最好的机会是查看虚拟机内部是否存在活动日志。
Azure 会告诉您(显然对于任何阅读的人来说)重启是从 VM 内部触发的。平台知识到此结束,VM 要求重启。
现在,您可能会在里面找到更多信息,但很多东西实际上取决于操作系统、设置,以及——最坏的情况——甚至没有应用程序(即他们是否记录这些信息)。
您将不会在 Azure 上找到任何东西,因为外界对此一无所知。
另请注意:
这肯定不是“用户发起的”,而可能是由 Windows 更新引起的,因为时间落在定义的“非工作时间”窗口内。
根据定义,从 Azure 环境的角度来看,在 VM 中运行的 Windows 更新是用户启动的。用户(即 VM)要求重新启动。因此,它绝对是用户启动的。