【发布时间】:2011-07-26 12:11:03
【问题描述】:
我正在尝试用 C# 编写一个相当简单的应用程序(或者至少,我认为它应该很简单),它轮询 vCenter 的所有 ESX 服务器,然后轮询每个 ESX 服务器的所有 VM。它将收集一些简单的实时统计数据并将它们放入数据库中。很容易,对吧?嗯。
我一直在试图弄清楚我应该使用哪个 VMware API,而且我越是浏览 VMware 组织得非常严密的文档站点,我就越感到困惑。我已经阅读了大约 60 页的vSphere Web Services SDK 编程指南,但仍然不知道如何获取数据(但我对 VMware 的字母表有了很多了解汤... yippie)。
因此,我的问题是:对于专注于收集 CPU、内存、网络和硬盘驱动器统计信息的只读应用程序,我应该使用哪个 VMware API?我需要从典型的 vCenter + 多 ESX 设置中收集这些数据。
编辑:我忘了提到我已经成功编写了一个 PowerCLI 脚本来执行我所解释的操作,但是对于生产就绪产品(而 PowerShell 是,imo,一种设计不佳的脚本语言)。我确实有 VMware vSphere SDK for .NET,但提供的文档是……至少可以说很简短。我是否缺少真正的 vSphere SDK for .NET 文档?
【问题讨论】:
-
仅供参考,vSphere SDK 的 API 文档在这里:vmware.com/support/developer/vc-sdk/visdk41pubs/ApiReference/… 但是,我在 .Net 中对它非常有经验并让其他人开始使用它,我衷心推荐来自下面回答。唯一需要注意的是,如果您要发布软件,它是不可再分发的。但是对于内部自动化的东西,它很棒。
-
我们正准备发布该产品,谢天谢地,它已经停产(在我说服他们我们正在复制 VMware 的现有应用程序之后,存在 10 倍的安全问题)。感谢您的更新。