проблемы с snmp конвертировать Gauge32 в Interger - PullRequest
0 голосов
/ 10 апреля 2020

Мне нужно попытаться получить трафик скорости передачи карты классов c от маршрутизатора Cisco. ios XE

. Я получаю oid от Cisco https://www.cisco.com/c/en/us/support/docs/ip/simple-network-management-protocol-snmp/119031-technote-router-00.html

*. 1007 * OID postbitrate дает мне только Gauge32

+ - -R-- Датчик cbQosCMPostPolicyBitRate (11)

, поэтому, когда мой полицейский трафик c равен под номером: 4 294 967 295, я получаю правильное значение

, но когда трафик c go выше 4 294 967 295 бит, например, мой реальный трафик политики c бит / с составляет: 4 665 204 000, и когда я пытаюсь получить в snmp я получаю значение 376,176,704 (только 9 цифр)

snmpwalk -v2c -c ABCDED X.X.X.X iso.3.6.1.4.1.9.9.166.1.15.1.1.11
iso.3.6.1.4.1.9.9.166.1.15.1.1.11.1298180580.131072 = Gauge32: 376176704

, как конвертировать правильное значение Gauge32, когда мой траффи c равен go до 4 294 967 295 бит / с

i знаю, что только 32-разрядный может обрабатывать максимум 4 294 967 295

, но в Cisco MIB. и для post -rate карты политик, только возврат Gauge32 ...

1 Ответ

1 голос
/ 11 апреля 2020

Это называется условием "обтекание счетчика SNMP" (его можно погуглить). Это подробно описано на этой странице Cisco произошла одна перестановка счетчика, и вы добавили 2 ^ 32-1 к последнему значению.

Альтернатива - найти 64-разрядный счетчик, обычно определяемый в более новой MIB.

...