はじめに
このドキュメントでは、SNMPプロセスでCPU使用率が高くなる問題をトラブルシューティングするためのCPU使用率のモニタリングについて説明します。
前提条件
要件
Cisco IOS®-XE WLC 9800シリーズの基本的な知識があることが推奨されます。
使用するコンポーネント
このドキュメントの情報は、Cisco IOS® XE WLC 9800シリーズのハードウェアのバージョンに基づくものであり、特定のソフトウェアバージョンに限定されるものではありません。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景 情報
SNMPの使用率が高いかどうかを確認する必要があります。さらに詳しく調査するには、問題が発生した営業時間外にこれらのログを収集します。これは、パフォーマンスに影響する可能性があるためです。
モニタ
以下に例を挙げます。
ID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY プロセス
736 6846005 11045858 619 88.09% 9.15% 3.28% 0 SNMPエンジン
トラブルシュート
次のログを収集するために、2つのWLC CLIセッションを開きます。
セッション1:show snmp stats hosts
Debug snmp packet Debug snmp detail terminal monitor
Session-2:これらの統計情報はある間隔での出力を示し、サービスinternalはこれを実行できます。
Conf t Service internal end wr test snmp cpu-stats start show snmp cpu-stats test snmp cpu-stats stop
また、問題が発生したときにSNMPサーバでポーリングに使用されているMIBを確認します。
EEMスクリプト
非実稼働時の手順に従ってください。
ステップ1:次のコマンドを実行してください
Conf t
サービス内部
最後
wr
ステップ 2:SNMP統計情報のEEMスクリプトを有効にします(このスクリプトをコピーしてコントローラのCLIに貼り付けます)。
Conf t
no event manager applet snmp-1(イベントマネージャアプレットなしsnmp-1)
イベントマネージャアプレットsnmp-1
イベントなしmaxrun 2000
アクション10 cliコマンド「enable」
アクション11 cliコマンド「terminal leng 0」
action 11.1 put 「スクリプト開始」
アクション12 cliコマンド「debug snmp packet」
アクション13 cliコマンド「debug snmp detail」
アクション14 cliコマンド「debug snmp request」
action 20.1 cliコマンド「show clock」
action 21 regexp "(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Oct|Dec) ([1-9]|0[1-9]|[1-2][0-9]|3[0-1]) (20[1-9][0-9])"$_cli_result"第2月time2日
action 22は「$time2」を入力します。
action 23 put "$month"
action 24は「$day」を入力します。
action 25 pots 「$year」
action 26 cliコマンド「show clock | append flash:/snmp-cpu-logs-$year$month$day.txt
アクション27 cliコマンド「show snmp stats hosts | append flash:/snmp-cpu-logs-$year$month$day.txt
action 30 cliコマンド「test snmp cpu-stats start」
動作35項目iter 1を設定
アクション36、一方$iter le 6
action 40 cliコマンド「show snmp cpu-stats | append flash:/snmp-cpu-logs-$year$month$day.txt
action 40.1 puts "Iterator:$iter"
アクション41待機300
action 43 cliコマンド「show clock | append flash:/snmp-cpu-logs-$year$month$day.txt
動作44要素1の増加
アクション45終了
action 50 cliコマンド「test snmp cpu-stats stop」
action 55 cliコマンド「no debug snmp packet」
action 56 cliコマンド「no debug snmp detail」
action 57 cliコマンド「no debug snmp request」
action 58は、「スクリプト終了」を設定します。
最後
wr
ステップ 3:#event manager run snmp-1コマンドを使用して、前のスクリプトを実行します。
スクリプトがCLIのプロンプトを終了するまで待ちます。通常は30分かかります。
ステップ 4:上記のスクリプトの実行には最大30 ~ 40分かかり、「Script ends」メッセージが表示されます。
「Script ends」というメッセージが表示された後に完了する「Iterator」があります
スクリプトが終了したら、GUI > Administration > File Manager > Bootflashの順に選択します。snmp-cpu-logs.txtログを右クリックしてダウンロードし、TACと共有します。
ステップ 5:問題発生時にWLCのポーリングに使用されるMIBファイルを確認します。
参照出力の例を次に示します。
DR 5sec% 1min% 5min% Running(ms) Time(usecs)呼び出されたOID
556272A00320 0.00 6.03 3.30 59 59408 44 vmMembershipSummaryEntry.2
556272A00320 50.48 9.68 4.09 59 59659 44 vmMembershipSummaryEntry.3
556272A00320 0.23 1.60 2.23 0 8333 6 clcCdpApCacheApName
556272A00320 0.19 1.62 2.24 2 6999 5 bsnDot11EssMacFiltering
556272A00320 0.23 1.60 2.23 2 3792 24 bsnDot11EssAdminStatus
556272A00320 0.23 1.60 2.23 2 4000 2 bsnDot11EssSecurityAuthType
556272A00320 0.23 1.60 2.23 2 3541 24 bsnDot11EssRowStatus
556272A00320 0.23 1.60 2.23 2 3500 2 bsnDot11EssWmePolicySet
C9800-40のSNMP使用率が70 ~ 90 %を超えるのは正常な状態です。
結論
SNMPを使用して異なるOIDをポーリングする場合、C9800 CPUに対する考えられる影響を減らすために、ベストプラクティスとしてCLIを設定する必要があります(C9800config)#snmp-serverサブエージェントキャッシュ
このコマンドを使用すると、キャッシュは60秒後にクリアされます。間隔を変更するには、次のCLIを使用します。
C9800(config)#snmp-server subagent cache timeout ?
1 ~ 100>キャッシュタイムアウト間隔(デフォルトは60秒)
コアがSNMPプロセスでより多く使用されないようにする場合は、MIBを使用してサーバからのSNMPポーリングを制限します。SNMP MIB/サーバからのHigh-Queue Time Object Identifier(HTI;ハイキュータイムオブジェクト識別子)を無効にします。
MIBから高度にキューイングされたSNMPオブジェクトは、無効にしたり、削除したりできます。
必要がなければ無効にできる参照用のリストを次に示します。
clcCdpApCacheApName
bsnDot11EssMacフィルタリング
bsnDot11EssAdminStatus(エラー)
bsnDot11EssSecurityAuthType
bsnDot11EssRowStatus(エラー)
bsnDot11EssWmePolicySetting
bsnMobileStationIpアドレス
bsnMobileStationユーザー名
bsnMobileStationAPMacAddr
bsnMobileStationAPIfSlotId
bsnMobileStationEssIndex
bsnMobileStationSsid
bsnMobileStationAID
bsnMobileStationステータス
bsnAPIfDot11ビーコン期間
bsnGlobalDot11プライバシーオプション実施済み
bsnGlobalDot11マルチドメイン機能実装
bsnGlobalDot11MultiDomainCapabilityEnabled
bsnGlobalDot11国別インデックス
bsnGlobalDot11ロードバランシング
bsnGlobalDot11bDot11gサポート
SNMPの「bsn station」オブジェクトは、追加の詳細情報を取得するためにキュー時間を要します。
ヒント:ベストプラクティスは、ネットワーク上のノードの数に基づいてポーリング間隔を短くし、不要なMIBを削除することです
関連情報
C9800でのSNMPの詳細については、次のリンクを参照してください。