Viewing MIBs and Using the SNMP Walker Tool

Download this manual as a PDF file

This section describes a management information base (MIB) and how to view, import, and compile MIBs. This section also describes the OID Browser and the SNMP Walker Tool.

Use the following menu options to navigate the SL1 user interface:

  • To view a pop-out list of menu options, click the menu icon ().
  • To view a page containing all of the menu options, click the Advanced menu icon ().

The Management Information Base

A management information base (MIB) is a collection of definitions associated with a device or application. A MIB is stored in a file and uses a standardized format defined by the SNMP protocol.

A MIB file is usually associated with a hardware manufacturer or software manufacturer. Some manufacturers use a single MIB that contains information about all their products. Other manufacturers create a separate MIB for each product. A MIB file is generic—it is not associated with a specific installed instance of a device, but rather applies to all devices or applications of that make and model.

Each aspect of a device or application that can be managed or monitored is represented within the MIB as an object ID (OID). In SL1, we use these OIDs to define Collection Objects. For example, suppose we want to monitor the temperatures of a Force 10 switch/router. The MIB for the Force 10 switch/router includes an OID that contains the current temperature of the entire unit. To monitor the temperature of a Force 10 switch/router, we could use this OID in a Dynamic Application.

Before creating a Dynamic Application, you must ensure that SL1 contains the appropriate MIB file. This section will describe how to view and examine MIBs and how to import a MIB.

Viewing MIBs

By default, SL1 includes an extensive set of MIBs. Before creating a new Dynamic Application, you must make sure that SL1 already includes the MIB file and that the MIB file includes the data points that you want to monitor with SL1. If SL1 does not include the MIB file, you must import it.

To view the list of MIBs included with SL1:

  • Go to the MIB Compiler page (System > Tools > MIB Compiler).
  • For each MIB file, the MIB Compiler page displays the following:

  • MIB Name. Name of the MIB file.
  • Vendor. For MIBs that use SMIv2, displays the vendor associated with the MIB.
  • MIB Revision Date. Date the original author last revised and released the MIB.
  • Language. Either SMIv1 or SMIv2.
  • Compiled. Specifies whether or not the MIB has been compiled in SL1.
  • Type Defs. Number of data types within the MIB.
  • Nodes. Number of objects that can be monitored with this MIB
  • Traps. Number of traps that can be monitored with this MIB.
  • Logs. Number of error messages in the log file after compiling the MIB.
  • Last Edit. Date and time the MIB was created or last edited.
  • User Edit. User who imported or last edited the MIB.

To sort the list of MIB files, click on a column heading. The list will be sorted by the column value, in ascending order. To sort by descending order, click the column heading again. The Last Edit column sorts by descending order on the first click; to sort by ascending order, click the column heading again.

Viewing the Contents of a MIB file

From the MIB Compiler page, you can view the contents of a MIB file. To do this:

  1. Go to the MIB Compiler page (System > Tools > MIB Compiler).
  2. In the MIB Compiler page, find the MIB you want to view. Select its information icon ().
  3. The MIB Viewer modal page appears and displays the contents of the MIB file. You can view but cannot edit the MIB file from this modal page.

Importing a MIB

By default, SL1 includes a large number of commonly-used MIB files. However, you can import additional MIB files into SL1. If you need to monitor a device or application for which SL1 does not include a MIB file, you can import and compile the appropriate MIB file. You might also want to update an existing MIB file with a later version.

To import a MIB file into SL1:

  1. Go to the MIB Compiler page (System > Tools > MIB Compiler).
  2. In the MIB Compiler page, select the Import button.
  3. In the MIB Import modal page, navigate to the location of the MIB file on your local computer. Select the Import button.
  4. The new MIB file appears in the list of MIB files in the MIB Compiler page.
  5. You must compile the MIB file before SL1 can use it. To compile a MIB, select its lightning bolt icon ().

Compiling a MIB

Before SL1 can use a MIB file to monitor data points on a device or an application, you must ensure that the MIB file has been compiled. When you compile the MIB file, you are telling SL1 to read and parse the object definitions in the MIB file. SL1 can then use that data when monitoring devices or applications.

To compile a MIB:

  1. Go to the MIB Compiler page (System > Tools > MIB Compiler).
  2. In the MIB Compiler page, find the MIB you want to compile. Select its lightning bolt icon ().
  3. To determine if a MIB compiled successfully, you can view the Compile column for that MIB.
  4. If a MIB does not compile successfully, you can view information about the compile operation. To do this, find the MIB file in the list of MIBs and select its page icon ().
  5. If a MIB compiles successfully, but shows a value other than "0" (zero) in the Messages column, you can view information about the compile operation. To do this, find the MIB file in the list of MIBs and select its page icon (). In some cases, a MIB might compile successfully but might also include incorrectly defined data-points (called "objects" or "OIDs"). These data-points might not be included in the compiled MIB.

