SNMP

Funktion

Fragen Sie ein Gerät (normalerweise eine Art Netzwerkgerät) nach SNMP-Daten ab, indem Sie eine OID anfordern. Ermöglicht das Durchsuchen nach OIDs.

Alarmierend

Übertragungszeit, benutzerdefinierte Werte, Diff-Werte und String-Werte

Das Simple Network Management Protocol (SNMP) ist das mit Abstand dominierende Protokoll im Netzwerkmanagement. Ein Hauptgrund für seine weit verbreitete Akzeptanz, abgesehen davon, dass es der wichtigste Internetstandard für Netzwerkmanagement ist, ist seine relative Einfachheit. Die Implementierung der SNMP-Verwaltung in einem vernetzten Gerät ist weitaus unkomplizierter als die meisten anderen standardmäßigen oder nicht standardmäßigen Ansätze zur Netzwerkverwaltung.

Der SNMP-Manager oder die Verwaltungsanwendung verwendet eine wohldefinierte Benennungssyntax, um die Variablen für den SNMP- Agent anzugeben. Objektnamen in dieser Syntax werden Objektbezeichner (Objekt-IDs oder OIDs) genannt.

OIDs sind Zahlenfolgen, die ein Objekt für einen SNMP- Agent eindeutig identifizieren. OIDs sind in einer hierarchischen, invertierten Baumstruktur angeordnet. Der OID-Baum beginnt mit der Wurzel und erweitert sich in Zweige. Jeder Punkt im OID-Baum wird als Knoten bezeichnet und jeder Knoten hat einen oder mehrere Zweige oder endet mit einem Blattknoten. Das Format der OID ist eine Zahlenfolge mit Punkten dazwischen.

Die folgenden SNMP-Variablentypen werden für Werte unterstützt:

ASN_COUNTER

Nicht negative 32-Bit-Ganzzahl, die nur erhöht werden kann

ASN_GAUGE

32-Bit-Ganzzahl

ASN_INTEGER

32-Bit-Ganzzahl (-2 32 bis 2 32 ) RFC 1442

ASN_INTEGER64

64-Bit-Integer (-2 64 bis 2 64 ) RFC 1442

ASN_OPAQUE

schwimmend und doppelt gestützt

ASN_UNSIGNED64

64 Bit ohne Vorzeichen

ASN_COUNTER64

64 Bit ohne Vorzeichen

ASN_TIMETICKS

ohne Vorzeichen

All diese Werte und die Differenz zur letzten Messung werden in Float umgewandelt und dann an den Server übertragen.

Diff-Werte der oben genannten Typen werden automatisch durch die Zeit seit den letzten Messungen dividiert ((aktuellerWert - vorherigerWert) / (aktuelleZeitSekunden - vorherigeZeitSekunden)). Das bedeutet, dass wir für solche Diff-Werte immer eine Rate pro Sekunde erhalten.

ASN_BIT_STR

ASN_OCTET_STR

Diese Werte sind Zeichenfolgen und können alle druckbaren Zeichen enthalten.

SNMP-Funktionen

  • Online-MIB-Browser für die OID-Auswahl

  • Unendliche MIB-Dateien, Speicherort: /usr/share/snmp/mibs auf jedem SKOOR Engine Kollektor

  • Konfigurierbare Messeinheit

  • Automatische Differenzwerte

  • Version 1, 2c und v3 PDU-Unterstützung

  • v3-Verschlüsselungsunterstützung

  • n Schicht alarmierend

  • Auswahl der MIB2-Schnittstelle nach Namen

  • Referenzieren Sie OID-Namen auf OID-Nummern

  • Einstellbare Wiederholungen und Timeouts

  • Unterdrückbare Werte (reduziert die DB-Größe)

  • Strings (eine Zahl auf Text verweisen)

  • Zahlen aus Text-OID parsen (nur erster Wert)

SNMP-Details

SNMP-Parameter

Der Eingabebereich Authentifizierung wird nur angezeigt, wenn SNMP Version 3 ausgewählt ist.

Parameter

Beschreibung

Udp-hafen

