0

我正在使用 vijava (5.1) 从 vCenter 中获取有关虚拟机的数据。为此,我正在使用具有某些属性的过滤器(例如,guest.hostName、runtime.powerState 等)。我需要获取这些虚拟机的创建时间,并且根据我所看到的,此信息可在 vCenter 的事件日志中找到。

有没有办法获得虚拟机属性的这个信息部分?我使用 vSphere-Client 搜索了此信息,但我没有 - 所以我想唯一的地方是来自事件日志 - 但可以肯定的是,这是唯一的方法吗?

谢谢

4

2 回答 2

1

使用 vijava api 很难获得虚拟机的创建时间。但是,您可以从 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 对象中的信息图像

于 2017-05-11T17:55:49.230 回答
0

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

于 2016-05-20T05:25:45.227 回答