SNMP различия в значениях ifInOctets и ifHCInOctets

Я пытаюсь изобразить использование сети на моем маршрутизаторе для определенного интерфейса, используя данные из SNMP. Я знаю, что ifInOctets / ifOutOctets только 32-битный и будет переполняться на высоких скоростях и заставит мои графики выглядеть тупыми, но похоже, что различия в значениях, возвращаемых ifInOctets / ifOutOctets и ifHCInOctets / ifHCOutOctets, не всегда идентичны. Я несколько раз тестировал, используя snmpwalk | grep InOctets и вычитание значений. Иногда я вижу, что изменение в 32-битном счетчике значительно меньше (более 50%), чем изменение в 64-битной версии, а иногда я вижу, что это происходит в обратном направлении, когда 64-битный счетчик показывает меньшую дельту. .

Я что-то упустил в способе считывания 64-битных счетчиков или есть разница только в том, как обновляются их данные? 32-битные числа совпадают с тем, что находится в / proc / net / dev, поэтому я склонен верить им больше, но проблема упаковки делает их непригодными для использования, когда скорость становится слишком высокой:

dumb graphs with rollover

Вот несколько примеров, каждый snmpwalk запускался с интервалом примерно 10 секунд:

$ snmpwalk  -c public -v2c 192.168.1.1 | grep -i InOctets.2
IF-MIB::ifInOctets.2 = Counter32: 2291487255
IF-MIB::ifHCInOctets.2 = Counter64: 2901400127083

$ snmpwalk  -c public -v2c 192.168.1.1 | grep -i InOctets.2
IF-MIB::ifInOctets.2 = Counter32: 2297202283
IF-MIB::ifHCInOctets.2 = Counter64: 2901400298056

32-битное изменение: 5715028

64-битное изменение: 170973

$ snmpwalk  -c public -v2c 192.168.1.1 | grep -i InOctets.2
IF-MIB::ifInOctets.2 = Counter32: 2297528566
IF-MIB::ifHCInOctets.2 = Counter64: 2901400453366

32-битное изменение: 326283

64-битное изменение: 155310

5
задан 21 October 2016 в 18:24
2 ответа

Я бы сказал, что вам не следует перебирать все дерево OID SNMP, это занимает значительное время. Не могли бы вы попробовать snmpbulkwalk -c public -v2c 192.168.1.1 InOctets.2 и snmpbulkwalk -c public -v2c 192.168.1.1 ifHCInOctets.2 вместо этого? Но в любом случае эта разница выглядит странно. Есть ли у вас другие устройства SNMP для сравнения?

0
ответ дан 6 July 2020 в 17:26

RFC 2233 принял расширенные 64-битные счетчики для интерфейсов с высокой пропускной способностью, в которых 32-битные счетчики не обеспечивают достаточную емкость и слишком быстро переключаются.

https://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/26007-faq-snmpcounter.html

0
ответ дан 6 October 2020 в 06:45

Теги

Похожие вопросы