Este documento fornece uma breve visão geral do Protocolo de Gerenciamento de Rede Simples (SNMP - Simple Network Management Protocol) e demonstra como testar a funcionalidade do SNMP em um servidor em rack Cisco Unified Computing System (UCS - Unified Computing System) C-Series. Você também pode usá-lo como referência para a solução básica de problemas de SNMP.
O SNMP é um padrão do setor da Internet Engineering Task Force (IETF) definido por várias solicitações de comentários (RFCs). O SNMP é usado em Sistemas de Gerenciamento de Rede (NMSs - Network Management Systems) para monitorar dispositivos de rede. O SNMP funciona na camada de aplicação. O objetivo principal do SNMP é habilitar NMSs para obter informações de dispositivos gerenciados.
Este documento pressupõe que o NMS e todos os dispositivos de rede foram configurados corretamente e funcionaram corretamente no passado.
As informações neste documento são baseadas nestas versões de software e hardware:
SNMP
Servidores em rack Cisco UCS C-Series
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos.
O gerenciador é o NMS e o agente é o software executado no dispositivo gerenciado. O SNMP é usado para transportar as mensagens entre gerentes e agentes.
Uma base de informações de gerenciamento (MIB) é uma coleção de objetos. Há dois tipos de objetos: escalar (objeto único) e tabular (vários objetos). Um objeto é uma ou mais características ou variáveis de um dispositivo gerenciado. Essas características são identificadas por um identificador de objeto (OID). Um OID é uma representação numérica, separada por pontos, do nome do objeto e da ID da instância. Objetos escalares, como sysDesc, sempre têm uma instância de 0. Se o objeto for uma coluna em uma tabela, o ID da instância é geralmente o índice da coluna. As MIBs são estruturadas em um formato de árvore e as IDs de objeto são derivadas dessa árvore.
Observação: o exemplo de saída neste documento foi capturado de um servidor em rack Cisco UCS C-Series.
Este exemplo mostra a definição CISCO-UNIFIED-COMPUTING-PROCESSOR-MIB para 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 não está acessível porque é uma sequência ou pai e não está vinculada a uma instância específica. Os objetos estão listados na sequência ou no pai; pode ser útil pensar nelas como linhas em uma tabela. Os objetos correspondem a OIDs específicos (nome de objeto numérico + instância), que podem ser solicitados individualmente para obter informações. Se você usar o comando snmpwalk na sequência ou no pai, receberá respostas para todos os objetos subjacentes. No entanto, você precisa usar uma ferramenta de tradução para mapear o nome do objeto para os OIDs.
Note:
A cláusula de sintaxe define o formato do inteiro. Por exemplo, contador 32, contador 64, medidor 32, endereço IP e assim por diante.
O acesso máximo define leitura-gravação, leitura-criação ou sem acesso.
A descrição é autoexplicativa.
O índice identifica a ID da tabela.
Por exemplo, se você usar o comando snmpwalk no cucsProcessorUnitOperStateObject, verá estes resultados:
[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
Há duas respostas para essa solicitação, pois há dois processadores no servidor. As respostas também refletem as duas instâncias de cucsProcessorUnitOperState, uma para cada processador. As informações de OID são obtidas para todos os objetos desse tipo. Neste exemplo, o comando snmpwalk usou o caminho através da árvore MIB. Para traduzir isso, você pode carregar os MIBs localmente ou procurar uma ferramenta que converta objetos SNMP MIB e OIDs.
Este exemplo usa uma ferramenta de tradução para traduzir o 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 }
Acima do tipo de objeto, você pode ver o caminho através da árvore MIB que foi usada pelo comando snmpwalk. A resposta de 1 indica que os processadores estão em um estado operacional.
Para usar o comando snmpwalk em um PC, você pode precisar pesquisar e instalar um aplicativo. Você também pode pesquisar aplicativos SNMP da GUI do Windows.
Um Mac funciona nativamente.
Há pacotes disponíveis para Linux. Para Centos ou Redhat, Net-SNMP é um aplicativo de linha de comando que testa a funcionalidade do SNMP. Para instalar o Net-SNMP em Centos ou Redhat, use este comando:
yum install net-snmp-utils
Observação: se você planeja carregar os MIBs para executar as conversões localmente, crie um arquivo snmp.conf e inclua os MIBs desejados.
Verifique se a MIB específica é suportada na versão aplicável do código.
Verifique se o endereço IP do dispositivo gerenciado está acessível.
Verifique se as portas estão abertas em firewalls.
Usar rastreamentos do Wireshark ou TCPDump para resposta e problemas de pacote malformados; filtre em endereço IP e porta (porta UDP 161 para SNMP, porta UDP 162 para interceptações de recall).
Há muitos RFCs associados ao SNMP; esta é uma lista parcial:
1155 â Estrutura e identificação das informações de gerenciamento para internets baseadas em TCP/IP
1156 â Base de informações de gerenciamento de para gerenciamento de rede de internets baseadas em TCP/IP (MIB I)
1157 â protocolo de gerenciamento de rede simples
1213 â Base de informações de gerenciamento de para gerenciamento de rede de internets baseadas em TCP/IP (MIB II)
1441 â Introdução à versão 2 da estrutura de gerenciamento de rede padrão da Internet
1452 â Coexistência entre a versão 1 e a versão 2 da estrutura de gerenciamento de rede padrão da internet
2578 â Estrutura das Informações de Gerenciamento versão 2
3414 â Modelo de segurança baseado em usuário versão 3 do Simple Network Management Protocol
3584 â Coexistência entre a versão 1, a versão 2 e a versão 3 do protocolo de gerenciamento de rede padrão da Internet
Revisão | Data de publicação | Comentários |
---|---|---|
1.0 |
12-Mar-2013 |
Versão inicial |