VMware architecture can be set up using the vSphere client to attach to an ESX Server or using vCenter Server to manage a group of ESX Servers. An ESX Server can run multiple VMs. VMware Release 4.0 provides functionality for vSphere and vCenter Server to query performance statistics on ESX Servers and individual VMs directly using SNMP. With VMware Release 4.1 the functionality was limited to queries of ESX Servers only using SNMP. Release 5.0 provides no support of SNMP queries. With Release 5.0, a user can set up simple threshold monitoring and receive traps from vSphere or vCenter Server for thresholds crossed. These traps will be generated regardless of whether the threshold is breeched by a transient and is not actionable.
So, how can monitoring of ESX Servers and VMs be accomplished in a more effective way? VMware Release 5.0 provides for an API (referred to as a SDK) which has two interfaces: one in Java and one in PERL. NerveCenter by LogMatrix uses an integrated PERL engine as a core of its finite state monitoring. When you download and install the PERL API SDK and point it to the NerveCenter instance of PERL, it automatically installs PERL modules and some executables in the file structures of NerveCenter. Using NerveCenter, you can then query statistics with polls to all ESX Servers and VMs associated with virtual center.
Metrics available through the API include CPU%, Memory%, CPU usage (MHz), Memory (MBps), Disk and Network (MBps).
With NerveCenter, we use VMware PERL modules that come with the SDK to poll the counters into a hash in memory. Then we query the hash to look for statistics and specific values on individual VMs or ESX Servers. NerveCenter models can then alert based on user defined attributes and parameters.
The API also allows for management of VMs. NerveCenter functionality can be used to automate turning VMs on and off, moving VMs between ESX Servers and other VM management tasks.
To learn more about the NerveCenter solution, click here.