如何从计算机的属性获取 VM 创建时间



我使用vijava(5.1)从vCenter获取有关虚拟机的数据。为此,我使用了一个具有一些属性的过滤器(例如,guest.hostName、runtime.powerState等)。我需要获得这些虚拟机的创建时间,从我看到的情况来看,vCenter的事件日志中提供了这些信息。

有没有办法将此信息作为虚拟机属性的一部分?我使用vSphere Client搜索了这些信息,但我没有——所以我想唯一的位置是从事件日志中——但为了确定,这是唯一的方法吗?

感谢

使用vijavaapi很难获得虚拟机的创建时间。但是,您可以从VirtualMachineConfigInfo获得以下其他信息。

  1. changeVersion:changeVersion是给定配置版本的唯一标识符。对配置的每次更改都会更新此值。这通常被实现为不断增加的计数或时间戳。但是,客户端应该始终将其视为不透明字符串
  2. modified:上次修改虚拟机配置的时间。

    Folder rootFolder = serviceInstance.getRootFolder(); InventoryNavigator inventoryNavigator = new InventoryNavigator(rootFolder); vm = (VirtualMachine) inventoryNavigator.searchManagedEntity(VirtualMachine.class.getSimpleName(), vmName); VirtualMachineConfigInfo vmConfig = vm.getConfig(); System.out.println(vmConfig.getChangeVersion);

virtualMachineConfigInfo对象中信息的图像

除非您将创建时间设置为额外的配置属性,否则事件日志是我所知道的唯一方法。如果你想走额外的配置路线,我创建了一个示例,展示了如何使用它们,这是pyvmomi社区示例项目的一部分。

最新更新