Grundlegende Informationen zu SNMP

Simple Network Management Protocol (SNMP) ist ein Standard-Internetprotokoll, das vorwiegend in Netzmanagementsystemen verwendet wird, um Netzeinheiten auf Bedingungen zu überwachen, die administrative Maßnahmen erforderlich machen. Zu den Einheiten, die in der Regel SNMP unterstützen, gehören Router, Switch, Server, Workstation und Drucker. Dieser Abschnitt enthält grundlegende Informationen zu SNMP und bietet eine Übersicht über Cast Iron-MIBs.

Im Wörterbuch der SNMP-Begriffe wird eine Cast Iron-Integrationseinheit (Integration Appliance) als "Netzelement" oder "verwaltete Einheit" bezeichnet (d. h. es handelt sich um einen Netzteilnehmer, der verwaltet werden kann). Zu den Netzelementen gehört auch ein Agent, der Informationen zu dem Element bereitstellt. Solche Agenten erfüllen zwei wesentliche Funktionen. Erstens antworten sie auf Anforderungen des Managementsystems und zweitens senden sie Benachrichtigungen zu Ereignissen in dem Netzelement. Asynchrone Benachrichtigungen vom Agenten an den Manager werden als Alarmnachrichten (Traps) bezeichnet.

SNMP-Alarmnachrichten geben einem Agenten die Möglichkeit, die Managementstation durch nicht angeforderte SNMP-Nachrichten über signifikante Ereignisse zu informieren. Die durch Abfragen oder Alarmnachrichten bereitgestellten Information werden in Management Information Bases (MIBs) definiert. Eine MIB ist eine virtuelle Datenbank für die Verwaltung der Entitäten in einem Kommunikationsnetz. MIBs definieren eine Objekthierarchie, in der jedes Objekt über eine eigene Objekt-ID (OID) verfügt. Eine OID wird als durch Punkte getrennte Zahlen dargestellt (z. B. ".1.3.6.1.2.1.1."). In manchen Fällen wird eine OID auch durch einen allgemeinen Namen bezeichnet. Beispielsweise kann die OID ".1.3.6.1.2.1.1" als "System" bezeichnet werden. Das SNMP-Protokoll definiert viele allgemein zugängliche MIBs und ermöglicht außerdem das Definieren angepasster anwendungsspezifischer MIBs für Organisationen.

Cast Iron-MIBs

Dateien, die aus der Webmanagementkonsole (WMC) von Cast Iron heruntergeladen wurden, enthalten mehrere Abschnitte des Typs MIB DEFINITIONS = BEGIN - END. Jeder dieser Abschnitte beinhaltet eine MIB mit eigener Hierarchie. Verwenden Sie CASTIRON-IA-MIB zum Abfragen spezifischer Informationen über Cast Iron. Jede MIB verfügt über ein Element MODULE-IDENTITY, das die Funktion der MIB beschreibt. Ein Kommentarabschnitt, der auf MODULE-IDENTITY folgt, bietet eine Übersicht über den Inhalt der MIB und enthält eine Objektzusammenfassung, in der die Namen und Objekt-IDs aller MIB-Objekte aufgelistet sind.

