FAQ:MIBs 09
Do I actually need the MIB files?
Probably not. The MIB files play two main roles - they are used to translate between numeric OIDs and the corresponding textual names, and they define the structure and syntax of the relevant MIB objects.
This second role is perhaps best thought of in terms of a design document. It's vital while developing an application (typically the MIB module or handler within the agent), since it defines what the application (MIB) must actually do. But once the code has been written, the design document becomes redundent. The agent then has the same information hardcoded into it (literally!), and no longer needs the MIB file.
The translation task is not strictly necessary - SNMP will operate fine without any MIB files at all, as long as you're happy to work with numeric OIDs throughout, and know which MIB objects you're interested in. But it's much easier to work with the (hopefully) meaningful names, enumeration tags and the like, and to view the description of a particular object. This requires having the relevant MIB files installed and loaded.
Disabling Agent MIB Loading
Since the agent needs MIBs the least and some systems are memory restricted, it is possible to completely disable loading these MIBs as well as remove the code that does the parsing by using the --disable-mib-loading flag to configure.
However, note that certain snmpd.conf tokens actually make use of mib information so they won't be as easily usable.
FAQ:MIBs
- Where can I find a MIB compiler?
- Why aren't my MIB files being read in?
- Where should I put my MIB files?
- What does "Cannot find module (XXX-MIB)" mean?
- I'm getting answers, but they're all numbers. Why?
- What does "unlinked OID" mean?
- The parser doesn't handle comments properly. Why not?
- How can I get more information about problems with MIB files?
- What's this about "too many imported symbols"?
- Do I actually need the MIB files?