In SNMP (net-snmp) fehlen 64-Bit-Zähler unter FreeBSD 9.1 (ifHCInOctets / ifHCOutOctets)

1

Ich verwende SNMP (vom Port net-mgmt / net-snmp, v5.7.2, kompiliert mit "MFD_REWRITES") auf einem FreeBSD9.1-RELEASE-System. Aus irgendeinem Grund scheint die ifXTable-MIB (1.3.6.1.2.1.31.1.1.1) die HC-Zähler (wie ifHCInOctets (1.3.6.1.2.1.31.1.1.1.6) zum Beispiel).

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

Und bei Listing 1.3.6.1.2.1.31.1.1.1 bekomme ich

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
...

Mir scheint, als ob "viel" da wäre. Aber nicht die ifHC[In|Out]Octets...

Wie Sie sehen können, verwenden meine Schnittstellen die "vr" (Via Rhine) und "re" (Realtek). Hat jemand einen Tipp?

scherand
quelle

Antworten:

3

Ich stellte fest, dass das Problem bei meiner Abfrage zu liegen scheint: Aus irgendeinem (unbekannten) Grund das Perl-Modul SNMP::Util Wenn ich SNMP-Abfragen mit Protokollversion 1 bedingungslos abschicke, kann SNMP v1 keine 64-Bit-Zähler verarbeiten.

Also versuchte ich es mit Net::SNMP::Util Stattdessen können Sie die zu verwendende SNMP-Protokollversion angeben. Und voilà, es funktioniert.

Verwenden snmpwalk aus der Schale ergibt sich auch dies:

$ 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
scherand
quelle