Anmerkung: Manche Tools (z. B. die von NET-SNMP bereitgestellten Tools) setzen voraus, dass jede MIB in eine einzelne Datei aufgeteilt wird. Weitere Informationen zum Aufteilen von MIBs finden Sie in SNMP-Empfänger einrichten.
Das folgende Beispiel zeigt einen Ausschnitt aus der Objektzusammenfassung einer CASTIRON-IA-MIB:
--   ciIaProjectSummary                             ciia.1.1.1
--    ciIaNbrProjects                               ciia.1.1.1.1
--    ciIaNbrRunningOrchs                           ciia.1.1.1.2
--    ciIaNbrStoppedOrchs                           ciia.1.1.1.3
--    ciIaNbrRunningJobs                            ciia.1.1.1.4
--    ciIaNbrCompletedJobs                          ciia.1.1.1.5
--    ciIaNbrErroredJobs                            ciia.1.1.1.6
Wie dargestellt, enthält ein Organisationsknoten (in diesem Fall OBJECT-IDENTITY; vergleichbar mit einem Verzeichnis) mit der Bezeichnung ciIaProjectSummary allgemeine Informationen zu Projekten. In diesem "Verzeichnis" befinden sich bestimmte Elemente (Instanzen von OBJECT-TYPE), die die Anzahl der Projekte, die Anzahl der aktiven und der gestoppten Orchestrierungen sowie weitere Angaben enthalten. Um weitere Informationen zur Bedeutung dieser Elemente zu erhalten, suchen Sie in der Datei nach dem Namen des gewünschten Elements. Wenn Sie beispielsweise in der Datei nach der Zeichenfolge "ciIaNbrRunningJobs" suchen, werden die folgenden Informationen gefunden:
ciIaNbrRunningJobs OBJECT-TYPE                      -- ciia.1.1.1.4
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Total number of currently running jobs.
        "
::= { ciIaProjectSummary 4 }
Dies sind die wichtigsten Bereiche:
  • ciIaNbrRunningJobs OBJECT-TYPE - Definiert den Namen des Objekts. Beachten Sie, dass der Kommentar am Ende eine Kurzform der Objekt-ID (OID) angibt.
  • SYNTAX Unsigned32 - Dies ist eine ganze Zahl ohne Vorzeichen, deren Wert zunehmen und abnehmen kann.
  • MAX-ACCESS read-only - Ein schreibgeschützter Wert. Der Manager kann diesen Wert zwar abfragen, aber nicht ändern.
  • DESCRIPTION - Beschreibt das Objekt.