Wählen Sie den UDP-Port (Standard ist 161)

Wiederholungen

Anzahl der Wiederholungen, wenn die Anfrage fehlschlägt. Standard ist 2 Wiederholungen.

Auszeit

Wählen Sie das Zeitlimit für die Anfrage aus. Auf den meisten Geräten werden SNMP-Anfragen mit niedriger Priorität behandelt, verwenden Sie also ein ausreichend hohes Zeitlimit. Standard ist 2s.

Ausführung

Wählen Sie die SNMP-Version aus, die vom entfernten SNMP-Daemon bereitgestellt wird. Folgende Auswahlmöglichkeiten stehen zur Verfügung:

Version 1
Version 2c
Fassung 3

Sicherheitsstufe

Die Sicherheitsstufe definiert, wie die SNMP-Anforderung gesendet wird. Diese Auswahl ist nur verfügbar, wenn SNMP v3 verwendet wird. Folgende Optionen stehen zur Verfügung:
Keine Authentifizierung, keine Verschlüsselung
Authentifizierung, keine Verschlüsselung
Authentifizierung, Verschlüsselung

Nutzername

Zur Authentifizierung nur sichtbar, wenn SNMP v3 verwendet wird.

Authent. Passphrase

Passphrase für die Authentifizierung, nur sichtbar, wenn SNMP mit Authentifizierung verwendet wird.

Authent. Protokoll

Protokoll zur Authentifizierung, nur sichtbar, wenn SNMP mit Authentifizierung verwendet wird. Derzeit verfügbare Optionen sind MD5 oder SHA. Standard ist MD5.

Datenschutz-Passphrase

Bei Verschlüsselung nur sichtbar, wenn SNMP mit Authentifizierung und Verschlüsselung verwendet wird.

Datenschutzprotokoll

Bei Verschlüsselung nur sichtbar, wenn SNMP mit Authentifizierung und Verschlüsselung verwendet wird. Derzeit verfügbare Optionen sind DES und AES. Standard ist DES.

Gemeinschaft

Die meisten Netzwerkgeräte erlauben unterschiedliche Ebenen des SNMP-Zugriffs, zum Beispiel: READ ONLY oder READ/WRITE. Jede dieser Zugriffsebenen hat normalerweise eine andere Community-Zeichenfolge. Um Daten zu lesen, muss lediglich die READ-Community bekannt sein, die in der Regel öffentlich ist.

OID anfordern

Fügen Sie die OID der Management Information Base (MIB) für die Anforderung ein. Wenn die OID unbekannt ist, kann sie auf dem Jobgerät mit dem Online-Browser durchsucht werden. Zusätzliche OIDs können von einem einzelnen SNMP-Job angefordert werden, indem Sie auf die Schaltfläche „+“ neben der Schaltfläche „ Durchsuchen “ klicken. Wenn mehr als 1 OID eingegeben wird, wird die Ausgabe aller OIDs nacheinander in dieselbe Ausgabedatei angehängt.

Überlauf

Belassen Sie diese Einstellung auf Auto . Es übernimmt die Diff-Wert-Berechnung, wenn der Zähler auf 0 zurückgesetzt wird. Dies verhindert negative Diff-Werte.

Übertragungszeit unterdrücken

Standardmäßig wird die Zeit für die Übertragung der SNMP-Daten in die Datenbank aufgezeichnet. Wenn diese Informationen irrelevant sind, aktivieren Sie dieses Kontrollkästchen, um Datenbankspeicherplatz zu sparen.

Wert unterdrücken
Diff-Wert unterdrücken
Zeichenfolgenwert unterdrücken
Infomeldung unterdrücken

Aktivieren Sie die SNMP-Ausgabetypen, die nicht berücksichtigt werden sollen.

Wenn das Kontrollkästchen Infomeldung unterdrücken aktiviert ist, wird die Ausgabe des SNMP-Strings nicht an den Server gesendet . Der Rückgabewert wird nur dann auf Ungültiger Wert gesetzt, wenn entweder value oder diff value gewünscht wird und es nicht möglich ist, einen Wert aus der Zeichenfolge zu extrahieren.

