Introduction
Este documento descreve como extrair os vários valores relacionados aos detalhes de Qualidade de Serviço (QoS - Class Based Quality of Service) (CISCO-CLASS-BASED-QOS-MIB) aplicados ao Plano de Controle com o Protocolo de Gerenciamento de Rede Simples (SNMP - Simple Network Management Protocol).
Prerequisites
Requirements
- Net-SNMP ou qualquer utilitário semelhante baseado em linha de comando executado em um sistema operacional baseado em UNIX que pesquisa MIBs (Management Information Bases) SNMP de um dispositivo Cisco. Net-SNMP é um utilitário de código aberto de terceiros disponível para download aqui.
- Verifique se a Política de plano de controle (CoPP) está configurada.
Componentes Utilizados
As informações neste documento são baseadas nestas versões de software e hardware:
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.
Procedimento
- Obtenha o ifindex (1.3.6.1.2.1.2.2.1.1) para o plano de controle como mostra este exemplo de saída:
show snmp mib ifmib ifindex | include Cont
Control Plane: Ifindex = 268
Você também pode conseguir isso com o SNMP como mostrado neste exemplo:
UNIX #snmpwalk -v2c -c
| grep -i control plane
IF-MIB::ifDescr.268 = STRING: Control Plane
Observe nesta saída que ifIndex é 268.
- Obtenha o cbQosIfindex (1.3.6.1.4.1.9.9.166.1.1.1.4 para o IfIndex correspondente no roteador:
UNIX # snmpwalk -v 2c -c
1.3.6.1.4.1.9.9.166.1.1.1.1.4 | grep -i 268
SNMPv2-SMI::enterprises.9.9.166.1.1.1.1.4.225 = INTEGER: 268
O cbQosPolicyIndex (1.3.6.1.4.1.9.9.166.1.1.1.1.1) é 225.
- cbQosCMName (1.3.6.1.4.1.9.9.166.1.7.1.1.1) é o objeto MIB que recupera os nomes dos mapas de classe configurados no roteador. Isso resulta na saída dos vários mapas de classe configurados com seus índices. Por exemplo, cbQosConfigIndex (1.3.6.1.4.1.9.9.166.1.5.1.1.2).
UNIX #snmpwalk -v2c -c
1.3.6.1.4.1.9.9.166.1.7.1.1.1
Exemplo
UNIX # snmpwalk -v2c -c
1.3.6.1.4.1.9.9.166.1.7.1.1.1 | egrep -i "copp|class"
SNMPv2-SMI::enterprises.9.9.166.1.7.1.1.1.1593 = STRING: "class-default"
SNMPv2-SMI::enterprises.9.9.166.1.7.1.1.1.274033342 = STRING: "CoPP-IMPORTANT"
SNMPv2-SMI::enterprises.9.9.166.1.7.1.1.1.280880137 = STRING: "CoPP-Match-all"
SNMPv2-SMI::enterprises.9.9.166.1.7.1.1.1.321645237 = STRING: "CoPP-NORMAL"
SNMPv2-SMI::enterprises.9.9.166.1.7.1.1.1.347132543 = STRING: "CoPP-CRITICAL2"
SNMPv2-SMI::enterprises.9.9.166.1.7.1.1.1.373457077 = STRING: "CoPP-BAD"
SNMPv2-SMI::enterprises.9.9.166.1.7.1.1.1.383240351 = STRING: "CoPP-CRITICAL"
Observe o valor destacado de 27403342, que é cbQosConfigIndex.
- Use cbQosConfigIndex para buscar o cbQosPolicyIndex (1.3.6.1.4.1.9.9.166.1.1.1.1.1) e o cbQosObjectsIndex (1.3.6.1.4.1.9.9.166.1.5.1.1) para o mapa de classes específico. O exemplo nesta etapa mostra como monitorar o mapa de classe CoPP-IMPORTANT:
UNIX #snmpwalk -v2c -c
1.3.6.1.4.1.9.9.166.1.5.1.1.2
Obtenha a saída OID (Object Identifier) pesquisando 274033342 (valor destacado da Etapa 3) nesta saída:
UNIX #snmpwalk -v2c -c
1.3.6.1.4.1.9.9.166.1.5.1.1.2
Exemplo
UNIX# snmpwalk -v2c -c
1.3.6.1.4.1.9.9.166.1.5.1.1.2 | grep -i 'Gauge32: 274033342'
SNMPv2-SMI::enterprises.9.9.166.1.5.1.1.2.225.131072 = Gauge32: 274033342 <<<< Match these value
cbQosConfigIndex é 27403342, cbQosPolicyIndex é 225 e cbQosObjectsIndex é 131072.
Agora temos várias opções para pesquisar os dados específicos do mapa de políticas:
+— -R— Counter cbQosCMPrePolicyPktOverflow(1)
+— -R— Counter cbQosCMPrePolicyPkt(2)
+— -R— Counter64 cbQosCMPrePolicyPkt64(3)
+— -R— Counter cbQosCMPrePolicyByteOverflow(4)
+— -R— Counter cbQosCMPrePolicyByte(5)
+— -R— Counter64 cbQosCMPrePolicyByte64(6)
+— -R— Medidor cbQosCMPrePolicyBitRate(7)
+— -R— Counter cbQosCMPostPolicyByteOverflow(8)
+— -R— Counter cbQosCMPostPolicyByte(9)
+— -R— Counter64 cbQosCMPostPolicyByte64(10)
+— -R— Medidor cbQosCMPostPolicyBitRate(11)
+— -R— Counter cbQosCMDropPktOverflow(12)
+— -R— Contador cbQosCMDropPkt(13)
+— -R— Counter64 cbQosCMDropPkt64(14)
+— -R— Counter cbQosCMDropByteOverflow(15)
+— -R— Counter cbQosCMDropByte(16)
+— -R— Counter64 cbQosCMDropByte64(17)
+— -R— Medidor cbQosCMDropBitRate(18)
+— -R— Counter cbQosCMNoBufDropPktOverflow(19)
— -R— Counter cbQosCMNoBufDropPkt(20)
— -R— Counter64 cbQosCMNoBufDropPkt64(21)
Por exemplo, cbQosCMPostPolicyBitRate (1.3.6.1.4.1.9.9.166.1.15.1.1.11) é um objeto que pesquisa "A taxa de bits do tráfego após executar políticas de QoS".
UNIX #snmpwalk -v2c -c
1.3.6.1.4.1.9.9.166.1.15.1.1.11.225.131072
SNMPv2-SMI::enterprises.9.9.166.1.15.1.1.11.225.131072 = Gauge32: 12000
!--- Match this from the output taken from the router for verification.
Esta saída do comando show policy-map control-plane input class CoPP-IMPORTANT mostra trechos do roteador para corresponder valores de snmpwalk e contadores de roteador:
Router # show policy-map control-plane input class CoPP-IMPORTANT
Control Plane
Service-policy input: CoPP
Hardware Counters:
class-map: CoPP-IMPORTANT (match-all)
Match: access-group 121
police :
10000000 bps 312000 limit 312000 extended limit
Earl in slot 1 :
2881610867 bytes
5 minute offered rate 13072 bps
aggregate-forwarded 2881610867 bytes action: transmit
exceeded 0 bytes action: drop
aggregate-forward 13248 bps exceed 0 bps
Earl in slot 2 :
0 bytes
5 minute offered rate 0 bps
aggregate-forwarded 0 bytes action: transmit
exceeded 0 bytes action: drop
aggregate-forward 0 bps exceed 0 bps
Earl in slot 3 :
0 bytes
5 minute offered rate 0 bps
aggregate-forwarded 0 bytes action: transmit
exceeded 0 bytes action: drop
aggregate-forward 0 bps exceed 0 bps
Earl in slot 5 :
0 bytes
5 minute offered rate 0 bps
aggregate-forwarded 0 bytes action: transmit
exceeded 0 bytes action: drop
aggregate-forward 0 bps exceed 0 bps
Software Counters:
Class-map: CoPP-IMPORTANT (match-all)
16197981 packets, 3101873552 bytes
5 minute offered rate 12000 bps, drop rate 0000 bps
Match: access-group 121
police:
cir 10000000 bps, bc 312500 bytes, be 312500 bytes
conformed 16198013 packets, 3101878887 bytes; actions:
transmit
exceeded 0 packets, 0 bytes; actions:
drop
violated 0 packets, 0 bytes; actions:
drop
conformed 12000 bps, exceed 0000 bps, violate 0000 bps
Use também este procedimento para descobrir/confirmar o OID necessário para pesquisa.
Additional Information
Você pode usar o SNMP para recuperar esses contadores em relação às plataformas:
- 6500 - contadores de hardware de CoPP
- 7600 - Contadores de software CoPP
Se você tentar fazer com que os contadores circulem (contadores de hardware em vez de contadores de software e vice-versa) via SNMP para as respectivas plataformas, como mencionado, isso não é possível. Isso ocorre porque os respectivos códigos foram projetados dessa forma e compreendem que talvez seja necessário usar CLI apenas para obter os contadores e não há alternativa.
Informações Relacionadas