Cisco 10000 シリーズ ルータ 専用線 MIB 仕様ガイド Release 12.3(7)XI1 Version 4
MIB サポートの設定
MIB サポートの設定
発行日;2012/01/08 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 1,000KB) | フィードバック

目次

MIB サポートの設定

Cisco IOS リリースに対応する MIB サポートの確認

MIB のダウンロードおよびコンパイル

MIB の取り扱いに関する考慮事項

MIB のダウンロード

MIB のコンパイル

シスコの SNMP サポート

SNMP サポートのイネーブル化

SNMP サポートの確認

SNMP の使用ガイドライン

SNMP サーバ コミュニティ コマンドに関する重要事項

SNMP の関連情報

CPU 使用率の負荷の抑制

MIB サポートの設定

この章では、Cisco 10000 シリーズ ESRに SNMP(簡易ネットワーク管理プロトコル)および Management Information Basic(MIB)のサポートを設定する手順について説明します。具体的な内容は次のとおりです。

「Cisco IOS リリースに対応する MIB サポートの確認」

「MIB のダウンロードおよびコンパイル」

「シスコの SNMP サポート」

「CPU 使用率の負荷の抑制」

Cisco IOS リリースに対応する MIB サポートの確認

Cisco 10000 シリーズ ESR上で稼働する Cisco IOS リリースにどの MIB が含まれているかを調べる手順は次のとおりです。


ステップ 1 Cisco MIB サポートページ( http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml )を開きます。

ステップ 2 Cisco Access Product で Cisco 10000 を選択し、ESR でサポートされている MIB のリストを表示します。

ステップ 3 リストをスクロールし、該当するリリースを検索します。


 

MIB のダウンロードおよびコンパイル

ここでは、MIB をダウンロードしてCisco 10000 シリーズ ESR用にコンパイルする手順について説明します。

MIB の取り扱いに関する考慮事項

MIB のダウンロード

MIB のコンパイル

MIB の取り扱いに関する考慮事項

MIB を取り扱うときは、次の点に注意してください。

データ タイプの定義が一致していないと、コンパイル エラーまたは警告メッセージが表示されることがあります。たとえば、OLD-CISCO-CPU-MIB、OLD-CISCO-MEMORY-MIB、および OLD-CISCO-SYSTEM-MIB ではそれぞれ、次のように OID の定義方法が異なります。

OLD-CISCO-CPU-MIB.my
1cpu OBJECT IDENTIFIER ::= {local 1 }
 
OLD-CISCO-MEMORY-MIB.my
1env OBJECT IDENTIFIER ::= {local 1 }
 

定義の不一致による MIB コンパイル エラーまたは警告メッセージが表示されないようにするには、一方の MIB 定義を編集してもう一方と同じにします。そのほかに不一致のタイプとしては、次のものがあります。

MIB A
Datatype1 ::= INTEGER(0...100)
Datatype2 ::= INTEGER(1...50)
 
MIB B
Datatype1 ::= DisplayString
Datatype2 ::= OCTET STRING (SIZE(0...255))
 

多くの MIB が、他の MIB から定義をインポートしています。管理アプリケーションで MIB のロードが必要になり、オブジェクトが未定義であるという問題が生じた場合には、次の MIB を記載された順序でロードしてみてください。

SNMPv2-SMI.my
SNMPv2-TC.my
SNMPv2-MIB.my
RFC1213-MIB.my
IF-MIB.my
CISCO-SMI.my
CISCO-PRODUCTS-MIB.my
CISCO-TC.my

トラップの定義、代替サイズの定義、およびヌル OID についての詳細は、次の URL を参照してください。

ftp://ftp.cisco.com/pub/mibs/app_notes/mib-compilers

MIB オブジェクトに割り当てられた OID の一覧は、次の URL を参照してください。

ftp://ftp.cisco.com/pub/mibs/oid

MIB のダウンロードおよびコンパイルについての詳細は、次の URL を参照してください。

