如何检索 VM 是关闭还是打开?

时间:2021-03-20 12:29:34

标签: api cloud virtual-machine status vcenter

我们正在为我们的用户创建一个简单的面板,以查看他们机器的状态以及关闭或打开等功能,我们正在通过 vCenter API 获取信息并将结果存储在 MySQL 数据库中,并每 6 次更新一次小时(不是一个合适的解决方案),现在这里的问题是当用户通过直接 SSH 连接关闭他的机器或有人手动关闭服务器时,我们会错过状态并错误地显示它,直到下一次更新(每 6 小时) .

我的问题是,我们如何处理上述情况?有没有像适当的 webhook 这样的有效方法或类似的方法来为我们提供虚拟机的实时状态?

提前致谢,感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

解决方案是监控受管对象(VirtualMachine)的vCenter事件。

当用户通过直接 SSH 连接(命令:“poweroff”/“halt”..)关闭他的机器时,VM 肯定会在 vCenter 中关闭。因此会出现 VmPoweredOffEvent。

VmPoweredOffEvent - 此事件记录虚拟机关闭电源的时间。

监控此事件并更新数据库中相应 VM 的状态。