SNMP Walk vs. MIB-OID-Auflistung

SNMP Walk vs. MIB-OID-Auflistung

(Am Ende dieser Geschichte gibt es eine Frage, bleiben Sie dran!)

Nach vielen Recherchen glaube ich, dass ich die Grundlagen von SNMP zu verstehen beginne. Ich wusste immer, dass ein SNMP-Verwaltungssystem Daten von einem Gerät konsumieren würde (und möglicherweise auch Daten an Geräte senden würde), aber ich hatte Probleme zu verstehen, wie man dieses Setup konfiguriert.

Ich verwende jetzt ein SNMP-Verwaltungssystem, also war es an der Zeit, es herauszufinden. Also habe ich mich eingehend mit MIBs und OIDs beschäftigt. Meiner Ansicht nach wird ein Anbieter eine MIB für sein Produkt herausgeben, die produktspezifische OIDs enthalten sollte. Die MIB ist wie ein Katalog von Dingen, die vom Gerät abgefragt werden können, und die OIDs sind die spezifischen Elemente, die abgefragt werden können. (Bitte korrigieren Sie mich, wenn ich etwas falsch verstehe.)

Beispielsweise stellt SonicWall möglicherweise eine MIB für eine bestimmte Firmware für eine ihrer Firewalls bereit. Wenn ich also die für diese Firewall verfügbaren Max Connections überwachen möchte, lade ich die MIB von mysonicwall.com herunter, importiere die MIB in einen MIB-Browser und suche nach einer geeigneten OID, die Max Connections entspricht. Dann kann ich diese OID in mein SNMP-Verwaltungssystem eingeben, um diese Metrik zu überwachen.

Das alles ergibt für mich Sinn, ich hoffe, ich verstehe es richtig. Ich finde den Prozess ziemlich umständlich, vor allem, da es heutzutage selbstbeschreibende APIs gibt, aber hey, SNMP wurde in den 80ern entwickelt, also denke ich, dass wir mit dem arbeiten, was wir haben.

Dieses Verständnis bricht für mich jedoch zusammen, wenn ich einen SNMP-Walk auf meiner SonicWall durchführe. Dabei werden über 500 OIDs zurückgegeben. Wenn ich jedoch die von SonicWall bereitgestellte MIB untersuche, ist nur ein Bruchteil dieser OIDs aufgelistet. Liegt das daran, dass die meisten der über den Walk entdeckten OIDs nicht SonicWall-spezifisch sind, sondern generische Industriestandard-OIDs?

Gibt es außerdem eine vernünftige Möglichkeit, einen Bericht über ALLE Daten (sei es SonicWall-spezifisch oder Industriestandard), die meine SonicWall über SNMP bereitstellen kann, zu erhalten? Wie etwa ein Tool, in das ich die Daten vom SNMP-Weg eingeben kann und das dann die Bedeutung aller Daten zurückgibt?

Wenn ich noch Lücken in meinem Verständnis von SNMP, MIBs und OIDs habe, freue ich mich über Feedback. Danke!!!!

Antwort1

Okay, hier ist also, was meine SNMP-Recherche ergeben hat. Ich kann nicht bestätigen, dass das alles 100 %ig richtig ist, aber ich habe das Gefühl, dass ich SNMP im Allgemeinen viel besser verstehe, und hoffentlich helfen diese Informationen jemandem, der gerade erst anfängt.

Erstens scheint mir SNMP ein chaotisches System zu sein. Es wurde in den späten 80ern entwickelt und es gibt einfach keine gute Alternative, also arbeiten wir wohl mit dem, was wir haben.

SNMP besteht aus drei Teilen: einem SNMP-Verwaltungssystem, mindestens einem Netzwerkgerät und einem Softwareagenten auf diesen Netzwerkgeräten. Sie können beispielsweise Naigos oder MaxFocus als SNMP-Verwaltungssystem verwenden, um Geräte in Ihrem Netzwerk wie Drucker, Switches, Router usw. abzufragen. Auf diesen Geräten laufen alle kleine Softwarekomponenten, die von ihren Herstellern erstellt wurden. Diese Softwarekomponenten erzeugen im Grunde eine Menge SNMP-Daten basierend auf der Funktionsweise des Geräts. Beispielsweise kann ein Drucker Daten zu seinem Tonerstand erzeugen oder ein Router Daten dazu, wie viele gleichzeitige Verbindungen er derzeit unterstützt. Das SNMP-Verwaltungssystem kann diese Geräte dann nach diesen Informationen abfragen.

Aber wie wird das eigentlich gemacht? Nun, einige Standardisierungsorganisationen haben in den 80er Jahren MIBs zusammengestellt, um dabei zu helfen. Eine MIB ist im Grunde ein großer Datenbaum mit abfragbaren SNMP-Attributen. Diese Standard-MIBs decken eine große Anzahl abfragbarer Attribute ab – vom Toner bis zu den Netzwerkeinstellungen –, aber wie Sie sich vorstellen können, decken sie mit der Entwicklung neuer Geräte und Technologien nicht alles ab. Daher haben Hersteller produktspezifische MIBs entwickelt, die helfen, diese Lücken zu schließen.

