2013-02-26 184 views
0

模擬在bash下如何通過MIB名稱獲取SNMP值?

snmpwalk -c SNMP1TV01 -v 2c 127.0.0.1 IF-MIB::ifName | grep bond0 
IF-MIB::ifName.8 = STRING: bond0 
snmpwalk -c SNMP1TV01 -v 2c 12.0.0.0.1 IF-MIB::ifHCOutOctets | grep 8 
IF-MIB::ifHCOutOctets.8 = Counter64: 13775300423919 

我不能OID做,因爲以太網接口的變化往往

回答

1

雖然我不熟悉的node.js無法將其檢索表,而不是隻是走樹的那部分,例如

snmptable -M +. -m +ALL -v 2c -c public -Pu -Ci 127.0.0.1 IF-MIB:ifXTable 
SNMP table: IF-MIB::ifXTable 

index ifName ifInMulticastPkts ifInBroadcastPkts ifOutMulticastPkts ifOutBroadcastPkts ifHCInOctets ifHCInUcastPkts ifHCInMulticastPkts ifHCInBroadcastPkts ifHCOutOctets ifHCOutUcastPkts ifHCOutMulticastPkts ifHCOutBroadcastPkts ifLinkUpDownTrapEnable ifHighSpeed ifPromiscuousMode ifConnectorPresent ifAlias ifCounterDiscontinuityTime 
1  lo     0     0     0     0 3675102238172  2759723359     0     0 3675102238172  2759723359     0     0      ?   10    false     ?      0:0:00:00.00 
2  bond0    959     0     0     0 21395174710  43909149     959     0 5835176503   49589529     0     0      ?  1000    false    true      0:0:00:00.00 

<not showing my other interfaces> 

提取出相關值....

snmptable -M +. -m +ALL -v 2c -c public -Pu -Ci 127.0.0.1  IF-MIB:ifXTable | grep bond0 | awk '{print $11}' 
5835176503