I am wanting to monitor a VMWare ESX Server via SNMP and need a little assistance with how vmware assigns the ID to vmVMID.
Scenario:
I do a mib walk to my ESX server and it returns VMWare specific MIB information similar to below:
1.3.6.1.4.1.6876.2.1.1.2.0
vmDisplayName.0 WinXP - Base
1.3.6.1.4.1.6876.2.1.1.2.1
vmDisplayName.1 CentOS 5 Base - Not For General Use
1.3.6.1.4.1.6876.2.1.1.2.2
vmDisplayName.2 FSDALVMDC - W2K3
1.3.6.1.4.1.6876.2.1.1.2.3
vmDisplayName.3 Solaris 10 x86
1.3.6.1.4.1.6876.2.1.1.2.4
vmDisplayName.4 FS_SugarCRM (10.0.2.94)
1.3.6.1.4.1.6876.2.1.1.2.5
vmDisplayName.5 FSDALEX01
1.3.6.1.4.1.6876.2.1.1.4.0
vmGuestOS.0 Microsoft Windows XP Professional
1.3.6.1.4.1.6876.2.1.1.4.1
vmGuestOS.1 Other Linux (64-bit)
1.3.6.1.4.1.6876.2.1.1.4.2
vmGuestOS.2 Microsoft Windows Server 2003, Standard Edition
1.3.6.1.4.1.6876.2.1.1.4.3
vmGuestOS.3 Sun Solaris 10
1.3.6.1.4.1.6876.2.1.1.4.4
vmGuestOS.4 Other Linux
1.3.6.1.4.1.6876.2.1.1.4.5
vmGuestOS.5 Microsoft Windows Server 2003, Standard Edition
1.3.6.1.4.1.6876.2.1.1.5.0
vmMemSize.0 2048
1.3.6.1.4.1.6876.2.1.1.5.1
vmMemSize.1 2048
1.3.6.1.4.1.6876.2.1.1.5.2
vmMemSize.2 768
1.3.6.1.4.1.6876.2.1.1.5.3
vmMemSize.3 1024
1.3.6.1.4.1.6876.2.1.1.5.4
vmMemSize.4 1024
1.3.6.1.4.1.6876.2.1.1.5.5
vmMemSize.5 2048
1.3.6.1.4.1.6876.2.1.1.6.0
vmState.0 poweredOff
1.3.6.1.4.1.6876.2.1.1.6.1
vmState.1 poweredOff
1.3.6.1.4.1.6876.2.1.1.6.2
vmState.2 poweredOn
1.3.6.1.4.1.6876.2.1.1.6.3
vmState.3 poweredOff
1.3.6.1.4.1.6876.2.1.1.6.4
vmState.4 poweredOff
1.3.6.1.4.1.6876.2.1.1.6.5
vmState.5 poweredOn
1.3.6.1.4.1.6876.2.1.1.7.0
vmVMID.0 128
1.3.6.1.4.1.6876.2.1.1.7.1
vmVMID.1 16
1.3.6.1.4.1.6876.2.1.1.7.2
vmVMID.2 176
1.3.6.1.4.1.6876.2.1.1.7.3
vmVMID.3 352
1.3.6.1.4.1.6876.2.1.1.7.4
vmVMID.4 432
1.3.6.1.4.1.6876.2.1.1.7.5
vmVMID.5 448
1.3.6.1.4.1.6876.3.1.2.1.1
.64 cpuVMID.64 64
1.3.6.1.4.1.6876.3.1.2.1.1
.65 cpuVMID.65 65
1.3.6.1.4.1.6876.3.1.2.1.1
.80 cpuVMID.80 80
1.3.6.1.4.1.6876.3.1.2.1.1
.81 cpuVMID.81 81
1.3.6.1.4.1.6876.3.1.2.1.1
.176 cpuVMID.176 176
1.3.6.1.4.1.6876.3.1.2.1.2
.64 cpuShares.64 2000
1.3.6.1.4.1.6876.3.1.2.1.2
.65 cpuShares.65 0
1.3.6.1.4.1.6876.3.1.2.1.2
.80 cpuShares.80 2000
1.3.6.1.4.1.6876.3.1.2.1.2
.81 cpuShares.81 0
1.3.6.1.4.1.6876.3.1.2.1.2
.176 cpuShares.176 2000
1.3.6.1.4.1.6876.3.2.4.1.1
.64 memVMID.64 64
1.3.6.1.4.1.6876.3.2.4.1.1
.80 memVMID.80 80
1.3.6.1.4.1.6876.3.2.4.1.1
.176 memVMID.176 176
1.3.6.1.4.1.6876.3.2.4.1.1
.448 memVMID.448 448
1.3.6.1.4.1.6876.3.2.4.1.1
.576 memVMID.576 576
1.3.6.1.4.1.6876.3.2.4.1.4
.64 memUtil.64 157284
1.3.6.1.4.1.6876.3.2.4.1.4
.80 memUtil.80 20968
1.3.6.1.4.1.6876.3.2.4.1.4
.176 memUtil.176 55048
1.3.6.1.4.1.6876.3.2.4.1.4
.448 memUtil.448 62912
1.3.6.1.4.1.6876.3.2.4.1.4
.576 memUtil.576 125828
Here is the issue:
I would like to monitor say the CPU and memory ultilization for each guest os however there isn't a way in our in house software to allow me to do a look up on the values. So when I see vmVMID.0 = WinXP - Base I should be able to monitor the memUtil.0 value and get the amout of utilized memory for that guest vm. However the memUtil.0 value doesn't exist, it is actually memUtil.64.
I was reading on the VMWare site (
http://www.vmware.com/support/esx2/doc/esx20admin_snmp_vars_server.html) that the vmVMID is used in a similar fashion to a pid and is only assigned if the machine is active.
My question:
Is there anyway to know what these values will be once you start, stop, or restart a guest vm? Will the ID stay the same?
This really reminds of the indexing that Cisco does on their interfaces and I have not found a viable solution for that yet either.
I know that some of this might be a little hard to read, but please ask questions if you don't fully understand what I'm asking. This is a pretty big topic around hear and it we can get some kind of information as to the reasoning behind it it would greatly help.