Volumes de 16 To et SNMP sous Windows

12

Comme les volumes supérieurs à 16 To sont devenus plus courants, il a été reconnu que la valeur de 32 bits utilisée pour signaler la taille et l'utilisation du disque dans la MIB "HOST-RESOURCES" standard dans SNMP n'était pas assez grande pour signaler la taille appropriée du disque.

Net-SNMP semble avoir résolu ce problème en manipulant simplement la valeur de "AllocationUnits" pour maintenir une valeur de 32 bits pour l'utilisation du disque (puisque la taille / utilisation totale du disque est égale à la valeur d'espace de 32 bits multipliée par l'unité d'allocation), pour permettre pour le calcul d'un volume supérieur à 8 / 16TB. En supposant que vous n'avez aucun intérêt à déclarer dans l'unité d'allocation et que vous êtes d'accord avec un petit niveau d'inexactitude. cela semble être une solution élégante.

https://bugzilla.redhat.com/show_bug.cgi?id=654384

Cependant, le service SNMP intégré à Windows semble continuer de souffrir de cette erreur, signalant simplement le module de l'espace disque utilisé / attribué, ce qui entraîne des rapports de taille de disque inexacts.

Existe-t-il un moyen d'activer Windows pour signaler correctement l'utilisation du disque pour les volumes supérieurs à 16 To? Nous avons tenté d'installer simplement Net-SNMP 5.5 x64 et de désactiver complètement le service SNMP de Windows, mais cela n'a malheureusement pas résolu notre problème.

Lorsque vous utilisez les extensions NetSNMP, les informations que nous collectons pour le disque particulier qui nous intéresse sont les suivantes:

entrez la description de l'image ici

Ces résultats sont les mêmes, que nous utilisions le service SNMP vanilla de Windows ou NetSNMP.

J'ai vu des gens de la communauté Cacti mentionner simplement la rédaction d'une solution. Malheureusement, nous utilisons Observium pour une surveillance rapide et basique des systèmes. Si le problème ne peut pas être corrigé du côté de la fenêtre, Observium peut-il être fait pour signaler des MIB personnalisés?

- Mise à jour -

En examinant la mention du rapport de bogue concernant l'ajout de "realStorageUnits" au fichier snmpd.conf, nous avons rencontré le problème suivant lors de la définition de cette directive:

realStorageUnits mise sur nous

- Mise à jour 2 -

Eh bien, après beaucoup de bricolage, cela ne ressemble à aucune des versions Windows de Net-SNMP comme la directive "realStorageUnits". L'inclusion de la directive entraîne un avertissement lors du démarrage de SNMP. Nous avons essayé les versions 5.5, 5.6 et 5.7. Quelqu'un a-t-il déjà trouvé comment obtenir que SNMP signale plus de 16 volumes de To sous Windows?

Univ426
la source
Vous dites que l'installation de Net-SNMPD n'a pas résolu le problème. Voulez-vous dire qu'il n'ajuste pas les unités d'allocation comme l'intention ou que vous n'avez pas réussi à le faire fonctionner?
Alexander Janssen
Cela ne semblait pas changer les unités d'allocation. Le service a bien fonctionné, mais à la fin, il n'a pas semblé changer ce qui était signalé - la valeur du disque était toujours incorrecte et les différentes valeurs signalées étaient toujours les mêmes qu'avant. Je peux cependant confirmer que "Service SNMP" a été arrêté et que "Service Net-SNMP" a été démarré. Y a-t-il une chance que je configure quelque chose de mal?
Univ426
Une petite note supplémentaire, j'expose les arbres en utilisant une configuration v2c "rwcommunity <string>" très basique à des fins de test.
Univ426
Pour commencer, vous pouvez interroger l'OID .1.3.6.1.4.1.2021.100.2.0pour vérifier si c'est vraiment Net-SNMP qui répond. Sur mes hôtes (Linux) avec Net-SNMP, cela donneSNMPv2-SMI::enterprises.2021.100.2.0 = STRING: "5.4.1"
Alexander Janssen
J'obtiens "UCD-SNMP-MIB :: versionTag.0 = STRING: 5.5" semble un peu différent, mais netSNMP 5.5 est la version que j'ai installée. En désactivant Net-SNMP et en activant le service SNMP de Windows, j'obtiens "UCD-SNMP-MIB :: verionTag.0 = Il ne reste plus de variables dans cette vue MIB". Il semble donc que NetSNMP fonctionne définitivement
Univ426

