2011-05-30 119 views
4

我正在使用Visual Studio 2010和(本機)C++嘗試提取VMWare主機的整體CPU使用率,然後提取每個正在運行的VM的CPU使用率。VMWare ESX/ESXi CPU使用率

我已經看過VMWare Webservice SDK 4.1使用gSoap來構建一個C++接口,但它的速度很慢並且笨拙地成爲一個現實的替代方案(導致cpp文件花費4個小時編譯並最終成爲70 MB二進制文件,那就沒問題,如果沒有一個電話會花費分鐘執行)。

有沒有人有關於替代解決方案/ sdk的提示?

+0

看到這個? http://communities.vmware.com/thread/223151 – 2011-07-12 13:14:34

+0

你是否僅僅爲此而使用C++?如果你可以使用Perl,那麼我可以給予一些幫助 – Raghuram 2011-07-19 04:31:43

回答

1

使用VMWare特定解決方案有多重要?除了使用一個web服務或VIX,它只是將調用包裝到一個肥皂服務器上,或許你忽視了最簡單的解決方案。收集和監控任何主機性能的細節最好用snmp完成,所以我想相信。這很簡單;它可以滿足您的要求,而且您不必處理SDK的開銷。

如果您決定使用SNMP解決方案,我推薦net-snmp。

+0

如果它選擇我將使用SNMP,但VMWare不再支持SNMP,ESX是傳統軟件,ESXi缺乏對SNMP的官方支持。 – ROAR 2011-07-13 23:00:51

+0

嗯。我可以發誓ESX支持它。上次我們部署ESX服務器時,Net-SNMP內置了。 – 2011-07-13 23:43:13

3

我假設您已經瀏覽了所有已知的VMware API,那麼這種不同的方法如何......只需將SSH連接到ESX計算機並執行一些命令行實用程序即可獲取所需的信息。要獲取您可能需要的所有信息,您可以執行esxtop -b -n1

要使用SSH進行連接,您可以使用plink.exe,它允許您從命令行執行內容,非常類似Linux機器上的ssh。您還可以使用許多可用的SSH庫之一,例如libssh