Die Checkboxen Wert unterdrücken , Differenzwert unterdrücken und

Ordnen Sie die Zeichenfolge dem Wert zu

Definieren Sie eine Zuordnung von SNMP-String-Objekten zu numerischen Werten.

Ein String-Wert kann direkt als String-Wert extrahiert werden oder indem eine String-Map im Format 1=foo,2=bar,0=* definiert wird, was bedeutet, dass der String foo in den numerischen Wert 1 konvertiert wird, der String bar to den Zahlenwert 2 und (optional) alles andere auf den Wert 0. Leerzeichen sind in dieser Definition nicht erlaubt.

Wenn keine Zeichenfolgenzuordnung definiert ist oder die Zuweisung fehlschlägt (kein Standardoperator Operator ), wird die Zeichenfolge auf das erste Auftreten numerischer Zeichen analysiert und das Ergebnis wie angefordert an den Server übertragen (Wert und/oder Diff-Wert).

Einheit definieren

Siehe Abschnitt SNMP-Einheit/Divisor unten.

Die Dropdown-Liste Tags ermöglicht die Eingabe vordefinierter Variablen in die obigen Felder, z. B. $NAME$ für den Namen des Jobs.

Stöbern Sie im Internet

Um eine bestimmte SNMP-OID auf dem Remote-SNMP- Agent zu finden und als SNMP-Anforderung zu verwenden, klicken Sie auf die Schaltfläche Online durchsuchen. Es hilft, wenn man die ungefähre Position im Baum kennt, um die Suchzeit, den Netzwerkverkehr und die Ausgabegröße zu begrenzen. Geben Sie den korrekten Community-String für den SNMP- Agent ein und wählen Sie die SNMP-Version im Abschnitt Verbindung aus. Die am häufigsten verwendeten MIBs können aus dem Dropdown-Menü ausgewählt werden, beginnend bei Root , das nur ausgewählt werden sollte, wenn der Speicherort des gewünschten Objekts vollständig unbekannt ist:

Starten Sie den Vorgang mit der Schaltfläche Scan starten :

Abhängig von der Anzahl der Objekte unterhalb der ausgewählten Root -OID kann der Scan einige Zeit in Anspruch nehmen. Klicken Sie auf Refresh , bis der Download-Status Complete anzeigt :

Der Download-Zähler zeigt die Anzahl der gefundenen OIDs an. Um sie anzuzeigen, wählen Sie Baum anzeigen oder Ebene anzeigen . Um eine OID auszuwählen, klicken Sie einfach auf den OID-Link.

Beispiel 1 – Baumansicht mit Typ und Wert

Beispiel 2 – Flache Ansicht mit Wert

Wenn die Ausgabe des gescannten Baums keine Textinformationen zeigt, sondern nur OIDs des Formulars

1.3.6.1.4.1.13424.11.1.1.25

dann ist die MIB für das gescannte Gerät wahrscheinlich nicht installiert. Um nach SNMP-MIBs zu suchen, suchen Sie auf der Website des Geräteherstellers oder auf der MIB-Depot -Homepage nach öffentlich verfügbaren MIBs.

Generische SNMP-Namensauflösung

Einige SNMP-Server ordnen dieselbe OID nicht immer demselben Wert zu. Das Lesen der Festplattennutzung aus einer Host-MIB funktioniert möglicherweise, bis diesem System eine neue Festplatte hinzugefügt wird. Es ist möglich, dass sich der Index (der im Beispiel unten .2 ist) ändert.

Um dies zu vermeiden, kann SKOOR Engine eine benutzerdefinierte Auflösungs-OID für die Zuordnung von Name zu Index verwenden. Um dies zu erreichen, ersetzen wir den Index durch einen String, um ihn mit der Resolve-OID mit dem Muster zwischen zwei $-Zeichen abzugleichen. Vor der Ausführung der Abfrage SKOOR Engine den $string$ durch den gefundenen entsprechenden Index. Hier ist ein Beispiel für eine OID, aus der man einen Wert lesen möchte:

.iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.2

Anstatt diesen String als Request-OID einzugeben, suchen Sie zunächst nach dem SNMP-Beschreibungsstring des Datenträgers, der unter folgender OID gespeichert ist:

.iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageDescr

Sein Wert ist: C:\ Bezeichnung: Seriennummer dc133042

Ersetzen Sie nun die Zahl 2 durch den obigen Wert, umgeben von zwei $-Zeichen:

iso.org.dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.$C:\ Bezeichnung: Seriennummer dc133042$

Sobald der zweite $-String eingegeben wird, erscheint eine neue Zeile namens Resolve OID unter der Zeile Request OID1 . Geben Sie hier die obige Beschreibungs-OID ein:

. iso.org .dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageDescr

$C:\ Bezeichnung: Seriennummer dc133042$ wird durch 2 ersetzt.

SNMP-Standardwert

Wenn die OID-Namensauflösung fehlschlägt (siehe Abschnitt oben), ist es möglich, einen Standardindex zu definieren. Im obigen Beispiel würde man den Default-Index nach der Request-OID schreiben, getrennt durch ein Leerzeichen:

iso.org .dod.internet.mgmt.mib-2.host.hrStorage.hrStorageTable.hrStorageEntry.hrStorageUsed.$C:\ Bezeichnung: Seriennummer dc133042$ 2

SNMP-Einheit/Divisor

Die SNMP-Ausgabe im Beispiel im obigen Abschnitt lautet:

hrStorageDescr.2              C:\ Label: Serial Number dc133042
hrStorageAllocationUnits.2    4096 Bytes
hrStorageSize.2               2120572
hrStorageUsed.2               1839613

Um stattdessen das Ergebnis der verbrauchten Speicherkapazität in GB zu erhalten, muss der richtige Divisor eingestellt werden.

Der Windows Explorer sagt uns Folgendes über das Dateisystem auf Laufwerk C:\:

Volume: 8283MB, 8.08GB Total Size, Freespace 1.07GB

Daher muss man hrStorageUsed.2 mit 4096 multiplizieren, um den Wert in Bytes zu erhalten, und dann dreimal durch 1024 teilen, um den Wert in GB zu erhalten.

1839613 x 4096 / 1024 / 1024 / 1024 = 7,01 GB verwendet (was den Angaben von Explorer entspricht)

Um den Divisor des SKOOR Engine , kombinieren Sie 1024 x 1024 x 1024 / 4096 = 262144

Drücken Sie die Schaltfläche Einheit , um den Namen des Werts, seine Einheit und seinen Divisor zu definieren:

Das Ergebnis im Wertebereich nach Ausführung des SNMP-Jobs lautet 7,01 GB .

Um stattdessen %used zu erhalten, verwenden Sie diese Formel: hrStorageUsed / hrStorageSize x 100 , sodass der Divisor 21205,72 wäre.

SNMP-Jobs mit mehreren OIDs

Es ist möglich, mehrere OIDs innerhalb desselben SNMP-Jobs auszuwerten. Alle SNMP-Abfragen müssen für das Gerät gültig sein, an das der SNMP-Job angehängt ist (es ist nicht möglich, Abfragen für verschiedene Geräte in einem SNMP-Job zu definieren). Zusätzliche OIDs werden aktiviert, indem Sie auf die Plus-Schaltfläche neben der Schaltfläche Online durchsuchen klicken. Sobald zusätzliche OIDs hinzugefügt wurden, erscheinen zusätzliche Ergebnisfelder im Abschnitt „Ergebnisse“ unten:

Jede OID verfügt über einen separat konfigurierbaren Ausgabeabschnitt und eine eigene Schaltfläche zum Zuordnen von Zeichenfolgen zu Wertdefinitionen und Einheiten . Die Übertragungszeit kann global unterdrückt werden.

Das Beispiel verwendet Auflösungs-OIDs für jede der 3 OIDs. Einzelheiten finden Sie oben im Abschnitt Auflösung des generischen SNMP-Namens .

