So we've been fighting with SNMP and ESXi for quite a while and our primary problem is still not resolved and no amount of Google/Communities searching has really yeilded any results. Our problem is that our Management Server that is receiving the traps does not appear to recognize the OIDs sent by ESXi.
I'm by no means an SNMP guru, but I have configured 3rd party MIBs for several other products with no major issues. However I'm stumped on this one (the lack of documentation from VMware doesn't help). I've been able to extract the MIB files from both VirtualCenter Server and the ESX 3.5 source CD and imported them into our Management Server. However the traps sent by ESXi are still unrecognizable. We suspected our management software as the culprit (because it's generally awful and in dire need of replacement) but after installing another application on another server we also received the same results.
I presume there is a slight difference in the format of the OIDs for ESXi but on visual inspection I haven't been able to locate it. Any insight into this problem would be much appreciated.
Many thanks!
I am presuming that you have already found a solution for this?
Rick
MIB modules for all VMware products that support SNMP (ESXi, vCenter Server, SRM, ...) can be found
in http://communities.vmware.com/community/developer/forums/managementapi
and the VMware specific MIB modules contain this URL as well. This is a zip file containing every oid assignment
VMware ever made -- compatible back to ESX 2.0 if you include VMARE-OBSOLETE-MIB.mib
Now if you haven't used libsmi package on linux, its a very good tool for parsing these files
and generating name to oid listings. Here's a command that I use to generate the full VMWARE oid to name assignments
as well as IEEE and IETF standard :
#!/bin/sh
OLD=VMWARE-OBSOLETE-MIB.mib
APPS="VMWARE-VC-EVENT-MIB.mib VMWARE-SRM-EVENT-MIB.mib VMWARE-VCOPS-EVENT-MIB.mib"
IEEE="IEEE8021-TC-MIB.mib IEEE8021-BRIDGE-MIB.mib IEEE8021-Q-BRIDGE-MIB.mib IEEE8023-LAG-MIB.mib LLDP-V2-TC-MIB.mib LLDP-V2-MIB.mib"
MIBS="VMWARE-ROOT-MIB.mib VMWARE-PRODUCTS-MIB.mib VMWARE-TC-MIB.mib VMWARE-SYSTEM-MIB.mib VMWARE-ENV-MIB.mib VMWARE-VMINFO-MIB.mib VMWARE-RESOURCES-MIB.mib VMWARE-CIMOM-MIB.mib ${IEEE} VMWARE-AGENTCAP-MIB.mib ${APPS} $OLD "
/opt/pkg/libsmi-0.4.8/bin/smidump -f identifiers $MIBS
will produce something like this:
VMWARE-ROOT-MIB vmware node 1.3.6.1.4.1.6876
VMWARE-ROOT-MIB vmwNotifications node 1.3.6.1.4.1.6876.0
VMWARE-ROOT-MIB vmwSystem node 1.3.6.1.4.1.6876.1
VMWARE-ROOT-MIB vmwVirtMachines node 1.3.6.1.4.1.6876.2
VMWARE-ROOT-MIB vmwResources node 1.3.6.1.4.1.6876.3
VMWARE-ROOT-MIB vmwProductSpecific node 1.3.6.1.4.1.6876.4
VMWARE-ROOT-MIB vmwLdap node 1.3.6.1.4.1.6876.40
VMWARE-ROOT-MIB vmwTraps node 1.3.6.1.4.1.6876.50
VMWARE-ROOT-MIB vmwSRM node 1.3.6.1.4.1.6876.51
VMWARE-ROOT-MIB vmwOID node 1.3.6.1.4.1.6876.60
VMWARE-ROOT-MIB vmwareAgentCapabilities node 1.3.6.1.4.1.6876.70
VMWARE-ROOT-MIB vmwExperimental node 1.3.6.1.4.1.6876.700
VMWARE-ROOT-MIB vmwDocumentation node 1.3.6.1.4.1.6876.750
VMWARE-ROOT-MIB vmwObsolete node 1.3.6.1.4.1.6876.800
# VMWARE-PRODUCTS-MIB list of identifiers (generated by smidump 0.4.8)
VMWARE-PRODUCTS-MIB vmwESX node 1.3.6.1.4.1.6876.4.1
VMWARE-PRODUCTS-MIB vmwDVS node 1.3.6.1.4.1.6876.4.2
VMWARE-PRODUCTS-MIB vmwVC node 1.3.6.1.4.1.6876.4.3
VMWARE-PRODUCTS-MIB vmwServer node 1.3.6.1.4.1.6876.4.4
VMWARE-PRODUCTS-MIB vmwVCOps node 1.3.6.1.4.1.6876.4.5
VMWARE-PRODUCTS-MIB vmwProducts node 1.3.6.1.4.1.6876.4.11
VMWARE-PRODUCTS-MIB oidESX node 1.3.6.1.4.1.6876.60.1
# VMWARE-TC-MIB list of identifiers (generated by smidump 0.4.8)
VMWARE-TC-MIB VmwSubsystemTypes type
VMWARE-TC-MIB VmwCIMAlertTypes type
VMWARE-TC-MIB VmwCIMAlertFormat type
VMWARE-TC-MIB VmwSubsystemStatus type
VMWARE-TC-MIB VmwCIMSeverity type
VMWARE-TC-MIB VmwCimName type
VMWARE-TC-MIB VmwConnectedState type
VMWARE-TC-MIB VmwLongDisplayString type
VMWARE-TC-MIB VmwLongSnmpAdminString type
VMWARE-TC-MIB vmwTcMIB node 1.3.6.1.4.1.6876.1.11
# VMWARE-SYSTEM-MIB list of identifiers (generated by smidump 0.4.8)
VMWARE-SYSTEM-MIB vmwProdName scalar 1.3.6.1.4.1.6876.1.1
VMWARE-SYSTEM-MIB vmwProdVersion scalar 1.3.6.1.4.1.6876.1.2
VMWARE-SYSTEM-MIB vmwProdBuild scalar 1.3.6.1.4.1.6876.1.4
VMWARE-SYSTEM-MIB vmwProdUpdate scalar 1.3.6.1.4.1.6876.1.5
VMWARE-SYSTEM-MIB vmwProdPatch scalar 1.3.6.1.4.1.6876.1.6
VMWARE-SYSTEM-MIB vmwSystemMIB node 1.3.6.1.4.1.6876.1.10
VMWARE-SYSTEM-MIB vmwSystemMIBConformance node 1.3.6.1.4.1.6876.1.10.2
VMWARE-SYSTEM-MIB vmwSystemMIBCompliances node 1.3.6.1.4.1.6876.1.10.2.1
VMWARE-SYSTEM-MIB vmwSysMIBBasicCompliance compliance 1.3.6.1.4.1.6876.1.10.2.1.2
VMWARE-SYSTEM-MIB vmwSysMIBGroups node 1.3.6.1.4.1.6876.1.10.2.2
VMWARE-SYSTEM-MIB vmwSystemGroup group 1.3.6.1.4.1.6876.1.10.2.2.1
....
It is almost sure that your Manager Software is the problem, as it's always the one doing the translation from numbers to names. The way the SNMP Manager Software does this can differ from Software to Software. On some you just have to copy the needed files to a directory. For others there is a real compilation procedure integrating the mib files to a database. For some older utilities (like net-snmp used to do a while back) you really had to integrated them into the code when compiling the program from source!
What you need to understand is that the SNMP SMI model works like a tree. The numbers are nodes in that reverse tree. In order to be able to translate braches to names for your SNMP Manager you need to satisfy the inheritance requirements for each mib file. In almost every mib you will find a text area with the word IMPORTS xxxxx FROM yyyyy
There is described what MIB files you need to have integrated into your SNMP manager in order to be able to use those translated SNMP Variables (OIDs). Some tools on the web (like OID View) will show you that inheritance (as requirements). Start from the MIB file that contains the variables you want translated to words and work your way up to find what other MIB files you need. I used to do it by myself (I have a lot of ease reading MIB files) but you can use a SNMP MIB repository tool like the one I mentioned.
Of course by now you must have changed your esx(i) version or at least I hope you have. Having done that you may have realized that enabling SNMP in your esxi might require some work. At least the polling part (traps may be easier to configure). If you cant find any documentation on that send me a message.
The reason I took the time to write this is that someone else might find his way here through Google or another engine like I did, looking for support. I may be to late to help you, but others might find my message helpful.
Good luck people!