MIBs klingen ziemlich toll, aber in Wirklichkeit sind sie oft schwer zu verstehen und schlecht geschrieben. Manchmal sind sie nicht nach den richtigen Spezifikationen geschrieben, sodass ihre Verwendung schwierig wird. Das allgemeine Verfahren zur Verwendung einer MIB, um herauszufinden, welche Elemente Sie auf dem Gerät Ihrer Wahl (Router, Drucker usw.) abfragen können, ist folgendes:

  1. Holen Sie sich eine kostenlose MIB-Browser-Software. Sie sind alle Mist, aber ich finde, dass NetTools Pro von Axence oder der MIB-Browser von ManageEngine am wenigsten Mist sind.
  2. Die meisten MIB-Browser sind mit den „Standard“-MIB-Dateien vorinstalliert. Wenn Sie jedoch wissen möchten, welche herstellerspezifischen Elemente Sie auf Ihren Geräten abfragen können, müssen Sie eine benutzerdefinierte MIB-Datei von Ihrem Hersteller herunterladen. (Sonicwall, HP usw.) Wenn Ihr Hersteller keine MIB-Dateien anbietet, gibt es einige Online-Ressourcen, die eine Reihe von MIB-Dateien hosten. Ich glaube, es gibt eine namens MIB Depot oder so ähnlich …
  3. Sobald Sie Ihre benutzerdefinierte, herstellerspezifische MIB-Datei heruntergeladen haben, importieren Sie sie in Ihren MIB-Browser.
  4. Jetzt führen wir einen sogenannten „Walk“ mit Ihrem SNMP-Gerät durch. Dazu müssen Sie die IP-Adresse des Geräts und dessen Community-String eingeben. (Der Community-String ist eigentlich nur ein Passwort oder ein gemeinsam genutztes Geheimnis, das zur Authentifizierung verwendet wird. Warum die Entwickler von SNMP beschlossen haben, es anders zu machen und es Community-String zu nennen, ist mir schleierhaft...) Ich sollte auch erwähnen, dass das Gerät, das Sie abfragen, so eingerichtet sein muss, dass es SNMP-Abfragen zulässt. Dies geschieht normalerweise über die Weboberfläche des Geräts, wo Sie normalerweise auch den Community-String festlegen.
  5. Sobald Sie Ihren MIB-Browser mit Ihrem Gerät verbunden haben, führen Sie die „Walk“-Funktion aus. Jeder MIB-Browser funktioniert ein wenig anders, Sie müssen also ein wenig herumprobieren, um herauszufinden, wie die Walk-Funktion funktioniert. Aber im Allgemeinen sollte er eine Liste von OIDs von Ihrem Gerät zurückgeben. Diese IDs entsprechen einem Eintrag in den MIB-Dateien. Normalerweise können Sie auf eine dieser OIDs doppelklicken oder sie markieren, und es wird das entsprechende MIB-Element gefunden, das Ihnen sagt, wofür diese OID verwendet wird, z. B. Tonerfüllstände, Betriebssystemversion, Netzwerkverbindungen usw. Dann können Sie die OID-Nummer in Ihr SNMP-Verwaltungssystem eingeben und mit der Überwachung dieses Attributs beginnen!

Nach all meinen Recherchen halte ich SNMP zumindest für ein sehr fehlerhaftes und umständliches System. Aber nach dem, was ich gelesen habe, scheint es zumindest zuverlässig und schnell zu sein, wenn man es einmal konfiguriert hat. Ich hoffe, diese Informationen helfen jemandem, der gerade erst in die Welt von SNMP eintaucht! Hier ist eine weitere Referenz, die ich hilfreich fand:

http://www.allthingsmax.com/2014/02/take-snmp-walk-creating-new-snmp-checks.html

UPDATE: Ich werde hier noch einen weiteren Tipp hinzufügen. Beim Durchgehen der OID-Werte eines Geräts können Sie möglicherweise zwei verschiedene Arten von Werten abrufen: skalare und tabellarische.

Tabellarisch wird für Geräte verwendet, die denselben Wertetyp für mehrere Komponenten bereitstellen müssen. Ein Router kann beispielsweise 9 Ports haben. Jeder Port hat eine andere physische Adresse oder MAC-Adresse. Dies wird durch eine Tabelle in einer MIB dargestellt.

Skalar wird für Werte verwendet, die kein tabellarisches Layout erfordern.

DER WICHTIGE TEIL: Skalare Werte werden immer mit einer .0 angehängt und tabellarische Werte werden mit einer Zahl angehängt, die einen bestimmten Gerätewert darstellt. Beispielsweise würde an einem Router Port 1 wahrscheinlich eine .1 angehängt, Port 2 eine .2 und so weiter. Wenn Sie dann die OID in Ihr SNMP-Verwaltungssystem eingeben, müssen Sie sicherstellen, dass Sie dieses letzte numerische Zeichen einschließen. Beispielsweise ifPhysAddress = .1.3.6.1.2.1.2.2.1.6, aber ohne Anhängen eines tabellarischen Wertes nützt Ihnen das nichts. Dies ist ähnlich für skalare Werte, an die immer eine .0 angehängt werden muss. Ein anständiger MIB-Browser sollte Ihnen diese angehängten Werte anzeigen, wenn Sie das Gerät durchsuchen. Der MIB-Browser von ManageEngine macht das gut. Er formatiert es wie folgt:

--Skalare Werte:

sysUpTime.0

sysContact.0

sysName.0

--Tabellenwerte:

ifPhysAddress.1

ifPhysAddress.2

ifPhysAddress.3

...

verwandte Informationen