Mit zunehmender Verbreitung von Volumes mit mehr als 16 TB wurde erkannt, dass der 32-Bit-Wert, mit dem die Festplattengröße und -nutzung in der Standard-MIB "HOST-RESOURCES" in SNMP gemeldet wurde, nicht groß genug war, um die richtige Festplattengröße zu melden.
Net-SNMP scheint dieses Problem behoben zu haben, indem es einfach den Wert von "AllocationUnits" manipuliert, um einen 32-Bit-Wert für die Datenträgernutzung beizubehalten (da die gesamte Datenträgergröße / -nutzung gleich dem 32-Bit-Speicherplatzwert multipliziert mit der Zuordnungseinheit ist) für die Berechnung eines Volumens größer als 8 / 16TB. Vorausgesetzt, Sie haben kein Interesse an der Zuordnungseinheit und sind mit einem geringen Grad an Ungenauigkeit in Ordnung. Das scheint eine elegante Lösung zu sein.
https://bugzilla.redhat.com/show_bug.cgi?id=654384
Der in Windows integrierte SNMP-Dienst scheint jedoch weiterhin unter diesem Fehler zu leiden, da lediglich das Modul des verwendeten / zugewiesenen Speicherplatzes gemeldet wird, was zu einer ungenauen Meldung der Festplattengröße führt.
Gibt es eine Möglichkeit, Windows zu ermöglichen, die Datenträgerverwendung für Volumes über 16 TB korrekt zu melden? Wir haben versucht, Net-SNMP 5.5 x64 einfach zu installieren und den Windows-SNMP-Dienst vollständig zu deaktivieren. Dies hat unser Problem jedoch leider nicht behoben.
Bei Verwendung der NetSNMP-Erweiterungen werden folgende Informationen für die betreffende Festplatte erfasst:
Diese Ergebnisse sind gleich, unabhängig davon, ob wir den Vanilla Windows SNMP-Dienst oder NetSNMP verwenden.
Ich habe Leute in der Cacti-Community gesehen, die erwähnt haben, dass sie einfach eine Lösung geschrieben haben. Leider verwenden wir Observium zur schnellen und grundlegenden Systemüberwachung. Kann Observium benutzerdefinierte MIBs melden, wenn das Problem auf Fensterseite nicht behoben werden kann?
- Update -
Als wir uns die Erwähnung des Fehlerberichts zum Hinzufügen von "realStorageUnits" zur Datei "snmpd.conf" angesehen haben, stellten wir beim Festlegen dieser Anweisung das folgende Problem fest:
- Update 2 -
Nun, nach langem Herumbasteln sieht es nicht wie eine der Windows-Versionen von Net-SNMP aus, wie die "realStorageUnits" -Direktive. Das Einschließen der Direktive führt zu einer Warnung beim Starten von SNMP. Wir haben Version 5.5, 5.6 und 5.7 ausprobiert. Hat jemand hier jemals herausgefunden, wie man SNMP dazu bringt, über 16 TB Volumes unter Windows zu berichten?
quelle
.1.3.6.1.4.1.2021.100.2.0
, um zu überprüfen, ob wirklich Net-SNMP antwortet. Auf meinen (Linux) Hosts mit Net-SNMP gibt esSNMPv2-SMI::enterprises.2021.100.2.0 = STRING: "5.4.1"
Antworten:
Vor einiger Zeit gab es einen Patch für Net-SNMP 5.5, der eine neue Option
realStorageUnits
für die Konfigurationsdatei einführte .Aus dem Redhat Bugreport # 748410 :
(Text in [Klammern] gehört mir)
realStorageUnits 0
Wenn Sie also die Konfigurationsanweisung zu Ihrer snmpd.conf hinzufügen, könnte dies Ihr Problem lösen.Die Werte sind jedoch bis zum letzten Megabyte nicht korrekt. ymmv.
Ich kann nicht sagen, ob dieser Patch in Ihrer Binärdistribution von Net-SNMP enthalten war, aber es wäre großartig, wenn Sie die Ergebnisse und die von Ihnen verwendete Binärdatei melden könnten. Außerdem habe ich es nicht getestet, weil gerade keine ausreichende Hardware vorhanden ist.
quelle
realStorageUnits
Direktive. Wenn dies bei Ihnen immer noch nicht funktioniert, habe ich das Gefühl, dass diese Funktion in der von Ihnen verwendeten NetSNMP-Binärdatei nicht enthalten ist.Ich weiß, dass dies keine direkte Antwort auf Ihre Frage ist, aber vielleicht hilft es. Ich schlage vor, Sie versuchen, das Team zu kontaktieren, das SNMP Informant erstellt: http://www.snmp-informant.com/
Sie erweitern den Windows-SNMP-Agenten, um die Einschränkungen von Microsoft für einige ihrer OIDs zu umgehen. Ich verwende es mit Zenoss, um genauere CPU-Auslastungs- und Speicherzahlen zu erhalten, und es besteht eine gute Chance, dass dies Ihr Problem umgeht, aber ich kann es nicht mit Sicherheit sagen.
quelle