SNMP - What are .mib files used for, and why are there many of them for a single printer?
I am investigating methods of monitoring particular stats with printers. I am not very knowledgeable yet, and was just curious what .mib files are used for and why there are many of them for a printer?
Example: http://www.oidview.com/mibs/674/md-674-1.html
MIBs (Management Information Base) describe OIDs (Object Identifiers) for SNMP. Which is acronym soup. An OID turns something like
1.3.6.1.4.1.412.2.1
Into
dmtf.dmtfStdMifs.dmtfServiceLayerMIF
This is useful for monitoring applications, as they know what they're looking at. MIBs also include definitions for the kind of data returned by a specific OID, so they know to translate something to Int or DateTime.
There are so many of them for a single printer because MIBs are modular, and that printer uses a wide variety of SNMP modules.
SNMP uses syntax that's only pre-defined at the top level. Meaning that they left it up to each manufacturer to determine what each of their branches means, and how many leaves it has. It's similar to the DNS structure only there is no registrars, or TLDs. When you want to resolve all those numbers to queryable functions you use the manufacturer provided MIB file to load into your SNMP monitoring device. So that way the device knows what SNMP strings to query and what datatypes it can expect to return.
http://download.oracle.com/docs/cd/E13203_01/tuxedo/tux81/snmpmref/1tmib.htm#1030143
This is a good place to start.
MIBs are basically the things that gather/report information to SNMP.