O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve como configurar o Simple Network Management Protocol (SNMP) para monitorar a controladora Wireless LAN (WLC) Cisco 9800.
Todos os testes foram realizados no MacOS 10.14 e em uma WLC 9800-CL com a versão da imagem 17.5.1. Alguns dos OIDs mencionados neste artigo não existem em versões de imagem mais antigas.
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. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
As WLCs mais antigas do AireOS dependem do SNMP como o protocolo principal do monitor. A maioria das informações relevantes, como a contagem de clientes, o número de pontos de acesso unidos, o processador e o uso de memória, podem ser obtidas através de consulta SNMP da ferramenta que monitora, para a WLC.
Com a WLC 9800, o foco foi colocado na telemetria. A telemetria funciona em um modelo "push", em que a WLC envia informações relevantes ao servidor sem a necessidade de consulta. O Catalyst 9800 ainda oferece o SNMP para fins de legado. Algumas informações podem ser exclusivas para telemetria e alguns dos OIDs anteriormente disponíveis no AireOS ainda não estão disponíveis no 9800.
A partir do Cisco IOS XE Bengaluru 17.6.1, a porta de serviço Ethernet (interface de gerenciamento VRF/GigabitEthernet 0) é suportada no Cisco Catalyst 9800 Series Wireless Controller.
Antes desta versão, o Catalyst 9800 WLC só podia ser monitorado com SNMP através de sua interface de gerenciamento sem fio ou através da interface de gerenciamento de redundância (no caso de um WLC em standby no cluster HA nas versões 17.5.1 e superior).
O SNMPv2c é uma versão baseada em comunidade do SNMP e toda a comunicação entre os dispositivos está em texto claro. O SNMPv3 é a versão mais segura que oferece verificações de integridade de mensagem, autenticação e criptografia dos pacotes. O SNMPv1 está extremamente desatualizado, mas ainda existe para fornecer compatibilidade de software herdado. Não é mencionado neste artigo.
Importante: o SNMPv2c é ativado por padrão com a comunidade "privada" com privilégios de leitura+gravação e a comunidade "pública" com privilégios somente leitura. É recomendável removê-los e criar uma nova comunidade com um nome diferente.
Faça login na interface da Web do WLC 9800. Em Administration > Management > SNMP, certifique-se de que o SNMP esteja habilitado globalmente. Em Community Strings, todas as comunidades configuradas no momento e seus níveis de permissão são exibidos:
Antes da criação do usuário SNMP V3, é necessário definir um grupo SNMP V3. Para criar um grupo de usuários com permissão de leitura+gravação, defina Read View e Write View como v1default. O grupo somente leitura precisa ter o Modo de Gravação vazio
Na guia SNMP V3 Users, você pode ver todos os usuários configurados, seus privilégios e protocolos usados para autenticação e criptografia. Botão Novo permite a criação de um novo usuário.
Há três modos de segurança disponíveis:
Selecione SHA como protocolo de autenticação e pelo menos AES-128 como protocolo de privacidade é recomendado.
O SNMP também pode ser configurado através da Interface de Linha de Comando (CLI). A CLI oferece parâmetros de configuração adicionais, como a capacidade de atribuir uma lista de acesso à comunidade v2 ou ao usuário v3.
Exemplo de configuração da comunidade v2 leitura+gravação, grupo v3 leitura+gravação e usuário v3 que pertence a este grupo:
snmp-server manager
snmp-server community
RW
snmp-server community
RO
snmp-server group
v3 auth write v1default snmp-server user
v3 auth sha
priv aes 128
access
Exemplo de uma lista de acesso que só permite que o dispositivo no endereço IP 192.168.10.10 consulte a comunidade WLC v2 chamada "ReadWriteCommunity":
ip access-list standard 50
10 permit 192.168.10.10
20 deny any
snmp-server manager
snmp-server community ReadWriteCommunity RW 50
Note: No momento da gravação deste documento, somente ACLs padrão são suportadas. As ACLs estendidas podem ser atribuídas, mas não funcionam.
Os IDs de objeto, ou OIDs abreviados, são identificadores exclusivos que representam uma determinada variável ou objeto. Por exemplo, o uso atual do processador é considerado variável, cujos valores podem ser recuperados com a chamada em seu ID de objeto. Cada OID é exclusivo e não pode haver dois iguais em todo o mundo, muito semelhante a um endereço MAC.
Esses identificadores seguem uma hierarquia de árvore e cada OID pode ser rastreado até sua raiz. Cada fornecedor tem sua própria filial com uma raiz comum.
Uma analogia poderia ser um endereço residencial, onde a raiz seria o país ou o estado, seguido por um CEP da cidade, a rua e, finalmente, o número residencial.
Os números seguidos de um ponto representam cada etapa necessária para chegar a um certo ponto nessa árvore ou ramificação.
Todos esses valores são armazenados em uma base de informações de gerenciamento, ou MIB, abreviando, em cada dispositivo de rede. Cada identificador tem nome e uma definição (intervalo de valores possíveis, tipo...).
Não é necessário carregar uma MIB na ferramenta de monitoramento SNMP para usar o SNMP e consultar um dispositivo.
Desde que um OID válido seja conhecido, o dispositivo responde com o valor que é armazenado na variável que o OID representa. No entanto, se você carregar o MIB em sua ferramenta de consulta, ele fornecerá a vantagem de converter os nomes de objetos em suas IDs e permitirá que o saiba sua descrição.
Neste exemplo, a ferramenta SNMP consulta o agente SNMP de um dispositivo para obter sua descrição do sistema com o uso do OID 1.3.6.1.2.1.1.1.0.
A Cisco oferece Base de Informações de Gerenciamento (MIBs - Management Information Base) para 9800 WLCs. Não é de fácil leitura, mas o MIB contém todos os nomes de objetos disponíveis e suas descrições.
Todos os modelos 9800 (9800-80, 9800-40, 9800-L, 9800-CL, EWC) usam o mesmo MIB que pode ser baixado aqui: https://software.cisco.com/download/home/286322605/type/280775088/release/.
A mais atualizada é aquela com a data mais recente, não aquela com o nome de versão de código mais alto.
O arquivo morto baixado contém vários arquivos de texto .my que podem ser importados para qualquer servidor SNMP de terceiros ou simplesmente abertos com um editor de texto. Para localizar o OID de um nome de objeto específico, primeiro é necessário localizar o arquivo exato que o contém.
Por exemplo, todos os objetos relacionados a monitorar o estado físico do dispositivo (como CPU e memória) estão localizados dentro de um MIB chamado CISCO-PROCESS-MIB.my.
Aqui, "cpmCPUMemoryUsed" é o nome do objeto que é usado para fornecer a quantidade de memória usada pelo WLC em bytes. Todos os arquivos MIB seguem uma sintaxe semelhante. As informações sobre o objeto de memória usado se parecem com:
cpmCPUMemoryUsed OBJECT-TYPE
SYNTAX Gauge32
UNITS "kilo-bytes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The overall CPU wide system memory which is currently
under use."
::= { cpmCPUTotalEntry 12 }
A maioria dos softwares de terceiros para monitorar depende de OIDs, e não de nomes de objetos. A conversão entre o nome do objeto e a ID do objeto pode ser feita com o uso da ferramenta de navegador de objetos Cisco SNMP.
Digite o nome do objeto na barra de pesquisa. O Output fornece o OID e uma breve descrição. Além disso, a mesma ferramenta pode ser usada para localizar o nome do objeto do OID fornecido.
Após a aquisição do OID do objeto que precisa ser monitorado, a primeira consulta SNMP pode ser executada.
Exemplos neste capítulo mostram como adquirir uma memória livre de WLC (OID = 1.3.6.1.4.1.9.9.48.1.1.1.5) para SNMPv2 community private e usuário SNMPv3 snmpadmin com a senha SHA Auth Cisco123# e a senha AES Privacy definida como Cisco123#. A interface de gerenciamento do controlador está localizada em 10.48.39.133.
Snmpwalk é uma aplicação SNMP que usa solicitações SNMP GETNEXT para consultar uma entidade de rede em busca de uma árvore de informações. Ele está presente por padrão no MacOS e na maioria das distribuições Linux. Para o SNMPv2c, o comando segue a sintaxe:
snmpwalk -v2c -c
Exemplo:
VAPEROVI:~ vaperovi$ snmpwalk -v2c -c private 10.48.39.133 1.3.6.1.4.1.9.9.109.1.1.1.1.12
SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.12.2 = 3783236 <-------- Free Memory in Bytes
Se o SNMPv3 for usado, o comando segue a sintaxe:
snmpwalk -v3 -l authPriv -u <username> -a [MD5|SHA] -A <auth_password> -x [AES|DES] -X <priv_password> <WLC_management_interface_ip> <OID>
Selecione MD5/SHA e AES/DES com base em como você criou o usuário SNMPv3 no controlador.
Exemplo:
VAPEROVI:~ vaperovi$ snmpwalk -v3 -l authPriv -u snmpadmin -a SHA -A Cisco123# -x AES -X Cisco123# 10.48.39.133 1.3.6.1.4.1.9.9.109.1.1.1.1.12
SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.12.2 = 3783236 <-------- Free Memory in Bytes
#snmpwalk output still shows v2 even though v3 is used
Os trechos de código são escritos para Python 3.9 e utilizam o módulo pysnmp (pip install pysnmp) para fazer consultas SNMP para utilização de memória do Catalyst 9800-CL WLC. Esses exemplos usam a mesma comunidade SNMPv2 e o usuário SNMPv3 criados em um dos capítulos anteriores. Basta substituir os valores de variáveis e integrar o código em seus próprios scripts personalizados.
Exemplo de SNMPv2:
from pysnmp.hlapi import *
communityName = 'private'
ipAddress = '10.48.39.133'
OID = '1.3.6.1.4.1.9.9.109.1.1.1.1.12'
for (errorIndication,
errorStatus,
errorIndex,
varBinds) in nextCmd(SnmpEngine(),
CommunityData(communityName),
UdpTransportTarget((ipAddress, 161)),
ContextData(),
ObjectType(ObjectIdentity(OID)),
lexicographicMode=False):
if errorIndication:
print(errorIndication)
elif errorStatus:
print('%s at %s' % (errorStatus.prettyPrint(),
errorIndex and varBinds[int(errorIndex) - 1][0] or '?'))
else:
for varBind in varBinds:
print(' = '.join([x.prettyPrint() for x in varBind]))
A saída é impressa:
SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.12.2 = 3783236
Exemplo de SNMPv3:
from pysnmp.hlapi import *
username = 'snmpadmin'
ipAddress = '10.48.39.133'
OID = '1.3.6.1.4.1.9.9.109.1.1.1.1.12'
authKey = 'Cisco123#'
privKey = 'Cisco123#'
for (errorIndication,
errorStatus,
errorIndex,
varBinds) in nextCmd(SnmpEngine(),
UsmUserData(username, authKey, privKey,
authProtocol=usmHMACSHAAuthProtocol,
privProtocol=usmAesCfb128Protocol),
UdpTransportTarget((ipAddress, 161)),
ContextData(),
ObjectType(ObjectIdentity(OID)),
lexicographicMode=False):
if errorIndication:
print(errorIndication)
elif errorStatus:
print('%s at %s' % (errorStatus.prettyPrint(),
errorIndex and varBinds[int(errorIndex) - 1][0] or '?'))
else:
for varBind in varBinds:
print(' = '.join([x.prettyPrint() for x in varBind]))
O Cisco Prime Infrastructure oferece a capacidade de monitorar e configurar facilmente vários dispositivos de rede, o que inclui controladores sem fio.
A Prime Infrastructure vem pré-carregada com todos os OIDs e a integração com a WLC consiste simplesmente na adição das credenciais da WLC ao Prime. Com 9800 WLCs, Prime depende principalmente de Telemetria para coletar a maioria dos detalhes da WLC, enquanto a pequena parte das informações é obtida através do SNMP.
Por outro lado, o Cisco WLC também pode ser integrado a várias soluções de terceiros para monitoramento, desde que os OIDs sejam conhecidos.
Programas como Grafana+Prometheus, PRTG Network monitor e SolarWinds server permitem que as MIBs ou OIDs sejam importadas e os valores sejam exibidos em um gráfico de fácil utilização.
Essa integração pode exigir alguns ajustes no lado do servidor SNMP. Neste exemplo, o servidor monitor PRTG é fornecido com o OID de utilização de CPU por núcleo que retorna a string "0%/1%, 1%/1%, 0%/1%, 0%/1%". PRTG espera um valor inteiro e gera um erro.
O Cisco Unified Communications Manager (CUCM) tem um recurso de rastreamento de endpoint sem fio que permite rastrear aproximadamente a localização do cliente com base no AP ao qual o cliente está conectado. Para que esse recurso funcione, o CUCM precisa extrair informações da WLC através de consultas SNMP.
Importante: muitas versões do CUCM são afetadas pelo bug da Cisco ID CSCvv07486 - Não é possível sincronizar pontos de acesso na WLC devido a solicitações de SNMP muito grandes. Esse problema é acionado em situações em que o CUCM executa uma versão afetada e a WLC tem mais de 10 pontos de acesso. Devido à forma incorreta como o CUCM consulta uma grande quantidade de OIDs em uma única solicitação em massa, a WLC se recusa a responder ou responde com uma resposta tooBig. A resposta tooBig nem sempre é enviada imediatamente e pode ser atrasada. SNMP debugs on WLC print "SNMP: pacote recebido via UDP de x.x.x.x em VlanXXSrParseV1SnmpMessage: pacote é muito grande SrDoSnmp: erro de análise ASN".
A tabela inclui alguns dos nomes de objetos mais comuns e seus OIDs, considerando que os MIBs apresentam os dados em sintaxe não amigável:
Note: Comando "show snmp mib | em <Nome do objeto>" pode ser usado para verificar se um determinado nome de objeto está disponível na WLC 9800.
Descrição |
Nome do objeto |
OID |
Resposta esperada |
Uso geral de CPU em % nos últimos 5 segundos |
cpmCPUTotal5sec |
1.3.6.1.4.1.9.9.109.1.1.1.1.3 |
INTEIRO: 5 |
Uso geral da CPU em % últimos 1 min |
cpmCPUTotal1min |
1.3.6.1.4.1.9.9.109.1.1.1.1.4 |
INTEIRO: 5 |
Uso geral de CPU em % nos últimos 5 minutos |
cpmCPUTotal5min |
1.3.6.1.4.1.9.9.109.1.1.1.1.5 |
INTEIRO: 5 |
Memória usada atualmente em bytes |
cpmCPUMemoryUsed |
1.3.6.1.4.1.9.9.109.1.1.1.1.12 |
INTEIRO: 3783236 |
Memória livre atual em bytes |
cpmCPUMemoryFree |
1.3.6.1.4.1.9.9.109.1.1.1.1.13 |
INTEIRO: 4263578 |
Menor quantidade de memória livre desde a última inicialização em bytes |
cpmCPUMemoryLowest |
1.3.6.1.4.1.9.9.109.1.1.1.1.15 |
INTEIRO: 4251212 |
Motivo do último recarregamento |
por queRecarregar |
1.3.6.1.4.1.9.2.1.2 |
STRING: "recarregar" |
Imagem de software de todos os APs associados |
bsnAPSoftwareVersion |
1.3.6.1.4.1.14179.2.2.1.1.8 |
CADEIA DE CARACTERES: "17.5.1.12" |
Número do modelo de todos os APs associados |
bsnAPModel |
1.3.6.1.4.1.14179.2.2.1.1.16 |
STRING: "AIR-AP1840I-E-K9" |
Número de clientes |
X |
X |
X |
Número de APs unidos |
X |
X |
X |
Estado da unidade de fonte de alimentação |
X |
X |
X |
Estado do ventilador |
X |
X |
X |
Atualmente, há solicitações de aprimoramento abertas para suportar OIDs do número total de clientes e do número de pontos de acesso unidos:
ID de bug Cisco CSCvu26309 - OID SNMP para contagem de cliente ausente no 9800
ID de bug Cisco CSCvv44330 - OID SNMP para AP não presente no 9800
O estado da PSU (Power Supply Unit, unidade de fonte de alimentação) e o estado do ventilador não são suportados no momento em que este artigo foi escrito. A solicitação de aprimoramento foi aberta:
ID de bug Cisco CSCwa23598 - Aprimoramento de WLC 9800 / Suporte para PSU e SNMP OID de estado do ventilador (1.3.6.1.4.1.9.9.13)
Monitorar uma WLC em standby no cluster de alta disponibilidade só é possível a partir da versão 17.5.1. A WLC em standby pode ser monitorada diretamente através da RMI ou com a consulta da WLC ativa.
A WLC em standby pode ser monitorada diretamente somente se as WLCs que são executadas no tipo RMI + RP HA. Isso é feito através do endereço IP da interface de gerenciamento de redundância (RMI - Redundancy Management Interface) do WLC em standby.
Neste cenário, somente OIDs de IF-MIB são oficialmente suportados, o que torna possível apenas monitorar o estado de todas as interfaces na WLC em standby. Exemplo de saída do WLC 9800-CL:
Descrição |
Nome do objeto |
OID |
Resposta esperada |
Nome da interface |
ifDescr |
1.3.6.1.2.1.2.2.1.2 |
SNMPv2-SMI::mib-2.2.1.2.1 = GigabitEthernet1 |
Estado operacional da interface (1=ativo, 2=inativo) |
ifOperStatus |
1.3.6.1.2.1.2.2.1.8 |
SNMPv2-SMI::mib-2.2.1.8.1 = 2 |
Nota: Espera-se que a porta Gig 2 da WLC em standby (porta de tronco usada para switching de tráfego) esteja em estado de desligamento. Uma vez que o failover ocorre, a porta Gig 2 na WLC em standby é ativada. O mesmo ocorre com portas de dez gigabits em 9800 dispositivos físicos (9800-80, 9800-40 e 9800-CL).
O estado da WLC em standby também pode ser monitorado com a consulta à WLC ativa. Somente MIBs CISCO-LWAPP-HA-MIB e CISCO-PROCESS-MIB são oficialmente suportados. Quando a WLC ativa no HA é consultada, a primeira resposta representa o valor da WLC ativa, enquanto a segunda resposta representa o valor da WLC em standby.
Descrição |
Nome do objeto |
OID |
Resposta esperada |
Uso geral de CPU em % nos últimos 5 segundos |
cpmCPUTotal5sec |
1.3.6.1.4.1.9.9.109.1.1.1.1.3 |
SNMPv2-SMI::empresas.9.9.109.1.1.1.1.3.5 = 3 |
Uso geral da CPU em % últimos 1 min |
cpmCPUTotal1min |
1.3.6.1.4.1.9.9.109.1.1.1.1.4 |
SNMPv2-SMI::empresas.9.9.109.1.1.1.1.4.5 = 8 |
Uso geral de CPU em % nos últimos 5 minutos |
cpmCPUTotal5min |
1.3.6.1.4.1.9.9.109.1.1.1.1.5 |
SNMPv2-SMI::empresas.9.9.109.1.1.1.1.5.5 = 10 |
Memória usada atualmente em bytes |
cpmCPUMemoryUsed |
1.3.6.1.4.1.9.9.109.1.1.1.1.12 |
SNMPv2-SMI::empresas.9.9.109.1.1.1.1.12.5 = 4318980 |
Memória livre atual em bytes |
cpmCPUMemoryFree |
1.3.6.1.4.1.9.9.109.1.1.1.1.13 |
SNMPv2-SMI::empresas.9.9.109.1.1.1.1.12.5 = 4318739 |
Menor quantidade de memória livre desde a última inicialização em bytes |
cpmCPUMemoryLowest |
1.3.6.1.4.1.9.9.109.1.1.1.1.15 |
SNMPv2-SMI::empresas.9.9.109.1.1.1.1.15.5 = 3763868 |
Estado da WLC em standby (1=ativo, 0=inativo) |
EventoHotStandbyPeerLHaPeer |
1.3.6.1.4.1.9.9.843.1.3.4 |
SNMPv2-SMI::empresas.9.9.843.1.3.4.0 = 1 |
Revisão | Data de publicação | Comentários |
---|---|---|
4.0 |
01-Apr-2022 |
OIDs adicionais mencionados |
2.0 |
01-Oct-2021 |
Versão inicial |
1.0 |
12-Oct-2021 |
Versão inicial |