Befehl "clsnmp"
Zweck
Der BefehlAIX® clsnmp stellt die SNMP-Managerfunktion der AIX -Shell bereit, um SNMP-Agenten nach Netzmanagementinformationen abzufragen.
Syntax
clsnmp [ -d DebugLevel ] [ -h TargetHost ] [ -c Community ] [ -t TimeOutValue ] [ -r RetryNumber ] [ -n NonRepeaters ] [ -m MaxRepetitions ] [ -p PortNumber ] [ -v ] [ -f ConfigurationFile ] [ -? ] Funktion [ MIBVariable [ VariableType ] [ Value ] [ ... ] ]
Beschreibung
Mit dem Befehl clsnmp können Sie SNMP-Anforderungen an Agenten absetzen und die von Agenten zurückgegebenen SNMP-Antworten verarbeiten. Die AIX -Befehle clsnmp unterstützen die Ausgabe von Anforderungen von SNMPv1, SNMPv2cund SNMPv3 .
SNMP-Anforderungstypen
- findname
- Sendet eine Anforderung zum Suchen des Textnamens für eine angegebene MIB-Variable ab, deren interner ASN.1-Wert am besten mit dem eingegebenen ASN.1-Wert übereinstimmt. Bei der Suche wird zuerst die Datei /etc/mib.defs überprüft. Wenn kein entsprechender Textname gefunden wird, wird die Suche mit der kompilierten MIB fortgesetzt. Es ist nur eine einzige MIB-Variable pro Aufruf von clsnmp findname- zulässig.
- abrufen
- Sendet eine Anforderung zur Abfrage einer bestimmten MIB-Variablen (Management Information Base) an einen SNMP-Agenten. clsnmp wartet dann bis zum Ablauf des Zeitlimits auf eine Antwort.
- getbulk
- Ruft den Wert der Variablen in der mit dem OID- oder MIB-Variablennamen angegebenen MIB-Struktur ab. Eine einzige getbulk-Anforderung hat dieselbe Funktion wie eine Serie von getnext-Anforderungen, allerdings mit weniger Datenaustauschoperationen zwischen dem Befehl clsnmp und dem SNMP-Agenten.
- getnext
- Sendet eine Anforderung für die nächste MIB-Variable, die der angegebenen MIB-Variablenlexikografisch folgt, an einen SNMP-Agenten. clsnmp wartet dann bis zum Ablauf des Zeitlimits auf eine Antwort.
- set
- Sendet eine Anforderung zum Setzen einer bestimmten MIB-Variablen an einen SNMP-Agenten. clsnmp wartet dann bis zum Ablauf des Zeitlimits auf eine Antwort.
- trap
- Ist für SNMP-Traps empfangsbereit und zeigt Trap -Informationen an, wenn sie auftreten. Verwendet den Standardport 162 oder die mit der Option "-p" angegebene Portnummer. Die clsnmp-Option -trap setzt die Überwachung des Datenverkehrs auf Traps fort, bis der Prozess beendet oder abgebrochen wird.
- walk
- Setzt eine getnext-Anforderung für ein angegebenes Präfix ab und setzt dann so lange weitere getnext-Anforderungen ab, wie es Variablen gibt, die dem angegebenen Präfix entsprechen. Bei einem Präfix kann es sich um den führende Teil der vollständigen Objekt-ID handeln.
Verwendung
Die Option set Operation wird nicht für alle MIB-Objekte unterstützt. Die set-Operation kann zurückgewiesen werden, wenn der Agent oder die Subagenten, die das MIB-Objekt verwalten, SET nicht unterstützen.
getbulk ist eine SNMPv2-Funktion. Wenn der Zielagent nur SNMPv1 unterstützt, ignoriert der Zielagent Ihre Anforderung. Infolgedessen überschreitet Ihre Anforderung das zulässige Zeitlimit.
Bei den Funktionsschlüsselwörter muss die Groß-/Kleinschreibung nicht beachtet werden. Bei den Flags, Variablennamen und Werten hingegen muss die Groß-/Kleinschreibung beachtet werden.
Um Traps von NetView SNMP und AIX clsnmp gleichzeitig abzuhören, verwenden Sie den Parameter -p PortNumber für den Befehl clsnmp. Ein Port kann jeweils nur von einer Managementanwendung überwacht werden. Mit dem Flag -p für den Befehl "clsnmp trap" können Sie einen anderen Port als den Standardport 162 verwenden. Beide Ports müssen als Agententrapziele konfiguriert sein.
Ein clsnmp-Befehl, der nicht (mit einem gültigen Community-Namen oder Benutzernamen) authentifiziert wurde, überschreitet das zulässige Zeitlimit.
Der Befehl clsnmp verwendet zwei Konfigurationsdateien: /etc/mib.defs und clsnmp.conf. Beispieldateien werden im Verzeichnis /usr/samples/snmpdv3 bereitgestellt.
Der Befehl "clsnmp" unterstützt das Senden von SNMPv1-, SNMPv2c- und SNMPv3-Anforderungen. Bei der Datei, die clsnmp verwendet, um zu bestimmen, ob er eine SNMPv1-, SNMPv2c- oder SNMPv3-Anforderung senden muss, handelt es sich um die Datei clsnmp.conf. Wenn das mit dem Parameter "-h" angegebene Ziel mit einem winSNMP-Namen in der Datei clsnmp.conf übereinstimmt, sendet clsnmp die Anforderung unter Verwendung der im Eintrag angegebenen Parameter. Wenn Sie den Parameter -h nicht angeben, wird die Anforderung als SNMPv1-Anforderung gesendet.
Flags
| Element | Beschreibung |
|---|---|
| -c Gemeinschaft | Gibt den Community-Namen an, der für den Zugriff auf die angegebenen Variablen im SNMP-Zielagenten verwendet wird. Wenn Sie keinen Community-Namen angeben, wird standardmäßig der Name "public" verwendet. Community-Namen sind nicht erforderlich, wenn das benutzerbasierte Sicherheitsmodell verwendet wird. Hinweis: Bei Community-Namen muss die Groß-/Kleinschreibung beachtet werden.
|
| -d DebugLevel | Gibt die Debugstufe an. Die Standardebene ist 0, d. h., es wird kein Debugging durchgeführt. Je höher die Debugstufe ist, desto mehr Nachrichten werden angezeigt. Die gültigen Debugstufen sind 0-4. |
| -f ConfigurationFile | Gibt den vollständigen Pfad und Dateinamen der Konfigurationsdatei an. |
| -h TargetHost | Gibt den Zielhost an, an den Sie eine Anforderung senden möchten. Der Host kann eine IPv4-Adresse, eine IPv6-Adresse, ein Hostname oder ein winSNMP-Name in der Konfigurationsdatei clsnmp.conf sein. Wenn Sie keinen Host angeben, wird standardmäßig Ihr lokaler Host verwendet. |
| -m MaxRepetitions | Gilt nur für getbulk. Dieses Flag wird ignoriert, wenn die Funktionsanforderung keine getbulk-Anforderung ist. Die Variable "Max_Wiederholungen" gibt die Anzahl der lexikographischen Nachfolger an, die nach den ersten mit "-n- Anzahl" angegebenen Nachfolgern für jedes Variablenbindungspaar zurückgegeben werden sollen. Ab Nachfolger "-n Anzahl"+1 werden beispielsweise "-m Anzahl" Nachfolger für jedes Variablenbindungspaar zurückgegeben. Der Standardwert ist 10. |
| -n NonRepeaters | Gilt nur für getbulk-Anforderungen. Dieses Flag wird ignoriert, wenn die Funktionsanforderung keine getbulk-Anforderung ist. Anzahl_ohne_Wiederholungen gibt die Anzahl der Variablenbindungspaare (Name/Wert) nach dem ersten an, für die nur ein einziger Nachfolger zurückgegeben wird. Der Standardwert ist 0. |
| -p PortNumber | Gibt die Nummer des Ports an, der auf Traps überwacht werden soll. Wenn Sie keine Portnummer angeben, überwacht die Funktion clsnmp trap Port 162, den Standardport für clsnmp-Traps. |
| -r RetryNumber | Gibt an, wie oft der Befehl nach der Überschreitung des zulässigen Zeitlimits maximale wiederholt werden soll. Der Standardwert ist 2. |
| -t TimeOutValue | Gibt die Anzahl der Sekunden an, die der Befehl clsnmp auf eine Antwort vom SNMP-Agenten wartet. Der Standardwert ist 3. |
| -v | Gibt an, dass die Ausgabe einer Anforderung im ausführlichen Modus angezeigt werden soll, z. B. mit dem Textnamen anstelle der MIB-Objekt-ID. |
| -? | Zeigt Hilfeinformationen an. |
Parameter
| Element | Beschreibung |
|---|---|
| Funktion | Gibt die SNMP-Funktion/-Operation an, die ausgeführt werden soll: get, getnext, getbulk, set, walk, trap, findname. |
| MIB-Variable | Gibt das MIB-Objekt (Management Information Base) mit seinem Objektdeskriptor (Textname), seiner Objekt-ID in ASN.1-Notation oder einer Kombination aus beiden an. Bei der Verwendung zusammen mit walk ist dies das MIB-Objektpräfix. Bei einem Präfix kann es sich um den führende Teil der vollständigen Objekt-ID handeln. Bei der Verwendung zusammen findname ist dies die Objekt-ID in der ASN.1-Notation. |
| Wert | Gibt den Wert an, der von der SET-Funktion festgelegt werden soll. Wenn Leerzeichen im Wert erforderlich sind, müssen Sie den Wert in Anführungszeichen (") einschließen. Wenn Sie eine Variable auf einen Wert setzen möchten, der ebenfalls ein Typ ist, müssen Sie den Typ angeben. |
| VariableType | Gibt den Typ des Werts an, der festgelegt wird. Zum Ausführen einer SNMP-SET-Anforderung muss der SMI_type bekannt sein. Wenn Sie keinen Typ angeben, durchsucht clsnmp zuerst die Datei /etc/mib.defs und dann die kompilierte MIB, um den Typ zu bestimmen. Wenn die Variable nicht gefunden wird, wird ein Fehler zurückgegeben. Wenn Sie einen Variablentyp angeben, hat der Variablentyp Vorrang vor einem Typ, der möglicherweise in der MIB zugewiesen wird. Der Variablentyp und der Wert müssen kompatibel sein. Wenn Sie beispielsweise den Typ "number" und den Wert "foo" angeben, wird ein Fehler zurückgegeben, weil "foo" keine Zahl ist. Beim Variablentyp muss die Groß-/Kleinschreibung nicht beachtet werden. Die gültigen Variablentypen sind im Folgenden aufgelistet:
|
Einschränkung
Wenn der snmpdv3-Dämon während der Verarbeitung einer SNMPv1-Protokollanforderung vom clsnmp-Manager eine MIB mit dem Datentyp SMI-v2 findet, überspringt er die MIB, bis er eine MIB mit dem Datentyp SMI-v1 findet.
Problemumgehung
Der clsnmp-Manager muss für Anforderungen der Typen SNMPv2 und SNMPv3 konfiguriert sein, damit alle MIB-Variablen mit dem snmpdv3-Dämon ausgegeben werden.
Beispiele
- MIB-Variable abrufen.
- Der folgende Befehl fordert das MIB-Objekt
sysName.0an:
Die Ausgabe dieses Befehls gleicht der folgenden:clsnmp get sysName.01.3.6.1.2.1.1.5.0 = hostname.austin.ibm.com - Der folgende Befehl fordert das MIB-Objekt
myName.0an, wobeimyNamein der Datei /etc/mib.defs als das mitsysName.0angegebene Objekt definiert ist:
Die Ausgabe dieses Befehls gleicht der folgenden:clsnmp get myName.01.3.6.1.2.1.1.5.0 = myhostname.austin.ibm.com - Der folgende Befehl fordert das MIB-Objekt
sysName.0über eine IPv6-Adresse an:
Die Ausgabe dieses Befehls gleicht der folgenden:clsnmp -h 2000:1:1:1:209:6bff:feae:6d67 get sysName.01.3.6.1.2.1.1.5.0 = hostname.austin.ibm.com
- Der folgende Befehl fordert das MIB-Objekt
- Nächste MIB-Variable abrufen.
- Der folgende Befehl fordert das nächste logische MIB-Objekt an:
Die Ausgabe dieses Befehls gleicht der folgenden:clsnmp getnext udp1.3.6.1.2.1.7.1.0 = 653 - Der folgende Befehl fordert das nächste logische Objekt an, wobei mit der Option -v angegeben wird, dass der Wert mit dem Textnamen anstelle der Objekt-ID angezeigt werden soll:
Die Ausgabe dieses Befehls gleicht der folgenden:clsnmp -v getnext udpudpInDatagrams.0 = 653
- Der folgende Befehl fordert das nächste logische MIB-Objekt an:
- MIB-Variable festlegen.
- Der folgende Befehl setzt das MIB-Objekt "sysName.0" auf den Wert "hostname.austin.ibm.com":
Dieser Befehl erzeugt eine Ausgabe ähnlich der folgenden:clsnmp set sysName.0 "hostname.austin.ibm.com"1.3.6.1.2.1.1.5.0 = hostname.austin.ibm.com - Der Wert des MIB-Objekts "sysName.0" kann wie im folgenden Beispiel gezeigt auch mit dem Parameter Variablentyp festgelegt werden, um den Typ des festzulegenden Werts anzugeben.
Dieser Befehl erzeugt eine Ausgabe ähnlich der folgenden:clsnmp set sysName.0 displayname "hostname.austin.ibm.com"1.3.6.1.2.1.1.5.0 = hostname.austin.ibm.com
- Der folgende Befehl setzt das MIB-Objekt "sysName.0" auf den Wert "hostname.austin.ibm.com":
- MIB-Struktur durcharbeiten.Der folgende Befehl gibt alle Objekte nach Namen zurück, die mit demselben Objekt-ID-Präfix beginnen, aber es werden jedoch weniger Datenpakete zwischen dem Befehl "clsnmp" und dem SNMP-Agenten ausgetauscht:
Die Ausgabe des Befehls gleicht der folgenden:clsnmp -h loopback -v -m 10 bulkwalk udpclsnmp -v walk udp udpInDatagrams.0 = 653 udpNoPorts.0 = 22 udpInErrors.0 = 0 udpOutDatagrams.0 = 678 udpLocalAddress.0.0.0.0.7 = 0.0.0.0 udpLocalAddress.0.0.0.0.9 = 0.0.0.0 udpLocalAddress.0.0.0.0.13 = 0.0.0.0 udpLocalAddress.0.0.0.0.19 = 0.0.0.0 udpLocalAddress.0.0.0.0.37 = 0.0.0.0 udpLocalAddress.0.0.0.0.161 = 0.0.0.0 udpLocalAddress.0.0.0.0.5020 = 0.0.0.0 udpLocalPort.0.0.0.0.7 = 7 udpLocalPort.0.0.0.0.9 = 9 udpLocalPort.0.0.0.0.13 = 13 udpLocalPort.0.0.0.0.19 = 19 udpLocalPort.0.0.0.0.37 = 37 udpLocalPort.0.0.0.0.161 = 161 udpLocalPort.0.0.0.0.5020 = 5020 - Mehrere MIB-Variablen abrufen.Der folgende Befehl fordert mehrere MIB-Objekte mit dem Anforderungstyp getbulk an. Der Anforderungstyp getbulk gibt das nächste logische Objekt für ein oder mehrere MIB-Objekte zurück, die im Befehl aufgelistet sind. Im folgenden Beispiel gibt die Option -n an, dass nur ein einziges nächstes logisches Objekt für die ersten beiden Variablen (sysLocation und ifTable) angefordert wird. Für alle anderen Objekte in der Liste (tcp, udp und icmp) gibt die Option -m an, dass 5 Wiederholungen angefordert werden.Hinweis: Der Anforderungstyp getbulk ist eine SNMPv2 -Funktion. Der Parameter -h gibt einen Host an, in diesem Fall den Host "loopback", der in der Datei clsnmp.conf als ein Agent definiert ist, der SNMPv2 oder SNMPv3 unterstützt.
Dieser Befehl erzeugt eine Ausgabe ähnlich der folgenden:clsnmp -h loopback -v -n 2 -m 5 getbulk sysLocation ifTable tcp udp icmpsysLocation.0 = Research Triangle Park, NC ifIndex.1 = 1 tcpRtoAlgorithm.0 = 4 udpInDatagrams.0 = 782 icmpInMsgs.0 = 22 tcpRtoMin.0 = 0 udpNoPorts.0 = 22 icmpInErrors.0 = 0 tcpRtoMax.0 = 120 udpInErrors.0 = 0 icmpInDestUnreachs.0 = 22 tcpMaxConn.0 = -1 udpOutDatagrams.0 = 807 icmpInTimeExcds.0 = 0 tcpActiveOpens.0 = 1 udpLocalAddress.0.0.0.0.7 = 0.0.0.0 icmpInParmProbs.0 = 0 - Namen einer ASN.1-Variablen ermitteln.Der folgende Befehl fordert eine Suche zum Abrufen des Textnamens für eine angegebene MIB-Variable an, deren interner ASN.1-Wert am besten mit dem eingegebenen ASN.1-Wert übereinstimmt. Zuerst wird die Datei /etc/mib.defs durchsucht. Wenn kein Textname gefunden wird, wird als Nächstes die kompilierte MIB durchsucht. Es ist nur eine einzige MIB-Variable pro Aufruf von clsnmp findname- zulässig. Hierfür kann beispielsweise ein Befehl wie der folgende verwendet werden:
Dieser Befehl erzeugt eine Ausgabe ähnlich der folgenden:clsnmp findname 1.3.6.1.2.1.6.13.1.21.3.6.1.2.1.6.13.1.2 found as: tcpConnLocalAddressEin ähnliches Beispiel ist das folgende:
Dieser Befehl erzeugt eine Ausgabe ähnlich der folgenden:clsnmp findname 1.3.6.1.2.1.6.13.1.2.01.3.6.1.2.1.6.13.1.2.0 found as: tcpConnLocalAddress.0Ein weiteres Beispiel ist das folgende:
Dieser Befehl erzeugt eine Ausgabe ähnlich der folgenden:clsnmp findname 1.3.6.1.2.1.3.6.1.2. found as: mgmt - SNMPv3-Anforderung absetzen.
- Angenommen, in der Datei /etc/clsnmp.conf auf dem Manager-Host ist ein winSnmpName-Eintrag wie der folgende (in einer einzigen Zeile) konfiguriert:
Wenn auf der snmpd-Agentenmaschinetarget1 9.3.149.26 snmpv3 u1 - - AuthNoPriv HMAC-SHA 76784e5935acd6033a855df1fac42acb187aa867 - -9.3.149.26der Benutzeru1ordnungsgemäß konfiguriert ist, können Sie den Befehl auf dem Manager-Host absetzen:
Dieser Befehl erzeugt eine Ausgabe ähnlich der folgenden:clsnmp -v -h target1 get sysName.0sysName.0 = somehostname.austin.ibm.com - Es ist einfach, einen Trapbefehl wie folgt abzusetzen:
clsnmp trapHinweis: Wenn das Sicherheitsmodell des empfangenen Traps SNMPv3ist, stellen Sie sicher, dass auf der Verwaltungsstation, auf der der Trap überwacht wird, die Dateietc/clsnmp.conf ordnungsgemäß konfiguriert ist, um den Trap zu empfangen.
- Angenommen, in der Datei /etc/clsnmp.conf auf dem Manager-Host ist ein winSnmpName-Eintrag wie der folgende (in einer einzigen Zeile) konfiguriert:
Dateien
| Element | Beschreibung |
|---|---|
| /etc/clsnmp.conf | Enthält die Konfigurationsdatei für den Befehl clsnmp. |
| /etc/mib.defs | Definiert die MIB-Variablen (Management Information Base), der SNMP-Agent und -Manager erkennen und verarbeiten soll. |