RAM negative sur certains hosts linux supervisés en SNMP

Décrivez les fonctionnalités que vous souhaitez pour EyesOfNetwork
Répondre
sebc
Messages : 2
Enregistré le : 21 octobre 2019, 16:10

RAM negative sur certains hosts linux supervisés en SNMP

Message par sebc » 18 novembre 2019, 14:10

Bonjour la communauté,

Je supervise un certain nombre de machines linux en SNMP dans EON.
Pour cela j'utilise le plugin check_snmp_mem.pl 2.1.0 (Patrick Proy, Jan Jungmann, Patrick Griffin)
Cela fonctionne bien pour bon nombre de systèmes mais j'ai remarqué que pour des systèmes plus récents (RHEL7/CentOS7), la valeur de la "RAM used" est négative.

Ce n'est pas trop mon fort mais j'ai essayé de décortiquer le script qui base le calcul sur la formule suivante : ram_used = ram_totale - (ram_free + ram_buffered + ram_cached)

Le problème semble venir de la valeur de ram_free remontée.
Le script utilise l'OID "1.3.6.1.4.1.2021.4.6.0", cependant la valeur remontée est trop élevée et ne correspond pas à la réalité ce qui fausse le calcul (le script en lui même effectue le bon calcul avec les valeurs de variables correspondant à ce qui est remonté)

Par exemple :
snmpget -v 2c -c comm IP.IP.IP.IP "1.3.6.1.4.1.2021.4.6.0"
UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 6117728 kB

Or, sur la machine en elle-même :
cat /proc/meminfo | grep MemFree
MemFree: 365336 kB

Je pourrais passer par du NRPE pour obtenir des informations plus fiables mais le but était d'obtenir un résultat "from scratch" sans avoir à configurer des commandes NRPE sur tous les systèmes concernés.

J'ai cependant remarqué que le localhost (EON en CentOS 7.5) qui utilise la même commande de monitoring ne présente pas ces différence de valeur entre les deux interrogations :
snmpget -v 2c -c comm 127.0.0.1 "1.3.6.1.4.1.2021.4.6.0" && cat /proc/meminfo | grep MemFree
UCD-SNMP-MIB::memAvailReal.0 = INTEGER: 1159424 kB
MemFree: 1156944 kB

Avez-vous été confrontés à cette problématique et si oui comment l'avez-vous réglée?

Merci d'avance pour vos retours.

Bonne journée

Répondre