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 vorherrschende Protokoll im Netzwerkmanagement. Ein Hauptgrund für seine breite Akzeptanz ist seine relative Einfachheit, abgesehen davon, dass es der wichtigste Internetstandard für das Netzwerkmanagement ist. Die Implementierung des SNMP-Managements in einem vernetzten Gerät ist weitaus unkomplizierter als die meisten anderen standardmäßigen oder nicht standardmäßigen Ansätze zum 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.
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. Wählen 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 |
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: |
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 Diff-Wertes durchgeführt, wenn der Zähler auf 0 zurückgesetzt wird. Dies verhindert negative Diff-Werte. |
Ü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 | Ü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.