SNMP

Funktion

Fragen Sie ein Gerät (normalerweise ein 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 bei weitem das dominierende Protokoll im Netzwerkmanagement. Ein Hauptgrund für seine breite Akzeptanz ist seine relative Einfachheit, abgesehen davon, dass es der wichtigste Internetstandard für Netzwerkmanagement ist. Die Implementierung von SNMP-Management in einem vernetzten Gerät ist weitaus unkomplizierter als die meisten anderen standardmäßigen oder nicht standardmäßigen Ansätze für Netzwerkmanagement.

Der SNMP-Manager oder die Verwaltungsanwendung verwendet eine genau definierte Namenssyntax, um die Variablen für den SNMP- Agent anzugeben. Objektnamen in dieser Syntax werden als Objektkennungen (Objekt-IDs oder OIDs) bezeichnet.

OIDs sind Zahlenreihen, die ein Objekt für einen SNMP- Agent eindeutig identifizieren. OIDs sind in einer hierarchischen, umgekehrten 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 OID-Format ist eine Zahlenfolge mit Punkten dazwischen.

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

ASN_COUNTER

32-Bit nicht negative 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-Ganzzahl (-2 64 bis 2 64 ) RFC 1442

ASN_OPAQUE

schwebend und doppelt gestützt

ASN_UNSIGNED64

64 Bit ohne Vorzeichen

ASN_COUNTER64

64 Bit ohne Vorzeichen

ASN_TIMETICKS

ohne Vorzeichen

Alle diese Werte und die Differenz zur letzten Messung werden in Float-Werte umgerechnet und anschließend an den Server übertragen.

Diff-Werte der oben genannten Typen werden automatisch durch die Zeit seit der letzten Messung geteilt ((currentValue - previousValue) / (currentTimeSeconds - previousTimeSeconds)). 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 beliebige druckbare Zeichen enthalten.

SNMP-Funktionen

  • Online-MIB-Browser zur OID-Auswahl

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

  • Konfigurierbare Maßeinheit

  • Automatische Differenzwerte

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

  • v3-Verschlüsselungsunterstützung

  • n-Schicht-Alarmierung

  • MIB2-Schnittstellenauswahl nach Namen

  • OID-Namen mit OID-Nummern referenzieren

  • Einstellbare Wiederholungsversuche und Timeouts

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

  • Zeichenfolgen (Referenzieren einer Zahl in einem Text)

  • Zahlen aus dem OID-Text analysieren (nur erster Wert)

SNMP-Details

SNMP-Parameter

Der Abschnitt „Authentifizierungseingabe“ wird nur angezeigt, wenn SNMP Version 3 ausgewählt ist.

Parameter

Beschreibung

Udp-hafen

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

Wiederholungsversuche

Anzahl der Wiederholungsversuche, wenn die Anforderung fehlschlägt. Der Standardwert ist 2 Wiederholungsversuche.

Auszeit

Wählen Sie das Timeout für die Anfrage. Auf den meisten Geräten werden SNMP-Anfragen mit niedriger Priorität behandelt. Verwenden Sie daher ein ausreichend hohes Timeout. Der Standardwert ist 2 s.

Ausführung

Wählen Sie die SNMP-Version aus, die vom Remote-SNMP-Daemon bereitgestellt wird. Folgende Optionen stehen zur Verfügung:

Version 1
Version 2c
Version 3

Sicherheitsstufe

Die Sicherheitsstufe definiert, wie die SNMP-Anforderung gesendet wird. Diese Auswahl ist nur verfügbar, wenn SNMP v3 verwendet wird. Die folgenden Optionen sind verfügbar:
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 zur 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

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

Datenschutzprotokoll

Zur 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 verschiedene Ebenen des SNMP-Zugriffs, zum Beispiel: NUR LESEN oder LESEN/SCHREIBEN. Jede dieser Zugriffsebenen hat normalerweise einen anderen Community-String. Um Daten zu lesen, muss nur die LESE-Community bekannt sein, die normalerweise öffentlich ist.

OID anfordern

Geben Sie die Management Information Base (MIB)-OID für die Anfrage ein. Wenn die OID unbekannt ist, kann sie auf dem Job-Gerä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 . Dadurch wird die Berechnung des Differenzwertes durchgeführt, wenn der Zähler auf 0 zurückgesetzt wird. Dies verhindert negative Differenzwerte.

Übertragungszeit unterdrücken

Standardmäßig wird die zum Übertragen der SNMP-Daten benötigte Zeit in der Datenbank aufgezeichnet. Wenn diese Information nicht relevant ist, aktivieren Sie dieses Kontrollkästchen, um Datenbankspeicherplatz zu sparen.

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

Überprüfen Sie die SNMP-Ausgabetypen, die nicht berücksichtigt werden sollen.

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

Die Kontrollkästchen Wert unterdrücken , Differenzwert unterdrücken und

Zeichenfolge einem Wert zuordnen

Definieren Sie eine Zuordnung von SNMP-Zeichenfolgenobjekten zu numerischen Werten.

Ein Zeichenfolgenwert kann direkt als Zeichenfolgenwert extrahiert werden oder durch Definieren einer Zeichenfolgenzuordnung im Format 1=foo,2=bar,0=*. Dies bedeutet, dass die Zeichenfolge foo in den numerischen Wert 1, die Zeichenfolge bar in den numerischen Wert 2 und (optional) alles andere in den Wert 0 konvertiert wird. Leerzeichen sind in dieser Definition nicht zulässig.

Wenn keine Zeichenfolgenzuordnung definiert ist oder die Zuweisung fehlschlägt (kein Operator definiert), wird die Zeichenfolge nach dem ersten Vorkommen numerischer Zeichen durchsucht und das Ergebnis wie angefordert (Wert und/oder Differenzwert) an den Server übertragen.

Einheit definieren

Siehe Abschnitt SNMP-Einheit/-Divisor weiter unten.

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

Online stöbern

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 ist hilfreich, den ungefähren Standort im Baum zu kennen, um die Durchsuchungszeit, den Netzwerkverkehr und die Ausgabegröße zu begrenzen. Geben Sie den richtigen 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 Standort des erforderlichen Objekts völlig 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 es einige Zeit dauern, bis der Scan abgeschlossen ist. Klicken Sie auf Aktualisieren , bis der Download-Status Abgeschlossen anzeigt:

Der Download-Zähler zeigt die Anzahl der gefundenen OIDs an. Um sie anzuzeigen, wählen Sie Baumstruktur anzeigen oder Flach 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, sondern nur OIDs der Form

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, durchsuchen Sie die Website des Geräteherstellers oder die MIB Depot- Homepage nach öffentlich verfügbaren MIBs.

SNMP generische Namensauflösung

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

Um dies zu vermeiden, kann SKOOR Engine eine benutzerdefinierte Resolve-OID für die Zuordnung von Namen zu Index verwenden. Dazu ersetzen wir den Index durch eine Zeichenfolge, die mit der Resolve-OID mit dem Muster zwischen zwei $-Zeichen übereinstimmt. Vor der Ausführung der Abfrage ersetzt SKOOR Engine die $-Zeichenfolge$ 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 der Festplatte, der unter der folgenden 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 die zweite $-Zeichenfolge eingegeben wird, erscheint unterhalb der Zeile Request OID1 eine neue Zeile mit dem Namen Resolve OID . Geben Sie hier die obige Beschreibung 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), besteht die Möglichkeit, einen Standardindex zu definieren. Im obigen Beispiel würde man den Standardindex nach der Anforderungs-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/Teiler

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 genutzten Speicherkapazität in GB zu erhalten, muss der richtige Divisor eingestellt werden.

