SNMP in Data ONTAP™

          

SNMP is a well-known standard for network monitoring. Its original design included provisions for management as well, but that part of the protocol has never achieved critical mass in the industry. Many top-shelf network management applications, from vendors such as HP, CA, and BMC make heavy use of SNMP for monitoring purposes, however.

To use SNMP, you must know the “OID” of the variable you desire. The MIB (Management Information Base) is an ASCII document which describes each variable, such as “sysDescr”, and assigns it an OID. The MIB document format is by design readable by both machines and humans. The filer has an extensive MIB, which is included in the doc directory of the distribution. The MIB format, however, does not make it easy to determine the OID of a given variable, as it is specified in terms of a “parent” variable. For this reason, we have included a file called traps.dat (but see the notes on versions) which lists each of the SNMP variables supported by Data ONTAP and the complete OID required to access it. This file, originally intended for users of the snmp traps command, prepends “snmp” to each OID, which should be ignored when using snmpget or snmpwalk.

Network Appliance products also implement the MIB specified in RFC 1213. The MIB which implements this RFC describes the networking aspects of a machine and is widely used. (You may need to set a file type in your browser to view the MIB; set the "." file type to be a Wordpad or Notepad document to view documents with no extensions in Windows).

New features in Netapp appliances are generally documented and reported via SNMP in the major release in which they are introduced. Therefore, the MIB is always growing. Network Appliance Engineering has the goal of reporting as much as possible about an appliance via the MIB.

SNMP OIDs
The OID space is tree structured. An OID such as .iso.org.dod.internet.mgmt.mib2.
system.sysDescr.0
(which translates to .1.3.6.1.2.1.1.1.0) can be read much as you would read a filesystem path. The sysDescr variable lives within the system space, which is contained in the mib2 space, which is contained within mgmt, and so on. When the last number is a zero, it means that a single value is requested. Integers above zero are requests for individual elements in tables. The snmpwalk function is useful for learning about OIDs and how they relate to query output and the entries for them in the MIB. An snmpwalk of .1.3.6.1.2, for example, will return a slew of information about the appliance’s TCP/IP state. An snmpwalk of 1.3.6.1.4.1.789.1 will return all the entries in the Network Appliance MIB.

The SNMP protocol specifies GET, SET and TRAP operations. For security reasons, Netapp products do not support SET operations.


Support

The sample code and documents in the SDK are unsupported by Network Appliance CS. To obtain direct engineering support for your development effort and purchase incident packs, please contact Network Appliance by sending email to dl-manage-ontap-api@netapp.com.

Your feedback is important to us. If you have suggestions for improvement of this sample code or documentation, please send them to sdk-feedback@netapp.com.