簡介
本文說明如何提取與針對使用簡單網路管理通訊協定(SNMP)的控制平面應用的Class Based Quality of Service(QoS)詳細資訊(CISCO-CLASS-BASED-QOS-MIB)相關的各種值。
必要條件
需求
- Net-SNMP或任何類似的基於命令列的實用程式,運行在基於UNIX的作業系統上,從思科裝置輪詢SNMP管理資訊庫(MIB)。Net-SNMP是第三方開放原始碼實用程式,可從此處下載。
- 確保已配置控制階段管制(CoPP)。
採用元件
本文中的資訊係根據以下軟體和硬體版本:
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路正在作用,請確保您已瞭解任何指令可能造成的影響。
程式
- 獲取控制平面的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.9.166.1.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.9.166.1.1.1.1.1)為225。
- cbQosCMName(1.3.6.1.4.1.9.9.166.1.7.1.1.1)是檢索路由器上配置的類對映名稱的MIB對象。這會導致使用它們的索引設定的各種類對映的輸出。例如,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
範例
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.9.166.1.1.1.1.1)和cbQosObjectsIndex(1.3.6.1.4.1.9.9.166.1.5.1.1.1)。此步驟中的示例說明如何監控class-map 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— Counter64 cbQosCMPrePolicyPkt64(3)
+—R — 計數器cbQosCMPrePolicyByteOverflow(4)
+—R — 計數器cbQosCMPrePolicyByte(5)
+—R— Counter64 cbQosCMPrePolicyByte64(6)
+—R — 測量cbQosCMPrePolicyBitRate(7)
+—R — 計數器cbQosCMPostPolicyByteOverflow(8)
+—R — 計數器cbQosCMPostPolicyByte(9)
+—R— Counter64 cbQosCMPostPolicyByte64(10)
+—R — 測量cbQosCMPostPolicyBitRate(11)
+—R — 計數器cbQosCMDropPktOverflow(12)
+—R — 計數器cbQosCMDropPkt(13)
+—R— Counter64 cbQosCMDropPkt64(14)
+—R — 計數器cbQosCMDropByteOverflow(15)
+—R — 計數器cbQosCMDropByte(16)
+—R— Counter64 cbQosCMDropByte64(17)
+—R — 測量cbQosCMDropBitRate(18)
+—R — 計數器cbQosCMNoBufDropPktOverflow(19)
—R — 計數器cbQosCMNoBufDropPkt(20)
—R— Counter64 cbQosCMNoBufDropPkt64(21)
例如,cbQosCMPostPolicyBitRate(1.3.6.1.4.1.9.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來取得計數器,而且也沒有替代方法。
相關資訊