Using the VMWare ESX / ESXi Processor

I use Visual Studio 2010 and (native) C ++, trying to extract the total CPU usage of the VMWare host, and then the CPU usage of each running VM.

I looked at the VMWare Webservice SDK 4.1 using gSoap to create a C ++ interface, but its slower and cluncky to be a realistic alternative (as a result, cpp files take 4 hours to compile and end up as 70 MB binaries, that would be fine. if no call took minutes to complete).

Does anyone have any tips for an alternative solution / sdk?

+4
source share
2 answers

I assume that you have switched all the known VMware APIs, so what about this other approach ... Just SSH into the ESX machine and run some command line utilities to get the information you need. To get all the information you need, you can run esxtop -b -n1 .

To connect using SSH, you can use plink.exe , which allows you to execute commands from the command line, like ssh on a Linux machine. You can also use one of the many SSH libraries available, such as libssh .

+3
source

How important is it to use the dedicated VMWare solution? Besides using webservice or VIX, which simply transfer calls to the soap server for ESX, you may not notice the simplest solution here. It is best to collect and monitor performance data for any host with snmp, or so I would like to believe. It's simple; it does what you ask for and you don’t have to deal with the overhead of the SDK.

If you decide to use the SNMP solution, I recommend net-snmp.

+1
source

All Articles