目录

简介

先决条件

要求

使用的组件

步骤

其他信息

相关信息

简介

本文档介绍如何提取与基于类的服务质量(QoS)详细信息(CISCO-CLASS-BASED-QOS-MIB)相关的各种值，这些值应用于具有简单网络管理协议(SNMP)的控制平面。

先决条件

要求

- Net-SNMP或任何类似的基于命令行的实用程序，在基于UNIX的操作系统上运行，从思科设备轮询SNMP管理信息库(MIB)。Net-SNMP是第三方开源实用程序，可在此处下载 。

- 确保配置了控制平面策略(CoPP)。

使用的组件

本文档中的信息基于以下软件和硬件版本：

- Cisco IOS®软件版本12.0(3)T或更高版本

- Cisco Catalyst 6500 系列交换机

- 思科SNMP对象导航器

本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始（默认）配置。如果您使用的是真实网络，请确保您已经了解所有命令的潜在影响。

步骤

1. 获取控制平面的ifindex(1.3.6.1.2.1.2.2.1.1)，如以下示例输出所示：
show snmp mib ifmib ifindex | include Cont

Control Plane: Ifindex = 268

您还可以通过SNMP实现此目标，如以下示例所示：

UNIX #snmpwalk -v2c -c

| grep -i control plane

IF-MIB::ifDescr.268 = STRING: Control Plane

请注意，在此输出中，ifIndex为268。

2. 获取路由器中相应IfIndex的cbQosIfindex(1.3.6.1.4.1.9.166.1.1.1.4):
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

cbQosPolicyIndex(1.3.6.1.4.1.9.166.1.1.1.1.1)是225。

3. cbQosCMName(1.3.6.1.4.1.9.166.1.7.1.1.1)是检索路由器上配置的类映射名称的MIB对象。这会生成使用其索引配置的各种类映射的输出。例如，cbQosConfigIndex(1.3.6.1.4.1.9.166.1.5.1.2)。
UNIX #snmpwalk -v2c -c

1.3.6.1.4.1.9.9.166.1.7.1.1.1

示例

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"

请注意突出显示的值274033342是cbQosConfigIndex。

4. 使用cbQosConfigIndex获取cbQosPolicyIndex(1.3.6.1.4.1.9.166.1.1.1.1.1)和cbQosObjectsIndex(1.3.6.1.4.1.9.166.1.5.1)1.1)。此步骤中的示例显示如何监控类映射CoPP-IMPORTANT:
UNIX #snmpwalk -v2c -c

1.3.6.1.4.1.9.9.166.1.5.1.1.2

通过在此输出中搜索274033342(步骤3中的突出显示值)，获取OID（对象标识符）输出：

UNIX #snmpwalk -v2c -c

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.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,cbQosObjectsIndex为131072。

现在，我们有各种选项来轮询策略映射中的特定数据：

+—R — 计数器cbQosCMPrePolicyPktOverflow(1)

+—R — 计数器cbQosCMPrePolicyPkt(2)

+— R — 计数器64 cbQosCMPrePolicyPkt64(3)

+—R — 计数器cbQosCMPrePolicyByteOverflow(4)

+—R — 计数器cbQosCMPrePolicyByte(5)

+—R — 计数器64 cbQosCMPrePolicyByte64(6)

+—R — 量规cbQosCMPrePolicyBitRate(7)

+—R — 计数器cbQosCMPostPolicyByteOverflow(8)

+—R — 计数器cbQosCMPostPolicyByte(9)

+—R — 计数器64 cbQosCMPostPolicyByte64(10)

+—R — 规范cbQosCMPostPolicyBitRate(11)

+—R — 计数器cbQosCMDropPktOverflow(12)

+—R — 计数器cbQosCMDropPkt(13)

+—R— Counter64 cbQosCMDropPkt64(14)

+—R — 计数器cbQosCMDropByteOverflow(15)

+—R — 计数器cbQosCMDropByte(16)

+—R — 计数器64 cbQosCMDropByte64(17)

+—R — 量规cbQosCMDropBitRate(18)

+—R — 计数器cbQosCMNoBufDropPktOverflow(19)

—R — 计数器CbQosCMNoBufDropPkt(20)

—R — 计数器64 cbQosCMNoBufDropPkt64(21)

例如，cbQosCMPostPolicyBitRate(1.3.6.1.4.1.9.166.1.15.1.1.11)是轮询“执行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.

此show policy-map control-plane input class CoPP-IMPORTANT命令输出显示来自路由器的节选，以便匹配snmpwalk和路由器计数器的值：

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

此外，使用此步骤可查找/确认轮询所需的OID。

其他信息

您可以使用SNMP检索与平台相关的以下计数器：

- 6500 - CoPP硬件计数器

- 7600 - CoPP软件计数器

如果您尝试通过SNMP为各个平台设置相反的计数器（硬件计数器代替软件计数器，反之亦然），则不可能。这是因为各代码都采用这种设计方式，并且了解您可能只需使用CLI才能获取计数器，并且没有其他选择。

相关信息

- 控制平面策略实施最佳实践

- Cisco 7600系列路由器MIB规格指南

- 配置拒绝服务保护

- 监控CoPP

- 技术支持和文档 - Cisco Systems