Table des matières
SNMP - Reset des compteurs 32-bits
Introduction
Beaucoup de variables accessibles via SNMP sont des compteurs. Les compteurs SNMP ne démarrent pas à une valeur prédéfinie et ils ne sont réinitialisés que quand ils atteignent leur valeur maximale. Pour cela, ils ne sont utiles que pour faire des échantillonnages de vitesses. En prenant deux valeurs d'un compteur, on peut calculer la vitesse en divisant la différence de ces valeurs par l'intervalle de temps qui les sépare.
L'exemple d'utilisation le plus probant est le monitoring de bande passante sur les interfaces via les compteurs d'octets pour mesurer le trafic d'entrée et de sortie (ifInOctets et ifOutOctets).
SNMP v1 ne prends en charge que les compteurs 32-bits. SNMP v2 et v3 incluent le support des compteurs 64-bits. Ces compteurs 64-bits ont des OID différents de leurs homologues 32-bits.
Références IF-MIB | |||
---|---|---|---|
32-bits | 64-bits | ||
ifInOctets | 1.3.6.1.2.1.2.2.1.10 | ifHCInOctets | 1.3.6.1.2.1.31.1.1.1.6 |
ifOutOctets | 1.3.6.1.2.1.2.2.1.16 | ifHCOutOctets | 1.3.6.1.2.1.31.1.1.1.10 |
Reset
La valeur maximale d'un compteur 32-bits est 4 294 967 295 (232 - 1). Puisqu'il s'agit d'un nombre d'octets, cela représente 34 359 738 360 bits ou 34 359,74 mégabits. Divisez cela par 300 (secondes en 5 minutes) et vous obtenez 114,5. Par conséquent, si la bande passante moyenne est supérieure à 114,5 Mbit/s pendant 5 minutes, vous allez dépasser la valeur maximale d'un compteur 32-bits. Lorsque le compteur dépasse cette valeur, il revient à zéro.
Si l'on dépasse la valeur maximale une seule fois pendant notre intervalle, ce n'est pas grave. Puisqu'on sait que la valeur des compteurs ne diminue jamais, si une nouvelle valeur est inférieure à la précédente, nous pouvons en déduire qu'elle a été resetté et on peut toujours calculer la vitesse normalement.
Le problème survient lorsque le compteur fait plusieurs tours. Il n'y a aucun moyen de savoir combien de fois il a été resetté, on devra donc supposer que la réponse est une fois. Lorsque la bande passante atteint environ 229 Mbit/s, le compteur resettera au moins deux fois en 5 minutes et les valeurs deviendront inutiles.
Quand cela se produit, si l'on ne possède que des compteurs 32-bits et aucuns 64-bits, la seule chose que l'on peut faire, c'est réduire l'intervalle de temps.
Solution
La valeur d'un compteur 32-bits étant dépassée très rapidement, lorsque l'élément supervisé possède un compteur 64-bits il vaut mieux utiliser celui-ci. La valeur maximale d'un compteur 64-bits est 18 446 744 073 709 551 615 (264 - 1).
Dans ESIA, les plugins de test de bande passante (CHECK_SNMP_INTERFACE_EASY & CHECK_SNMP_SW_INTERFACE_EASY) vont utiliser le compteur 64-bits en priorité.