Template:FAQ:Applications 02
Adding a MIB to the client-side tools has two main effects:
- it allows you to refer to MIB objects by name
(rather than having to use the numeric OIDs) - it allows the results to be displayed in a more immediately meaningful fashion. Not just giving the object names, but also showing named enumeration values, and interpreting table indexes properly (particularly for string and OID index values).
There are two steps required to add a new MIB file to the tools. Firstly, copy the MIB file into the appropriate location:
cp MY-MIB.txt /usr/local/share/snmp/mibs (which makes it available to everyone on the system)
or
mkdir $HOME/.snmp mkdir $HOME/.snmp/mibs cp MY-MIB.txt $HOME/.snmp/mibs (which makes it available to you only)
Note that the location of the shared MIB directory may be different from that given here - see the FAQ entry "Where should I put my MIB files?" for more information.
Secondly, tell the tools to load this MIB:
snmpwalk -m +MY-MIB .... (load it for this command only)
or
export MIBS=+MY-MIB (load it for this session only)
or
echo "mibs +MY-MIB" >> $HOME/.snmp/snmp.conf (load it every time)
Note that the value for this variable is the name of the MIB
module, not the name of the MIB file. These are typically
the same (apart from the .txt
suffix), but if in
doubt, check the contents of the file. The value to use is the
token immediately before the word DEFINITIONS
at
the start of the file.
Or use the special value "all
" to have the tools load all available
MIBs (which may slow them down, particularly if you have a large
number of MIB files).
Note that you need both steps.
Adding a MIB in this way does not mean that the agent will
automatically return values from this MIB. The agent needs to be
explicitly extended to support the new MIB objects, which typically
involves writing new code.
See the AGENT section for details.
Most of the tools (apart from snmptable
) will work quite happily
without any MIB files at all - although the results won't be displayed
in quite the same way. Similarly, the agent doesn't need MIB files
either (other than to handle MIB object names in the configuration file).