我正在尝试用 C# 编写一个相当简单的应用程序(或者至少,我认为它应该很简单),它轮询 vCenter 的所有 ESX 服务器,然后轮询每个 ESX 服务器的所有 VM。它将收集一些简单的实时统计数据并将它们放入数据库中。很容易,对吧?唔。
我一直在试图弄清楚我应该使用哪个 VMware API,而且我越是浏览 VMware 组织得非常严密的文档站点,我就越感到困惑。我已经阅读了大约 60 页的vSphere Web Services SDK Programmin Guide,但仍然不知道如何获取数据(但我学到了很多关于 VMware 的字母汤... yippie)。
因此,我的问题是:对于专注于收集 CPU、内存、网络和硬盘驱动器统计信息的只读应用程序,我应该使用哪个 VMware API?我需要从典型的 vCenter + 多 ESX 设置中收集这些数据。
编辑:我忘了提到我已经成功地编写了一个 PowerCLI 脚本来完成我所解释的工作,但是对于生产就绪的产品来说它太慢且不稳定(而且 PowerShell 是,imo,一种设计不佳的脚本语言)。我确实有适用于 .NET 的 VMware vSphere SDK,但提供的文档是……至少可以说很简短。我错过了真正的 vSphere SDK for .NET 文档吗?