MIB中的对象使用A ASN.1的子集定义。以下为
nsMemory OBJECT IDENTIFIER ::= {netSnmpObjects 31}
nsSwap OBJECT IDENTIFIER ::= {netSnmpObjects 32}
nsCPU OBJECT IDENTIFIER ::= {netSnmpObjects 33}
nsLoad OBJECT IDENTIFIER ::= {netSnmpObjects 34}
nsDiskIO OBJECT IDENTIFIER ::= {netSnmpObjects 35}
然后,只有OBJECT的格式。真正的价值在哪里,如“2048”? snmpd会立即处理并计算出来吗?
答案 0 :(得分:1)
MIB不包含值。它们仅定义SNMP代理(硬件设备或应用程序)向SNMP管理器报告的值的名称和类型。
在您的代码段中,您引用OBJECT IDENTIFIER
作为OID树中无值节点的“名称”。通常,一个或多个OBJECT TYPE
子句逻辑链接在OBJECT IDENTIFIER
下面,其中OBJECT TYPE
为来自SNMP代理的SNMP数据定义“名称”和“值类型”。
在以下示例中,sysUpTime
链接在OID树中的无值system
(1.3.6.1.2.1.1
)节点下。这里sysUpTime
用作名称(1.3.6.1.2.1.1.3
节点对应),用于处理TimeTicks
类型的值:
system OBJECT IDENTIFIER ::= { mib-2 1 }
sysUpTime OBJECT-TYPE
SYNTAX TimeTicks
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The time (in hundredths of a second) since
the network management portion of the system
was last re-initialized."
::= { system 3 }
MIB主要用于人(操作SNMP管理器)来读取,解释和导航SNMP代理提供的SNMP数据。完全可以在没有任何MIB文件的情况下运行SNMP。在协议级别,只有OID用于引用值。
您可能会发现this explanation与您的问题相关。