IMPORTANT: If a MIB does not compile, please view the compile-log for the MIB. MIBs that use incorrect format or syntax may fail to compile. Contact the MIB's vendor for corrections or updates. ScienceLogic is not responsible for other vendor's MIB files.

Viewing Error Logs for a MIB

After compiling a MIB file, you can view the error log for the MIB to check on the status of the compile operation. To do this:

  1. Go to the MIB Compiler page (System > Tools > MIB Compiler).
  2. In the MIB Compiler page, find the MIB you want to view information about. Select its page icon ().
  3. The MIB Compiler Log Messages modal page displays error messages generated when a MIB is compiled and the effect of that error.
  4. The format of each message is:

MIB file name:line number:error message

where:

  • MIB file name. Is the name of the MIB file.
  • line number. Is the line on which the error occurred.
  • error message. Is a description of the error.
  1. Some common error messages are:
  • access 'write-only' is no longer allowed in SMIv2. SMIv2 changed the MAX-ACCESS write-only to read-write.
  • ACCESS is SMIv1 style, use MAX-ACCESS in SMIv2 MIBs instead. A MIB that is considered SMIv2 compliant has the label MAX-ACCESS instead of ACCESS. Either remove the SMIv2 specification from the import or rename all of the ACCESS identifiers to MAX-ACCESS.
  • default value does not match underlying enumeration type. The default value for an enumeration does not match the values declared in the enumeration. The values must match.
  • description missing in object definition. All objects in an SMIv2 MIB have descriptions associated with them. This can be a blank string ("") or have text describing the object.
  • identifier 'identifier ' cannot be imported from module 'module name'. This means either the type definition was not found in module name. The type definition probably exists in another module.
  • 'identifier' should start with a lower case letter. The identifier in a MIB element should start with a lower case alpha character. A type definition starts with an upper case alpha character.
  • index element 'index identifier' of row 'identifier' must have a size restriction. All tables declared in a MIB have an index element. An index element should have a size restriction on the index element to make it a compliant MIB. To correct an integer index, add (mix.max) after the type definition to correct this issue.
  • invalid status 'mandatory' in SMIv2 MIB. A MIB that is considered SMIv2 compliant has a STATUS of current, depreciated, or obsolete. Mandatory is an older SMIv1 standard that was changed with SMIv2.
  • last subidentifier assigned to 'identifier' may not be zero. All SMIv2 MIBs must not have an identifier of zero in the MIB. The values have to be between 1 and 65536.
  • length of hexadecimal string 'string' is not a multiple of 2. Hexadecimal strings (also called octet strings) need to have 2 elements in the default value. For example, a declaration of '0f' (zero - f) is correct as it is 2 bytes. A declaration of 'f' is not correct as it is only 1 byte.
  • lexically unexpected character, skipping to end of line. There is an unknown character in the MIB file at the given line. Removing the character should allow the parser to continue parsing the file. Check for a back tick (`) and other strange characters and remove them from that line.
  • macro 'macro type' has not been imported from module 'module name'. A macro was called in the MIB however the macro type was not imported at the top of the MIB. To correct this, add the import statement at the top of the MIB.
  • parse error, unexpected '{', expecting UPPERCASE_IDENTIFIER or LOWERCASE_IDENTIFIER or NUMBER. The object did not parse correctly. There could be a spelling error for a MIB type or an extra comma or a single dash in the declaration. Check the MIBs syntax for any issues.
  • parse error, unexpected COLON_COLON_EQUAL. There is typically a parser error above this error. If you correct the parser error, the parser will find the ::= in the MIB and correctly build this identifier.
  • parse error, unexpected DESCRIPTION. There was a parser error above this line. Correct the parse error and this error will be corrected.
  • parse error, unexpected MODULE_COMPLIANCE, expecting OBJECT. The MODULE_COMPLIANCE macro was not imported from SNMPv2-CONF. All macros need to be imported into the MIB for the parser to correctly build the MIB tree.
  • parse error, unexpected MODULE_IDENTITY, expecting OBJECT. The MODULE-IDENTITY macro was not imported from SNMPv2-SMI. All macros need to be imported into the MIB for the parser to correctly build the MIB tree.
  • parse error, unexpected VARIABLES. There was a parser error above this line. Correct the parser error and this error will be corrected.
  • redefinition of identifier 'identifier'. An identifier was declared again in the MIB. Check the first declaration is correct or if the re-declaration is correct. Remove the one that is not correct.
  • row's parent node must be a table node. A row in a table must have a table identifier to link together. These typically show up as a parse error above this error.
  • scalar's parent node must be simple node. A scalar must have a container (OBJECT IDENTIFIER) as a parent node. A scalar cannot be part of a table, row, or another scalar.
  • SMIv2 base type 'type definition' must be imported from SNMPv2-SMI. The MIB is missing an import statement for the type definition.
  • subtyping not allowed. A table or scalar cannot have rows or objects typed in the scalar or table definition. They should be typed as the row declaration or as the object definition.
  • table's SEQUENCE OF type does not match row type. The table was either declared out of order from the row declaration or the rows have a mistyped sequence.
  • TRAP-TYPE macro is not allowed in SMIv2. Traps are to be declared in separate SMIv1 MIBs. You cannot add traps to an SMIv2 MIB.
  • type of 'identifier ' in sequence and object type definition do not match. This means the sequence of an object and the object definition are not the same type definition. This is more than likely a syntax error.
  • unknown object identifier label 'identifier'. The object identifier was not declared in the MIB file or it was not imported into the MIB. These typically show up as a parser error because that identifier was not parsed correctly.
  • unknown object identifier label 'label name'. This means an OID was cast as a new identifier and the MIB compiler was unable to find that identifier definition. These are called type definitions in the SMIv2 specification.
  • unknown type 'type definition'. The type definition was not declared in the MIB or it was not imported from another MIB definition. To correct this, add an import statement at the top of the MIB.

Rebuilding the SNMP Tree

If you have added new MIB files to SL1, you should rebuild the SNMP tree. When you rebuild, SL1 searches for any newly added MIB files, compiles all the new MIB files, and rebuilds the SNMP tree to include the new files.

To rebuild the SNMP tree:

  1. Go to the MIB Compiler page (System > Tools > MIB Compiler).
  2. In the MIB Compiler page, select the Rebuild button.

Exporting a MIB

If you want to examine or edit a MIB file or if you want to install a MIB file on another computer, you can export the MIB file from SL1. To do this:

  1. Go to the MIB Compiler page (System > Tools > MIB Compiler).
  2. In the MIB Compiler page, find the MIB you want to export. Select its save icon ().
  3. You will be prompted to save the MIB file to a location on your local computer.

Compiling Multiple MIB Files or Deleting Multiple MIB Files

The MIB Compiler page contains a drop-down field in the lower right called Select Action. This field allows you to apply an action to multiple MIB files at once.

To apply an action to multiple MIB files:

  1. In the MIB Compiler page, select the checkbox for each MIB file you want to apply the action to. To select all checkboxes for all MIB files, select the select the checkbox at the top of the page.
  2. In the Select Action drop-down list, select one of the following actions:
  • Delete MIB and Objects. MIB and OIDs are removed from the ScienceLogic MIB library. Existing Dynamic Applications that use this MIB and OIDs are unaffected. However, users cannot create new Dynamic Applications based on this MIB.
  • Compile MIB. Compiles the selected MIBs
  1. Select the Go button to apply the selected action to the selected MIB files.

The OID Browser

The OID Browser page (System > Tools > OID Browser) allows you to view a list of all objects in all MIBs that have been compiled in SL1. The objects are arranged in the standard SNMP tree structure. The OID Browser page allows you to search a list of OIDs, "drill down" and view information under an OID, and add an OID to a Dynamic Application.

Drilling Down in OIDs

You can drill down the tree and view the information under an OID in the OID Browser page (System > Tools > OID Browser). To do so:

  • Go to the OID Browser page (System > Tools > OID Browser).
  • In the OID Browser page, find the OID that you want to drill down. Click on its value in the Object Name column.
  • The OID Browser page is refreshed and displays only the selected OID and all the OIDs in the next level of the OID.
  • You can continue clicking on values in the Object Name column to continue drilling down. When a checkbox appears for an OID, you cannot drill down any further.

NOTE: You can also find the OID that you want to drill down and select its Show OID Tree icon (). The OID Browser page is refreshed and displays only the selected OID and the OIDs in the next three levels of the OID's tree.

Searching the List of OIDs

You can search the list of OIDs in all MIBs that have been compiled in SL1 in the OID Browser page (System > Tools > OID Browser). To search the list of OIDs in SL1:

  • Go to the OID Browser page (System > Tools > OID Browser).
  • The search fields at the top of the OID Browser page allow you to search for OIDs by one of the following parameters:
  • Search where. Specifies the parameter you want to search by. You can select from the following: 
  • Where OID is like. Searches all OID definitions for those that have the same object identifier as that entered in the regular expression field.
  • Where Symbolic is like. Searches all OID definitions for those that have the same symbolic name as that entered in the regular expression field.
  • Where Name is like. Searches all OID definitions for those that have the same object name as that entered in the regular expression field.
  • Where MIB Name is like. Searches all OID definitions for those that have the same MIB name as that entered in the regular expression field.
  • regular expression. In this field you manually enter the text to search for. You can use the following special characters in this field:
  • * Match zero or more characters preceding the asterisk. For example:

"dell*" would match "dell", "dell2650", "dell7250" and "dell1700N".

"*dell*" would match "mydell", "dell", "dell2650", "dell7250" and "dell1700N".

  • % Match zero or more characters preceding the asterisk. This special character behaves in the same way as the asterisk.
  • When you select the Search button, the OID Browser page will be refreshed and will display only the OIDs that match the search parameters.

Adding an OID to a Dynamic Application from the OID Browser

When you add an object to a Dynamic Application, SL1 collects values for the object from each device and application that is monitored with the Dynamic Application.

You can view OIDs in the OID Browser page and then add them to a Dynamic Application.

To do this:

  1. Go to theOID Browser page (System > Tools > OID Browser).
  2. In the OID Browser page, drill down to an object you want to add to a Dynamic Application.
  3. Select the checkbox for the object you want to include in a Dynamic Application.
  4. Repeat steps 2 and 3 for each OID you want to include in a Dynamic Application.
  5. From the Select Action drop-down, choose the Dynamic Application to which you want to add the selected OIDs. You can also choose to add the selected OIDs to a new SNMP Configuration or SNMP Performance Dynamic Application.
  6. Select the Go button to add the OID to the Dynamic Application.

The SNMP Walker Tool

The SNMP Walker page allows you to "walk" one or more SNMP OIDs on a single device, so you can see a "real life" example of the type of information stored in one or more OIDs. From the SNMP Walker page, SL1 will poll the device and retrieve and display a value for each selected OID. TheSNMP Walker page allows you to examine OIDs and also to add OIDs to new or existing Dynamic Applications.

To perform an SNMP walk:

  • Go to the Device Manager page (Devices > Classic Devices, or Registry > Devices > Device Manager in the classic SL1 user interface).
  • In the Device Manager page, select the wrench icon () for a device on which you want to perform an SNMP walk.
  • In the Device Properties page, select the Toolbox tab. To perform an SNMP walk, select the SNMP Walker icon in the Device Toolbox pane.
  • To execute an SNMP walk provide values in the following fields:
  • Select OID. Users can select from the drop-down list or manually enter an OID. The SNMP values for all sub-OIDs under the selected OID will be displayed in the results pane.
  • To enter an OID manually, select the plus sign icon. Then enter the OID in the SNMP OID field.
  • To select from the drop-down list of OIDs, highlight a MIB entry or OID entry. Choices are grouped by Common OIDs, Standard RFCs, and existing Dynamic Applications.
  • Show Type. Displays the data-type (Integer, Counter, IP Address, etc.) at the start of the returned value field.
  • ENum Print. Displays the list of possible values for each OID of type ENum.
  • Show Symbolic. If selected, for OIDs for which SL1 contains the MIB file, displays the text-based, descriptive name, rather than the numeric ID.
  • The results pane displays the following:
  • Returned OID. Either numeric ID or symbolic (text-based) ID for each retrieved OID.
  • Returned Value. Value for each OID, retrieved from the device.
  • Checkbox. If the MIB is already included with SL1, a checkbox appears in the rows for one or more OIDs. Selecting the checkbox allows you to apply the actions from the Select Actions field to the OID

If you walked the Host Resource MIB on a device with the Show Symbolic checkbox selected, the SNMP Walker tool might return the following information:

If you walked the Host Resource MIB on a device with the Show Symbolic checkbox unselected, the SNMP Walker tool might return the following information:

Adding an OID to a Dynamic Application

From the SNMP Walker page, you can view data from an OID and determine if you want to add the OID to a Dynamic Application. To add an OID to a Dynamic Application (either new or existing):

  1. Execute an SNMP Walk (described in the steps above).
  2. In the Results pane, select the checkbox for each OID you want to add to a Dynamic Application.
  3. In the Select Actions field, select the Dynamic Application to which you want to add the selected OID(s).
  4. Select the Go button.
  5. The Collection Objects page for the new or existing Dynamic Application appears, where you can use the OID to define a collection object, edit the parameters for the collection object, and save the collection object in the Dynamic Application.

You can also add an OID to a Dynamic Application from the OID Browser page. To learn more, see the section Adding an OID to a Dynamic Application from the OID Browser.