Este documento descreve como configurar o Simple Network Management Protocol (SNMP) para monitorar a controladora Wireless LAN (WLC) Cisco 9800.
Todos os testes foram executados 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.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. 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 para monitorar. A maioria das informações relevantes, como a contagem de clientes, o número de pontos de acesso unidos, o processador e o uso da memória, pode ser obtida através de consultas SNMP da ferramenta que monitora 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ó pode 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á bastante desatualizado, mas ainda existe para fornecer compatibilidade de software herdado. Não é mencionado neste artigo.
1. Faça login na interface web da WLC 9800. Em Administration > Management > SNMP e verifique se o SNMP está habilitado globalmente. Em Community Strings, todas as comunidades configuradas atualmente e seus níveis de permissão são exibidos:

2. Antes da criação de um 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. Deixe a caixa de campo Write View do grupo somente leitura como vazia:

3. Na guia SNMP v3 Users, você pode ver todos os usuários configurados e seus privilégios e protocolos usados para autenticação e criptografia. O botão New permite que você crie um novo usuário.
Há três modos de segurança disponíveis:
4. Selecione SHA como o protocolo de autenticação e pelo menos AES-128 como o 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 a uma comunidade v2 ou a um usuário v3. Um exemplo de configuração de uma comunidade v2 de leitura + gravação, v3 de leitura + gravação e usuário v3 que pertence a este grupo:
snmp-server manager
snmp-server community <community-name> RW <access-list-number>
snmp-server community <community-name> RO <access-list-number>
snmp-server group <v3-group-name> v3 auth write v1default
snmp-server user <v3-user-name> <v3-group-name> v3 auth sha <auth-password> priv aes 128 <encryption-password> access <access-list-number>
Este é um exemplo de uma lista de acesso que só permite o dispositivo em um endereço IP de: 192.168.10.10. Para consultar 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
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, isso é semelhante a um endereço MAC.
Esses identificadores se alinham a uma hierarquia de árvore, e cada OID pode ser rastreado de volta à sua raiz. Cada fornecedor tem sua própria filial com uma raiz comum. Uma analogia pode ser um endereço residencial, onde a raiz é o país ou o estado, com sua cidade, CEP, rua e, finalmente, o número residencial.
Os números seguidos por um ponto representam cada etapa necessária para chegar a um determinado ponto na árvore ou ramificação.

Todos esses valores são armazenados em uma base de informações de gerenciamento, ou MIB, abreviando cada dispositivo de rede. Cada identificador tem nome e uma definição (intervalo de valores possíveis, tipo, etc.).
Não é necessário carregar uma MIB na ferramenta de monitoramento SNMP para usar o SNMP para consultar um dispositivo. Desde que um OID válido seja conhecido, o dispositivo responde com o valor 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 seus IDs e explicará 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 MIBs para 9800 WLCs. Não é de fácil leitura, no entanto, a 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 no Cisco Feature Navigator. A mais atualizada é a data mais recente, não aquela com o nome de versão de código mais alto.
Os arquivos baixados 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 localize o arquivo exato que o contém.
Por exemplo, todos os objetos relacionados ao monitoramento do estado físico dos dispositivos (como CPU e memória) estão localizados dentro de um MIB chamado CISCO-PROCESS-MIB.my.
O "cpmCPUMemoryUsed" é o nome do objeto usado para fornecer a quantidade de memória usada pelo WLC em bytes. Todos os arquivos MIB se alinham com 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 Cisco SNMP Object Navigator.
Para utilizar essa ferramenta, informe o nome do objeto na barra de pesquisa e a saída fornecerá o OID e uma descrição resumida. Além disso, a mesma ferramenta pode ser usada para localizar o nome do objeto do OID fornecido.

