概要
このドキュメントでは、簡易ネットワーク管理プロトコル(SNMP)を使用するコントロールプレーンに適用されるクラスベースQuality of Service(QoS)の詳細(CISCO-CLASS-BASED-QOS-MIB)に関連するさまざまな値を抽出する方法について説明します。
前提条件
要件
- CiscoデバイスからSNMP管理情報ベース(MIB)をポーリングするUNIXベースのオペレーティングシステム上で実行されるNet-SNMPまたは類似のコマンドラインベース(CLI)ユーティリティ。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)を取得します。このステップの例は、クラスマップ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は274033342、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を使用する必要があることを理解しており、代替がないためです。
関連情報