VMware Cloud Community
Brain_Litter
Contributor
Contributor

ESXi SNMP OIDs

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!

0 Kudos
3 Replies
lnxnut
Contributor
Contributor

I am presuming that you have already found a solution for this?

Rick

0 Kudos
MRSNMP
Enthusiast
Enthusiast

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

....

0 Kudos
itheodoridis
Contributor
Contributor

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!

0 Kudos