Após a aquisição, o OID do objeto que deve 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 SNMPv3 user snmpadmin com SHA Auth password: Cisco123# e AES Privacy password: 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 está em conformidade com esta sintaxe:
snmpwalk -v2c -c <community_name> <WLC_management_interface_ip> <OID>
Este é outro 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 adere à 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. Este é outro 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 executar 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 nos 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 integrações com a WLC e consiste 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 servidores SolarWinds 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 deve receber informações da WLC através de consultas SNMP.
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:
| Descrição |
Nome do objeto |
OID |
Resposta esperada |
| Uso geral de CPU em % nos últimos 5 segundos (equivalente a "show process cpu platform") |
cpmCPUTotal5sec |
1.3.6.1.4.1.9.9.109.1.1.1.1.3 |
INTEGER: 5 |
| Uso geral da CPU em % últimos 1 min |
cpmCPUTotal1min |
1.3.6.1.4.1.9.9.109.1.1.1.1.4 |
INTEGER: 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 |
INTEGER: 5 |
| Uso da CPU em % nos últimos 5 minutos, por núcleo |
cpmCore5min |
.1.3.6.1.4.1.9.9.109.1.1.2.1.5.5 (.0 a .X, dependendo do número de núcleos) |
INTEGER: 5 |
| Memória usada atualmente em bytes |
cpmCPUMemoryUsed |
1.3.6.1.4.1.9.9.109.1.1.1.1.12 |
INTEGER: 3783236 |
| Memória livre atual em bytes |
cpmCPUMemoryFree |
1.3.6.1.4.1.9.9.109.1.1.1.1.13 |
INTEGER: 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 |
INTEGER: 4251212 |
| Motivo do último recarregamento |
por queRecarregar |
1.3.6.1.4.1.9.2.1.2 |
SÉRIE: "recarregar" |
| Imagem de software de todos os APs associados |
bsnAPSoftwareVersion |
1.3.6.1.4.1.14179.2.2.1.1.8 |
SÉRIE: "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 |
SÉRIE: "AIR-AP1840I-E-K9" |
| Número de clientes |
cLApActiveClientCount |
.1.3.6.1.4.1.9.9.513.1.1.1.1.72 |
Número inteiro |
| Número de APs unidos |
cLApGlobalAPConnectCount |
1.3.6.1.4.1.9.9.513.1.3.35 |
Medidor32: 1 |
| Estado da unidade de fonte de alimentação |
CiscoEnvMonSupplyStatusTable |
.1.3.6.1.4.1.9.9.13.1.5(adicionado através do CSCwb73163 |
tabela |
| Estado do ventilador |
TabelaDeStatusDoVentiladorDoEnvCisco |
.1.3.6.1.4.1.9.9.13.1.4 (adicionado através do CSCwb73163 |
tabela |
No momento, há solicitações de aprimoramento abertas para suportar o número total de OIDs de clientes e o número de pontos de acesso unidos sob a ID de bug da Cisco: CSCvu26309 - SNMP OID para Contagem de Cliente não Presente em 9800.
O estado da unidade de fonte de alimentação (PSU) e o estado do ventilador não são suportados no momento deste artigo. Uma solicitação de aprimoramento foi aberta em
ID de bug da Cisco: CSCwa23598 - Aprimoramento de WLC 9800 / Suporte para PSU e OID SNMP do estado do ventilador (1.3.6.1.4.1.9.9.13).
Você pode monitorar uma WLC em standby no cluster de alta disponibilidade da versão 17.5.1. A WLC em standby pode ser monitorada diretamente através da RMI ou consultando a WLC ativa.
A WLC em standby pode ser monitorada diretamente somente para WLCs que são executadas no tipo HA RMI + RP. 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 suportados, o que torna possível monitorar o estado de todas as interfaces na WLC em standby. Um 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 |
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 uma 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 |
|---|---|---|
8.0 |
27-Oct-2026
|
Ortografia, gramática, espaçamento atualizados, linhas horizontais inseridas em seções separadas para facilitar a leitura, alertas fixos do CCW e texto alternativo. |
7.0 |
01-Jul-2025
|
Ventilador, fonte de alimentação e número de OIDs de clientes adicionados |
6.0 |
31-Mar-2025
|
URL MIB fixa |
5.0 |
15-Nov-2023
|
Adicionado por OID de núcleo da CPU |
4.0 |
01-Apr-2022
|
OIDs adicionais mencionados |
2.0 |
01-Oct-2021
|
Versão inicial |
1.0 |
12-Oct-2021
|
Versão inicial |