内容

はじめに

前提条件

要件

使用するコンポーネント

背景説明

モニタ

トラブルシュート

EEMスクリプト

結論

関連情報

はじめに

このドキュメントでは、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の詳細については、次のリンクを参照してください。

- https://www.cisco.com/c/en/us/support/docs/wireless/catalyst-9800-series-wireless-controllers/217460-monitor-catalyst-9800-wlc-via-snmp-with.html にアクセスしてください。