http://www.cisco.com/public/sw-center/netmgmt/cmtk/mibs.shtml

MIB のダウンロード

システムにまだ存在しない MIB をダウンロードするには、次の作業を行います。


ステップ 1 前述した考慮事項「MIB の取り扱いに関する考慮事項」について確認します。

ステップ 2 次の URL のいずれかに接続します。その URL にダウンロードする MIB がなければ、別の URL を使用します。それでも見つからない場合には、ステップ 5 に示す URL を使用します。

ftp://ftp.cisco.com/pub/mibs/v2

ftp://ftp.cisco.com/pub/mibs/v1

ステップ 3 MIB へのリンクをクリックして、その MIB をシステムにダウンロードします。

ステップ 4 File Save または File Save As を選択して、システムに MIB を保存します。

ステップ 5 次の URL から、業界標準の MIB をダウンロードできます。

http://www.ietf.org

http://www.atmforum.com


 

MIB のコンパイル

Cisco 10000 シリーズ ESRを SNMP ベースの管理アプリケーションと統合化させる予定の場合には、そのプラットフォーム用に MIB をコンパイルする必要があります。たとえば、UNIX オペレーティング システムで HP OpenView を稼働させている場合には、HP OpenView の Network Management System(NMS; ネットワーク管理システム)を使用してCisco 10000 シリーズ ESR MIB をコンパイルしなければなりません。手順については、NMS のマニュアルを参照してください。

シスコの SNMP サポート

次のセクションでは、Cisco 10000 シリーズ ESRへの SNMP サポートについて説明します。

「SNMP サポートのイネーブル化」

「SNMP サポートの確認」

「SNMP の使用ガイドライン」

「SNMP の関連情報」

SNMP サポートのイネーブル化

SNMP エージェントはデフォルトでディセーブルに設定されています。Cisco 10000 シリーズ ESRに SNMP サポートを設定する手順について、以下に要約します。これらの基本設定コマンドは、SNMPv2c 用です。SNMPv3 の場合には、SNMP ユーザおよびグループも設定する必要があります。


ステップ 1 ESR の CLI(コマンドライン インターフェイス)を使用して、SNMP の基本設定を行います(コマンドおよび設定手順については、後述のマニュアル一覧を参照してください)。

ステップ 2 SNMP read-only コミュニティおよび read-write コミュニティを定義します。

Router(config)# snmp-server community Read_Only_Community_Name ro
Router(config)# snmp-server community Read_Write_Community_Name rw
 

ステップ 3 SNMP ビューを設定します(SNMP ユーザ グループ別にアクセス可能なオブジェクトの範囲を制限するためです)。

Router(config)# snmp-server view view_name oid-tree {included | excluded}
 

ステップ 4 トラップをイネーブルにする方法については、「トラップのイネーブル化」を参照してください。


 

設定例

ここでは、SNMP エージェントをイネーブルにする設定例を示します。

Router# configure terminal
Router(config)# snmp-server community
 

次に、SNMPv1 および SNMPv2C をイネーブルにする例を示します。この設定により、どの SNMP マネージャも、コミュニティ ストリング public を使用して、すべてのオブジェクトに読み取り専用権限でアクセスすることができるようになります。

Router(config)# snmp-server community public
 

次に、コマンド アクセス コミュニティ ストリングを指定するアクセス リスト 4 のメンバーに対して、すべてのオブジェクトへの読み取りアクセスが許可される例を示します。その他の SNMP マネージャはオブジェクトにアクセスすることはできません。

Router(config)# snmp-server community comaccess ro 4
 

SNMP サポートの確認

SNMP エージェントがルータでイネーブルになっているかどうかを確認するには、実行コンフィギュレーションを出力して、SNMP に関する情報を調べます。それには、次のコマンドを入力します。

Router(config)# show running-configuration
...
...
snmp-server community public RO
 

snmp-server ステートメントがあれば、SNMP はルータでイネーブルになっています。

SNMP の使用ガイドライン

