I have learned SNMP recently. Basically, I understood it by making a comparison with a normal database system. So let me just run you through an overview of my understanding.
So, we have a central database (the big tree), which consists of all the information about the system, network, interfaces and other resources in a structured manner as described by MIB files. Each piece of information is identified by an OID (object identifier). Using various commands like
snmpbulkwalk etc, the SNMP MASTER can fetch each piece of information or many at a time from the agent. These commands are actually querying the central database for information and sending it to the MASTER.
MASTER can update this central database by using a
snmpinform are the commands that agent uses to tell the MASTER about the occurrence of an event. So, if I do the following:
snmptrap -v 2c -c public localhost "" NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatNotification netSnmpExampleHeartbeatRate i 9323
The agent will the MASTER that his
9323. So, is this information stored in the central database under the OID -
$snmptranslate NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatRate -On
I tried a
snmpget to confirm it.
$snmpget -v2c -c public localhost NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatRate
NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatRate = No Such Object available on this agent at this OID
See, it tells no object available. What I understand is that it is not stored anywhere.
snmptrap sends the information, and that is it. Now I have understood that I can log the trap information. But does it store it anywhere in a place which can be queried? Did I miss anything?