Questo documento offre una breve panoramica del protocollo SNMP (Simple Network Management Protocol) e illustra come testare la funzionalità SNMP su un server rack Cisco Unified Computing System (UCS) serie C. È inoltre possibile utilizzarlo come riferimento per la risoluzione dei problemi SNMP di base.
L'SNMP è uno standard industriale IETF (Internet Engineering Task Force) definito da più richieste di commenti (RFC). L'SNMP viene utilizzato nei sistemi di gestione della rete (NMS, Network Management Systems) per monitorare i dispositivi di rete. Il protocollo SNMP funziona a livello di applicazione. Lo scopo principale del protocollo SNMP è abilitare i NMS per ottenere informazioni dai dispositivi gestiti.
In questo documento si presume che l'NMS e tutti i dispositivi di rete siano stati configurati correttamente e abbiano funzionato correttamente in passato.
Le informazioni fornite in questo documento si basano sulle seguenti versioni software e hardware:
SNMP
Cisco UCS serie C Rack Server
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Il manager è l'NMS e l'agente è il software in esecuzione sul dispositivo gestito. Il protocollo SNMP viene utilizzato per il trasferimento dei messaggi tra manager e agenti.
Un MIB (Management Information Base) è un insieme di oggetti. Esistono due tipi di oggetti: scalare (oggetto singolo) e tabulare (oggetti multipli). Un oggetto è una o più caratteristiche o variabili di un dispositivo gestito. Queste caratteristiche sono identificate da un identificatore di oggetto (OID). Un OID è una rappresentazione numerica, separata da punti, del nome dell'oggetto e dell'ID istanza. Gli oggetti scalari, ad esempio sysDesc, hanno sempre un'istanza pari a 0. Se l'oggetto è una colonna di una tabella, l'ID istanza è in genere l'indice della colonna. I MIB sono strutturati in un formato struttura e gli ID oggetto derivano da tale struttura.
Nota: l'output di esempio riportato in questo documento è stato acquisito da un Cisco UCS serie C Rack Server.
In questo esempio viene analizzata la definizione CISCO-UNIFIED-COMPUTING-PROCESSOR-MIB di cucsProcessorUnitEntry.
cucsProcessorUnitEntry OBJECT-TYPE SYNTAX CucsProcessorUnitEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Entry for the cucsProcessorUnitTable table." INDEX { cucsProcessorUnitInstanceId } ::= { cucsProcessorUnitTable 1 } CucsProcessorUnitEntry ::= SEQUENCE { cucsProcessorUnitInstanceId CucsManagedObjectId, cucsProcessorUnitDn CucsManagedObjectDn, cucsProcessorUnitRn SnmpAdminString, cucsProcessorUnitArch CucsProcessorUnitArch, cucsProcessorUnitCores Gauge32, cucsProcessorUnitCoresEnabled Gauge32, cucsProcessorUnitId Gauge32, cucsProcessorUnitModel SnmpAdminString, cucsProcessorUnitOperState CucsEquipmentOperability, cucsProcessorUnitOperability CucsEquipmentOperability, cucsProcessorUnitPerf CucsEquipmentSensorThresholdStatus, cucsProcessorUnitPower CucsEquipmentPowerState, cucsProcessorUnitPresence CucsEquipmentPresence, cucsProcessorUnitRevision SnmpAdminString, cucsProcessorUnitSerial SnmpAdminString, cucsProcessorUnitSocketDesignation SnmpAdminString, cucsProcessorUnitSpeed INTEGER, cucsProcessorUnitStepping Gauge32, cucsProcessorUnitThermal CucsEquipmentSensorThresholdStatus, cucsProcessorUnitThreads Gauge32, cucsProcessorUnitVendor SnmpAdminString, cucsProcessorUnitVoltage CucsEquipmentSensorThresholdStatus, cucsProcessorUnitVisibility CucsMemoryVisibility, cucsProcessorUnitOperQualifierReason SnmpAdminString
cucsProcessorUnitEntry non è accessibile perché è una sequenza o un elemento padre e non è associato a un'istanza specifica. Gli oggetti sono elencati sotto la sequenza o il padre; può essere utile considerarle come righe di una tabella. Gli oggetti corrispondono a OID specifici (nome oggetto numerico + istanza), che possono essere richiesti singolarmente per informazioni. Se si utilizza il comando snmpwalk nella sequenza o nell'elemento padre, si riceveranno risposte per tutti gli oggetti sottostanti. Tuttavia, è necessario utilizzare uno strumento di traduzione per mappare il nome dell'oggetto agli OID.
Nota:
La clausola Syntax definisce il formato dell'intero. Ad esempio, contatore 32, contatore 64, misuratore 32, indirizzo IP e così via.
Max-access definisce la modalità lettura/scrittura, lettura/creazione o nessun accesso.
La descrizione è di immediata comprensione.
Indice identifica l'ID tabella.
Se ad esempio si utilizza il comando snmpwalk in cucsProcessorUnitOperStateObject, verranno visualizzati i risultati seguenti:
[root@localhost snmp]# snmpwalk -v2c -c public 14.17.2.121 .1.3.6.1.4.1.9.9.719.1.41.9.1.9 SNMPv2-SMI::enterprises.9.9.719.1.41.9.1.9.1 = INTEGER: 1 SNMPv2-SMI::enterprises.9.9.719.1.41.9.1.9.2 = INTEGER: 1
Sono disponibili due risposte a questa richiesta, poiché nel server sono presenti due processori. Le risposte riflettono inoltre le due istanze di cucsProcessorUnitOperState, una per ogni processore. Le informazioni OID vengono estratte per tutti gli oggetti di questo tipo. In questo esempio, il comando snmpwalk ha utilizzato il percorso della struttura MIB. A tal fine, è possibile caricare i MIB localmente o cercare uno strumento che traduca gli oggetti MIB e gli OID SNMP.
In questo esempio viene utilizzato uno strumento di traduzione per tradurre l'OID:
.1.3.6.1.4.1.9.9.719.1.41.9.1.9 (path through the tree) cucsProcessorUnitOperState OBJECT-TYPE -- FROM CISCO-UNIFIED-COMPUTING-PROCESSOR-MIB -- TEXTUAL CONVENTION CucsEquipmentOperability SYNTAX Integer { unknown(0), operable(1), inoperable(2), degraded(3),poweredOff(4), powerProblem(5), removed(6), voltageProblem(7), thermalProblem(8), performanceProblem(9), accessibilityProblem(10), identityUnestablishable(11), biosPostTimeout(12), disabled(13), fabricConnProblem(51), fabricUnsupportedConn(52), config(81), equipmentProblem(82), decomissioning(83), chassisLimitExceeded(84), notSupported(100), discovery(101), discoveryFailed(102), identify(103), postFailure(104), upgradeProblem(105), peerCommProblem(106), autoUpgrade(107) } MAX-ACCESS read-only STATUS Current DESCRIPTION "Cisco UCS processor:Unit:operState managed object property" ::= { iso(1) org(3) dod(6) internet(1) private(4) enterprises(1) cisco(9) ciscoMgmt(9) ciscoUnifiedComputingMIB(719) ciscoUnifiedComputingMIBObjects(1) cucsProcessorObjects(41) cucsProcessorUnitTable(9) cucsProcessorUnitEntry(1) 9 }
Sopra il tipo di oggetto è possibile visualizzare il percorso della struttura MIB utilizzata dal comando snmpwalk. La risposta di 1 indica che i processori sono in uno stato utilizzabile.
Per utilizzare il comando snmpwalk su un PC, potrebbe essere necessario cercare e installare un'applicazione. È inoltre possibile cercare applicazioni SNMP GUI Windows.
Un Mac funziona a livello nativo.
Ci sono dei pacchetti disponibili per Linux. Per Centos o Redhat, Net-SNMP è un'applicazione della riga di comando che verifica la funzionalità SNMP. Per installare Net-SNMP su Centos o Redhat, utilizzare questo comando:
yum install net-snmp-utils
Nota: se si intende caricare i MIB per eseguire le conversioni localmente, creare un file snmp.conf e includere i MIB desiderati.
Verificare che il MIB specifico sia supportato nella versione di codice applicabile.
Verificare che l'indirizzo IP del dispositivo gestito sia raggiungibile.
Assicurarsi che le porte siano aperte sui firewall.
utilizzare le tracce Wireshark o TCPDump per la risposta a problemi di pacchetti in formato non corretto; filtro in base all'indirizzo IP e alla porta (porta UDP 161 per SNMP, porta UDP 162 per il richiamo di trap).
Sono molte le RFC associate al protocollo SNMP; questo è un elenco parziale:
1155 â Struttura e identificazione delle informazioni di gestione per gli Internet basati su TCP/IP
1156 âBase di informazioni di gestione per la gestione di rete di Internet basate su TCP/IP (MIB I)
1157 â Protocollo di gestione semplice della rete
1213 âBase di informazioni di gestione per la gestione di rete di Internet basati su TCP/IP (MIB II)
1441 â Introduzione alla versione 2 del framework di gestione di rete standard Internet
1452 â Coesistenza tra la versione 1 e la versione 2 del framework di gestione di rete standard Internet
2578 â Struttura delle informazioni di gestione versione 2
3414 â Modello di sicurezza basato sull'utente per la versione 3 del protocollo Simple Network Management Protocol
3584 â Coesistenza tra la versione 1, la versione 2 e la versione 3 del protocollo Internet-standard network management protocol
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
12-Mar-2013 |
Versione iniziale |