Über das Dateisystem auf Laufwerk C:\ verrät uns der Windows Explorer folgendes:

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 dividieren, um den Wert in GB zu erhalten.

1839613 x 4096 / 1024 / 1024 / 1024 = 7,01 GB verwendet (was mit den Zahlen von Explorer übereinstimmt)

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

Klicken Sie auf die Schaltfläche „Einheit“ , um den Namen des Werts, seine Einheit und seinen Teiler festzulegen:

Das Ergebnis im Wertebereich nach der Ausführung des SNMP-Jobs beträgt 7,01 GB .

Um stattdessen den Prozentsatz der Nutzung zu ermitteln, verwenden Sie diese Formel: hrStorageUsed / hrStorageSize x 100. Der Divisor wäre also 21205,72 .

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, werden im Abschnitt „Ergebnisse“ unten zusätzliche Ergebnisfelder angezeigt:

Jede OID hat ihren separat konfigurierbaren Ausgabebereich und ihre eigene Map-String-zu-Wert- Definition und Einheit- Schaltfläche. Die Übertragungszeit kann global unterdrückt werden.

Das Beispiel verwendet Resolve OIDs für jede der 3 OIDs. Weitere Einzelheiten finden Sie oben im Abschnitt „SNMP-Auflösung generischer Namen“ .

Die erste und zweite OID 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 Veränderung mit der Zeit, daher unterdrücken die Ergebnisfelder für diese beiden OIDs die Werte selbst und alle Zeichenfolgenwerte (die von dieser OID ohnehin nicht zurückgegeben werden).

In der Einheitendefinition für das erste OID-Ergebnis sind die Wert- und Zeichenfolgenwerteinheiten entsprechend ausgegraut:

Um die Ausgabe in kBit/s umzuwandeln, wird ein Divisor angegeben.

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

Die dritte OID fordert den ifOperStatus der Netzwerkschnittstelle an, der vom SNMP- Agent als Zeichenfolge zurückgegeben wird (nicht als Zeichenfolgenobjekt an sich, aber die Ausgabe lautet z. B.: up(1) ). Dies kann angezeigt werden, wenn Sie die Schaltfläche Online durchsuchen mit der OID . iso.org .dod.internet.mgmt.mib-2.interfaces.ifTable.ifEntry.ifOperStatus als Root verwenden:

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

Dies bedeutet, dass das an den Server gesendete Ergebnis ein Wert und kein String mehr ist, sodass String-Werte und Diff-Werte unterdrückt werden können.

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

Die Ergebnisse werden dann im Bereich „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.

Diff-Wert1-n

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

Zeichenfolgewert1-n

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

Fehlercode

Allgemeiner Job-Fehlercode (siehe Abschnitt Job-Fehlercodes )

SNMP-Beispiele

Beispiel 1 - SNMP MIB-2-Schnittstellenauswahl nach Beschreibung

Es ist möglich, die Schnittstellennummer automatisch anhand ihrer Beschreibung auszuwählen. Dies kann nützlich sein, wenn sich die Schnittstellenanzahl eines Routers ändern kann. In diesem Fall muss es möglich sein, die Schnittstelle anhand ihrer Beschreibung auszuwählen.

Wir wollen die OID nachschlagen

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

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

und finde die folgende Beschreibung:

em0_vlan10

Ersetzen Sie nun den numerischen Index nach ifInOctets durch die Zeichenfolge $em0_vlan10$ und verwenden Sie diese als Request-OID:

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

Als Resolve OID verwenden Sie

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

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