Réponses:

2

Il y a quelque temps, il y avait un correctif pour Net-SNMP 5.5 qui introduisait une nouvelle option realStorageUnitspour le fichier de configuration.

Extrait du rapport de bug Redhat # 748410 :

Pour résoudre ce problème [valeurs hrStorageSite négatives], cette mise à jour ajoute une nouvelle option au fichier de configuration /etc/snmp/snmpd.conf, realStorageUnits. En modifiant la valeur de cette option à 0, les utilisateurs peuvent désormais activer le recalcul de toutes les valeurs dans hrStorageTable pour garantir que la multiplication de hrStorageSize et hrStorageAllocationUnits produit toujours une taille de périphérique précise.

(le texte entre [crochets] est le mien)

Ainsi, l'ajout de la directive de configuration realStorageUnits 0à votre snmpd.conf pourrait résoudre votre problème.

Cependant, les valeurs ne seront pas correctes jusqu'au dernier mégaoctet; ymmv.

Je ne peux pas dire si ce correctif a été inclus dans votre distribution binaire de Net-SNMP, mais ce serait formidable si vous pouviez rapporter les résultats et quel binaire vous utilisez. De plus, je ne l'ai pas testé pour le manque de matériel adéquat pour le moment.

Alexander Janssen
la source
Merci Alex, nous avons essayé cela auparavant - avec beaucoup d'espoir - malheureusement quand nous le faisons, nous obtenons l'erreur suivante - C: /usr/etc/snmp/snmpd.conf: ligne 2: Avertissement: jeton inconnu: realStorageUnits. Cette directive vient-elle d'être déposée n'importe où, juste en dessous de "rwcommunity private" par exemple?
Univ426
Haha, oui, j'ai déjà fait cette erreur une fois - j'ai revérifié, mais je mettrai à jour ma question avec une photo.
Univ426
Y a-t-il une chance que j'écrive mal cette directive?
Univ426
Non, ça a l'air bien. Désolé, je suis perdu maintenant. Je n'ai pas de machine appropriée avec votre version de Windows pour vérifier cela, mais, pour être honnête, votre snmpd.conf semble un peu "petit". Essayez plutôt cette configuration minimale pour v2c . Je ne sais pas si cela vous aidera, mais cela vous assurera que rien d'autre ne se produit. Et adaptez le réseau dans la directive localnet.
Alexander Janssen
5.5 sur Linux avec ma configuration minimale commence heureusement avec la realStorageUnitsdirective. Si cela ne fonctionne toujours pas pour vous, j'ai le sentiment distinct que cette fonctionnalité n'est en quelque sorte pas incluse dans le binaire NetSNMP que vous utilisez.
Alexander Janssen
1

Je sais que ce n'est pas une réponse directe à votre question, mais peut-être que cela vous aidera. Je vous suggère d'essayer de contacter l'équipe qui crée l'informateur SNMP: http://www.snmp-informant.com/

Ils étendent l'agent SNMP Windows pour contourner les limitations de Microsoft pour certains de leurs OID. Je l'utilise avec Zenoss pour obtenir des numéros d'utilisation et de stockage du processeur plus précis et il y a de fortes chances que cela fonctionne autour de votre problème, mais je ne peux pas le dire avec certitude.

SpacemanSpiff
la source
Vous pouvez également l'utiliser pour interroger les compteurs WMI à la place, peut-être.
SpacemanSpiff
Pas une mauvaise idée, j'en serai sûr. En théorie, les bibliothèques Net-SNMP devraient faire de même, mais leur niveau de personnalisation apparent pourrait être utile, merci!
Univ426