简介
本文档介绍如何提取与基于类的服务质量(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对象导航器
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
步骤
- 获取控制平面的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。
- 获取路由器中相应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。
- 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。
- 使用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才能获取计数器,并且没有其他选择。
相关信息