Die ersten und zweiten OIDs fordern die ifInOctets- und ifOutOctets- Zähler von einer Schnittstelle eines Netzwerkgeräts an. Für diese Zähler ist der absolute Wert nicht relevant, interessant ist die Änderung mit der Zeit, daher unterdrückt das Ergebnisfeld für diese 2 OIDs die Werte selbst und alle Zeichenfolgenwerte (die von dieser OID sowieso nicht zurückgegeben werden).

Die Einheitendefinition für das erste OID-Ergebnis hat die Wert- und Zeichenfolgenwerteinheiten entsprechend ausgegraut:

Zur Umrechnung der Ausgabe in kBit/s wird ein Divisor angegeben.

Byte/s → kBit/s
kBit = Byte / 1000 * 8
kBit = Byte / (1000 / 8)
kBit = Byte / 125

Die dritte OID fragt den ifOperStatus der Netzwerkschnittstelle ab, der als String (nicht per se als String-Objekt, aber die Ausgabe ist zB: up(1) ) vom SNMP- Agent zurückgeliefert wird. Dies ist sichtbar, wenn Sie die Schaltfläche Online durchsuchen mit dem verwenden . iso.org .dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifOperStatus OID als Root :

Da numerische Werte von der SKOOR Engine schneller verarbeitet werden, ist es normalerweise besser, die bekannte Zeichenfolge mithilfe des Felds Zeichenfolge zu Wert zuordnen in einen numerischen Wert umzuwandeln:

Das bedeutet, dass das an den Server gesendete Ergebnis ein Wert und kein String mehr ist, sodass man String-Werte und Diff-Werte unterdrücken kann.

Die Einheitendefinition für das dritte OID-Ergebnis wird wie folgt angegeben:

Die Ergebnisse werden dann im Abschnitt Werte angezeigt:

Wenn eine der definierten OIDs einen Fehler erzeugt, wird die Fehlermeldung dieser OID angezeigt und der gesamte Job schlägt fehl. Alle nachfolgenden OIDs werden nicht verarbeitet, wenn eine OID fehlschlägt:

SNMP-Werte und Alarmgrenzen

Wert / Alarm Limit

Beschreibung

Wert1-n

Benutzerdefinierter numerischer Wert, der durch die Schaltfläche „ OIDs- Ergebniseinheit“ definiert wird.

Differenzwert1-n

Benutzerdefinierter numerischer Diff-Wert, definiert durch die Schaltfläche OIDs Result Unit .

Zeichenfolgenwert1-n

Benutzerdefinierter Zeichenfolgenwert, der durch die Schaltfläche „ OIDs- Ergebniseinheit“ definiert wird.

Fehlercode

Allgemeiner Job-Fehlercode (siehe Abschnitt Job-Fehlercodes )

SNMP-Beispiele

Beispiel 1 – Auswahl der SNMP-mib-2-Schnittstelle nach Beschreibung

Es ist möglich, die Schnittstellennummer anhand ihrer Beschreibung automatisch auszuwählen. Dies kann nützlich sein, wenn sich die Anzahl der Schnittstellen eines Routers ändert. Dann muss die Schnittstelle über ihre Beschreibung anwählbar sein.

Wir wollen die OID nachschlagen

.iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifInOctets.

für die Anzahl der Oktetts, die nach innen durch die VLAN 10 -Schnittstelle gegangen sind. Dazu suchen wir zunächst unten nach der Schnittstellenbeschreibung . iso.org .dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifDescr :

und stellen Sie fest, dass die Beschreibung lautet:

em0_vlan10

Ersetzen Sie nun den numerischen Index nach ifInOctets durch den String $em0_vlan10$ und verwenden Sie diesen als Request-OID:

.iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifInOctets.$em0_vlan10$

Verwenden Sie als Auflösungs -OID

.iso.org.dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifDescr

Bei der Suche nach einer passenden Beschreibungszeichenfolge wird zwischen Groß- und Kleinschreibung unterschieden. Der Job merkt sich den letzten Index. Wenn sich die Nummer geändert hat, werden die Beschreibungen erneut gescannt.