ここでは、 snmp-server community コマンドについて説明します。読み取り専用/書き込み SNMP コミュニティ ストリングを設定するには、グローバル コンフィギュレーション モードで snmp-server community コマンドを使用します。

コミュニティ ストリングをデフォルト値に変更するには、このコマンドの no 形式を使用します。

snmp-server community string [view view-name] [ro | rw] [number]
no snmp-server community string
 

ここでは、

community string には 1 ~ 32 文字の英数字が入ります。コミュニティ ストリングはパスワードとして機能し、SNMP プロトコルへのアクセスを許可します。

view view-name は以前定義されたビューの名前です(任意)。ビューにより、コミュニティで使用できるオブジェクトが定義されます。

ro は読み取り専用アクセスを設定します。

rw は読み取り/書き込みアクセスを設定します。

number には、1 ~ 99 の整数が入ります。コミュニティ ストリングにより SNMPv1 エージェントにアクセスすることを許可された IP アドレスのアクセス リストを指定します。

SNMP サーバ コミュニティ コマンドに関する重要事項

以下は SNMP リストの使用に関する情報です。

読み取り/書き込みパラメータのデフォルト値は read-only( ro )です。読み取り専用コミュニティ ストリングのデフォルト値は public です。読み取り/書き込みコミュニティ ストリングのデフォルト値は private です。

no snmp-server コマンドを使用すると、SNMP(SNMPv1 および SNMPv2)の両方のバージョンがディセーブルになります。

最初に入力する snmp-server コマンドによって、SNMP の両方のバージョンがイネーブルになります。


) SNMP 機能で使用するその他のコマンドはすべて、シスコ コマンド リファレンス マニュアルに記載されています。関連するコマンドは、 snmp-server-enable traps および snmp-server host です。


読み取り/書き込みコミュニティ ストリングの例

この例では、読み取り/書き込み コミュニティ ストリングが newstring に設定されています。

Router(config)# snmp-server community newstring rw
 

ストリング comaccess が SNMPv1 に割り当てられて、読み取り専用アクセスが許可されます。IP アクセス リスト 4 をイネーブルにして、コミュニティ ストリングを使用できるようにします。

Router(config)# snmp-server community comaccess ro 4
 

ストリング mgr が SNMPv1 に割り当てられて、制限付きビューでオブジェクトへの読み取り/書き込みアクセスが許可されます。

Router(config)# snmp-server community mgr view restricted rw
 

コミュニティ comaccess が削除されます。

Router(config)# no snmp-server community comaccess
 

両方のバージョンの SNMP がディセーブルになります。

Router(config)# no snmp-server
 

SNMP の関連情報

SNMP コマンドの詳細については、次のマニュアルを参照してください。

Cisco IOS Release 12.3 Configuration Fundamentals Configuration Guide 』の「Part 3:System and Network Management」のセクション「Configuring SNMP Support」には、以下の URL からアクセスしてください。

http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123cgcr/cfun_vcg.htm#999526

Cisco IOS Release 12.3 Configuration Fundamentals Command Reference 』 の「CFR Commands:snmp-server enable traps -- statistics-distribution-interval」には、以下の URL からアクセスしてください。

http://www.cisco.com/univercd/cc/td/doc/product/software/ios123/123cgcr/fun_r/index.htm

CPU 使用率の負荷の抑制

SNMP を使用して大きなサイズのルーティング テーブルおよびアドレス解決プロトコル(ARP)テーブルをポーリングすると、シスコ製ルータ上でパフォーマンスの問題が発生することがあります。ここでは、この問題の背景情報について説明します。

SNMP ネットワーク管理ステーションにより、シスコ製ルータは他のネットワークを学習するように要求されます。管理ステーションは、このルーティング情報を使用して他のルータを見つけ、その周辺のネットワークに関する問い合わせを行います。管理ステーションはこうして、ネットワーク全体のトポロジを学習します。

