소개
이 문서에서는 SNMP(Simple Network Management Protocol)를 사용하여 컨트롤 플레인에 적용되는 CISCO-CLASS-BASED-QOS-MIB(Class Based Quality of Service) 세부 정보와 관련된 다양한 값을 추출하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
- Net-SNMP 또는 Cisco 디바이스에서 SNMP MIB(Management Information Base)를 폴링하는 UNIX 기반 운영 체제에서 실행되는 유사한 명령줄 기반 유틸리티입니다.Net-SNMP는 여기에서 다운로드할 수 있는 타사 오픈 소스 유틸리티입니다.
- CoPP(Control Plane Policing)가 구성되었는지 확인합니다.
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
절차
- 다음 예제 출력에서 볼 수 있는 대로 컨트롤 플레인에 대한 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입니다.
- cbQosIfindex(라우터의 해당 IfIndex에 대한 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)에 유의하십시오.
- 특정 클래스 맵에 대해 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)을 가져오려면 cbQosConfigIndex를 사용합니다.이 단계의 예는 클래스 맵 CoPP-IMPORTANT를 모니터링하는 방법을 보여줍니다.
UNIX #snmpwalk -v2c -c
1.3.6.1.4.1.9.9.166.1.5.1.1.2
다음 출력에서 274033342(3단계에서 가져온 강조 값)를 검색하여 OID(Object Identifier) 출력을 가져옵니다.
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입니다.
이제 Policy-map에서 특정 데이터를 폴링하기 위한 다양한 옵션이 있습니다.
+— -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— Counter cbQosCMPostPolicyByte(9)
+— -R— Counter64 cbQosCMPostPolicyByte64(10)
+— -R - 게이지 cbQosCMPostPolicyBitRate(11)
+— -R— Counter cbQosCMDropPktOverflow(12)
+— -R— Counter cbQosCMDropPkt(13)
+— -R— Counter64 cbQosCMDropPkt64(14)
+— -R— Counter cbQosCMDropByteOverflow(15)
+— -R— Counter 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 입력 클래스 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만 사용해야 할 수 있으며 다른 방법이 없음을 알기 때문입니다.
관련 정보