SNMP (net-snmp) non ha contatori a 64 bit su FreeBSD 9.1 (ifHCInOctets / ifHCOutOctets)


1

Sto usando SNMP (dalla porta net-mgmt / net-snmp, v5.7.2, compilato con "MFD_REWRITES") su un sistema FreeBSD9.1-RELEASE. Per qualche ragione, ifXTable MIB (1.3.6.1.2.1.31.1.1.1) sembra che manchi i contatori HC (come ifHCInOctets (1.3.6.1.2.1.31.1.1.1.6) per esempio).

get (noSuchName) There is no such variable name in this MIB.
snmpget localhost <hostname> 1.3.6.1.2.1.31.1.1.1.6.5
snmpget localhost <hostname> ifHCInOctets.5
snmp error index = 1

E quando elenco 1.3.6.1.2.1.31.1.1.1 ottengo

usbus0 ifName.1
...
vr0 ifName.5
...
re0 ifName.8
...
re0.10 ifName.12
...
tun0 ifName.17
...
79144352 ifInMulticastPkts.5
...
120009 ifInMulticastPkts.8
...
43670 ifInMulticastPkts.12
...
0 ifInBroadcastPkts.5
...
0 ifOutMulticastPkts.5
...
0 ifOutBroadcastPkts.5
...
100 ifHighSpeed.5
...
1000 ifHighSpeed.8
...
false ifPromiscuousMode.5
...
true ifConnectorPresent.5
...
 ifAlias.5
...
0:00:00 ifCounterDiscontinuityTime.5
...

A me sembra che ci sia "molto". Ma non il ifHC[In|Out]Octets...

Come puoi vedere le mie interfacce usano "vr" (Via Reno) e "re" (Realtek). Qualcuno ha un suggerimento?

Risposte:


3

Ho scoperto che il problema sembra essere il mio interrogativo: per qualche (sconosciuto) motivo il modulo perl SNMP::Util che sto usando incondizionatamente invia query SNMP usando il protocollo versione 1. E SNMP v1 non può gestire i contatori a 64 bit.

Così ho provato a usare Net::SNMP::Util invece che ti permette di specificare la versione del protocollo SNMP da usare. E voilà, funziona.

utilizzando snmpwalk dalla shell rivela anche questo:

$ snmpwalk -Os -c <community> -v 1 localhost 1.3.6.1.2.1.31.1.1.1 | grep 'ifHC.*Octets' |wc -l
   0
$ snmpwalk -Os -c <community> -v 2c localhost 1.3.6.1.2.1.31.1.1.1 | grep 'ifHC.*Octets' |wc -l
  34
$ snmpwalk -Os -c <community> localhost 1.3.6.1.2.1.31.1.1.1 | grep 'ifHC.*Octets' |wc -l
  34
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.