ルータには、ハッシュ形式でルーティング テーブルが格納されているため、ルート エントリの検索をすばやく行えます。ただし、RFC 1213 は、アルファベット順にルートを返すようにSNMP に要求します。つまり、ルーティング情報に対して SNMP 要求が出されるたびに、ルータはエントリをアルファベット順に編纂してから、応答プロトコル データ ユニット(PDU)を構築します。大きいサイズのルーティング テーブルの場合、テーブル エントリをソートするため、CPU の負荷が大きくなります。


) ルーティング テーブル全体への要求に応答するのに必要な CPU サイクル数は、テーブルのサイズによって異なります(ルートの数が多いほど、CPU サイクルが大きくなります)。そのため、ルータ上で CPU スパイクが見られなくても、ルーティング テーブルのサイズが増えれば、CPU 負荷が増大し始める可能性があります。


CPU スケジューラでは、SNMP は優先順位の低いタスクとなっています。つまり、CPU では、SNMP 要求よりも他の要求を優先的に処理します。したがって、SNMP ルート ポーリングの間に CPU スパイク が発生しても、ルータ パフォーマンスには影響しません。

SNMP でルーティング テーブルまたは ARP テーブルを検索する際に起こるパフォーマンスの問題を避けるには、以下のセクションに記載されている方法でルータを設定します。

「ルータで CEF をイネーブルにする」

「snmp-server view コマンドの使用」

For CPU の高使用率を引き起こすその他の原因については、以下の URL にある TAC のマニュアルを参照してください。

http://www.cisco.com/warp/public/477/SNMP/ipsnmphighcpu.shtml

ルータで CEF をイネーブルにする

SNMP get-next または get-bulk 要求でルーティング テーブルまたは ARP テーブルを検索する際に起こるパフォーマンスの問題を避けるには、ルータ上でシスコ エクスプレス フォワーディング(CEF)をイネーブルにします。

CEF をイネーブルにすると、ルータは転送情報ベース(FIB)の情報を使用して、ルーティング テーブルや ARP テーブルへの SNMP 要求に応答します。FIB エントリはアルファベット順に格納されているので、編纂の必要がなく、CPU 使用率が軽減されます。

CEF をイネーブルにしない場合は、ルータはルーティング情報ベース(RIB)の情報を使用して、ルーティング テーブルや ARP テーブルへの SNMP 要求に応答します。RIB のエントリをアルファベット順に編纂しなければならないので、CPU 使用率が高くなります。

snmp-server view コマンドの使用

パフォーマンスの問題を避けるためのもう 1 つの方法は、ルータからのルーティング テーブルへのクエリを早く終了させて、代わりに "complete" メッセージで応答させます。そうすることで、ルーティング テーブル(ipRouteTable)および ARP テーブル(ipNetToMediaTable)の検索要求はブロックされても、他の要求は処理されます。

次に、ルーティング テーブルおよび ARP テーブルへの要求をブロックし、他の要求を許可する cutdown という名のビューを作成するコマンドの例を示します。使用するコマンドは設定によって変わります(ビュー名や SNMP コミュニティ ストリングなど)。

snmp-server view cutdown internet included
snmp-server view cutdown ipRouteTable excluded
snmp-server view cutdown ipNetToMediaTable excluded
snmp-server view cutdown at excluded
snmp-server community public view cutdown RO
snmp-server community private view cutdown RW
 

旧バージョンの Cisco IOS ソフトウェアを稼働している場合は、以下のコマンド例を使用します。

snmp-server view cutdown internet included
snmp-server view cutdown ip.21 excluded
snmp-server view cutdown ip.22 excluded
snmp-server view cutdown at excluded
snmp-server community public view cutdown RO
snmp-server community private view cutdown RW

) 上記のように設定した結果、ルータはクエリが出されても、IP ルーティング テーブルも ARP テーブルも返さなくなります。その結果、SNMP ネットワークでは、ルータ上の CPU スパイクの発生が検出されなくなりますが、ルータからある程度の管理コントロールが失われます。