Das folgende Beispiel zeigt, welche Daten beim Abfragen der Projektzusammenfassung (ProjectSummary) angezeigt werden:
$ snmpwalk -v 2c -c public -M "+/home/choller/mibs" -m "+CASTIRON-IA-MIB" flintstone2 ciIaProjectSummary
CASTIRON-IA-MIB::ciIaNbrProjects.0 = Gauge32: 2
CASTIRON-IA-MIB::ciIaNbrRunningOrchs.0 = Gauge32: 0
CASTIRON-IA-MIB::ciIaNbrStoppedOrchs.0 = Gauge32: 14
CASTIRON-IA-MIB::ciIaNbrRunningJobs.0 = Gauge32: 0
CASTIRON-IA-MIB::ciIaNbrCompletedJobs.0 = Gauge32: 0
CASTIRON-IA-MIB::ciIaNbrErroredJobs.0 = Gauge32: 0
Die folgenden Daten werden beim Abfragen von lciIaProjectTable angezeigt:
--   ciIaProjectTable                               ciia.1.1.2
--    ciIaProjectEntry                              ciia.1.1.2.1
--     ciIaProjEntryIndex                           ciia.1.1.2.1.1
--     ciIaProjEntryName                            ciia.1.1.2.1.2
--     ciIaProjEntryVersion                         ciia.1.1.2.1.3
--     ciIaProjEntryConfig                          ciia.1.1.2.1.4
--     ciIaProjEntryState                           ciia.1.1.2.1.5
--     ciIaProjEntryNbrRunning                      ciia.1.1.2.1.6
--     ciIaProjEntryNbrCompleted                    ciia.1.1.2.1.7
--     ciIaProjEntryNbrErrored                      ciia.1.1.2.1.8
--     ciIaProjEntryTimePublished                   ciia.1.1.2.1.9
SNMP-Tabellen können sehr komplex sein. SNMP-Tabellen enthalten Name, Version, Konfiguration, Status und weitere Informationen zu jedem Projekt in der Einheit (vergleichbar mit einem Datenbankschema). Jeder Elementeintrag (z. B. ciIaProjEntryName oder ciIaProjEntryVersion) beschreibt eine Spalte in der Tabelle. Sie können in der MIB nach einer Zeichenfolge suchen, um weitere Informationen zu jedem Element zu finden. Hinweis: Das schrittweise Durchblättern der Projekttabelle kann zu Problemen führen. Verwenden Sie stattdessen immer eine Toolfunktion, die Tabellen lesen kann, um Tabelleninformationen anzuzeigen. Das folgende Beispiel veranschaulicht eine Walk-Operation. In diesem Fall wurde ein Projekt publiziert und anschließend geklont, um eine neue Konfiguration zu erzeugen. Das Ergebnis sind zwei Tabellenzeilen. Die dargestellte Ausgabe zeigt, dass nur schwer erkennbar ist, welche Elemente bestimmten Zeilen zugeordnet sind. In diesem Fall müssen Sie den Index (den letzten Teil der OID) lesen, um die korrekte Anordnung für die Elemente und Zeilen festzulegen.
$ snmpwalk -v 2c -c public -M "+/home/choller/mibs" -m "+CASTIRON-IA-MIB" flintstone2 ciIaProjectTable
CASTIRON-IA-MIB::ciIaProjEntryName.98304 = STRING: OnlineLicensing
CASTIRON-IA-MIB::ciIaProjEntryName.98305 = STRING: OnlineLicensing
CASTIRON-IA-MIB::ciIaProjEntryVersion.98304 = STRING: 1.0
CASTIRON-IA-MIB::ciIaProjEntryVersion.98305 = STRING: 1.0
CASTIRON-IA-MIB::ciIaProjEntryConfig.98304 = STRING: Default
CASTIRON-IA-MIB::ciIaProjEntryConfig.98305 = STRING: OnlineLicensingClone
CASTIRON-IA-MIB::ciIaProjEntryState.98304 = INTEGER: undeployed(1)
CASTIRON-IA-MIB::ciIaProjEntryState.98305 = INTEGER: undeployed(1)
CASTIRON-IA-MIB::ciIaProjEntryNbrRunning.98304 = Gauge32: 0
CASTIRON-IA-MIB::ciIaProjEntryNbrRunning.98305 = Gauge32: 0
CASTIRON-IA-MIB::ciIaProjEntryNbrCompleted.98304 = Counter32: 0
CASTIRON-IA-MIB::ciIaProjEntryNbrCompleted.98305 = Counter32: 0
CASTIRON-IA-MIB::ciIaProjEntryNbrErrored.98304 = Counter32: 0
CASTIRON-IA-MIB::ciIaProjEntryNbrErrored.98305 = Counter32: 0
CASTIRON-IA-MIB::ciIaProjEntryTimePublished.98304 = STRING: 2009-6-12,16:36:20.0,+0:0
CASTIRON-IA-MIB::ciIaProjEntryTimePublished.98305 = STRING: 2009-6-12,16:36:20.0,+0:0
Wenn die Zuordnung von Informationen mithilfe des Befehls snmptable erfolgt, wird die Anzeige übersichtlicher, wie das folgende Beispiel zeigt:
$ snmptable -v 2c -c public -M "+/home/choller/mibs" -m "+CASTIRON-IA-MIB" flintstone2  ciIaProjectTable
SNMP table: CASTIRON-IA-MIB::ciIaProjectTable

 PEN*                 PEV PEC                  PES          PER COM PEE		PETP
 OnlineLicensing      1.0 Default              undeployed   0   0   0    2009-6-12,16:36:20.0,
                                                                         +0:0
 OnlineLicensing      1.0 OnlineLicensingClone undeployed   0   0   0    2009-6-12,16:36:20.0,
                                                                         +0:0

*Table Key: PEN=ciIaProjEntryName, PEV=ciIaProjEntryVersion, PEC=ciIaProjEntryConfig, 
 PES=ciIaProjEntryState, PER=ciIaProjEntryNbrRunning, COM=ciIaProjEntryNbrCompleted, 
 PEE=ciIaProjEntryNbrErrored, PETP=ciIaProjEntryTimePublished

Beachten Sie, dass diese Beispiele anstelle von OIDs Namen in Textform enthalten. Da eine Funktion der MIB die Zuordnung zwischen OID und Textname vornimmt, müssen Sie nicht ständig OIDs verwenden.