OID を使用して SNMP による Cisco AireOS WLC のモニタ 目次 はじめに前提条件要件使用されているコンポーネント WLC の SNMP 設定の設定オブジェクト名および Object ID (OID) オブジェクト名および OID とは何か すべてのオブジェクト名および ID on Cisco WLCs の MIB およびリスト WLC の状態を監視する OID の使用 snmpwalk によってモニタリング Python 3 および pysnmp ライブラリによってモニタリングサードパーティソフトウェア (Grafana/PRTG ネットワークモニタ /SolarWinds) との統合最も一般に監視された OID の表 概要 この技術情報は 3504 ワイヤレス LAN コントローラ (WLC) を on Cisco 監察する SNMP を設定しオブジェクト名をオブジェクト識別子にまたその逆にも変換し また Cisco カスタマによって最も広く使われた OID のリストを提供する方法を説明します 前提条件 要件 オペレーティングシステムのデフォルト snmp ツールを持ちまたは 1 つをインストールします 使用されているコンポーネント すべてのテストはイメージバージョン 8.9 および MacOS 10.14 を実行する 3504 WLC で実行された この技術情報の OID は AireOS より古いリリースおよび他の AireOS によって基づくワイヤレスコントローラ (8540/5508/5520/2504) でまた有効です WLC の SNMP 設定の設定 SNMPv2c は SNMP のコミュニティベースバージョンであり デバイス間のすべての通信はクリアテキストにあります SNMPv3 はパケットのメッセージ整合性チェック 認証および暗号化を提供するセキュアバージョンです SNMPv1 は非常に旧式 レガシーソフトウェア互換性を提供するためにまだ存在しないでありではない
重要 : SNMPv2c は read+write 特権を持っている read only 特権を持っているコミュニティ private およびコミュニティ パブリック とデフォルトで有効になります それらを取除き 異なる名前で新しいコミュニティを作成することその推奨される この技術情報では SNMPv2c および SNMPv3 だけ使用されます コントローラの Web インターフェイスにログインして下さい Management->SNMP->General の下でプロトコルの望ましいバージョンを有効にすることを確かめて下さい コミュニティメニューの下で すべての現在作成されたコミュニティは表示する それはデフォルトによって前もって構成されるコミュニティを取除き 新しいものを作成する最良の方法です IP アドレスおよびネットマスクはアクセスリストのように動作します デフォルトで 両方ともすべての IP アドレスがこのコミュニティのための SNMP クエリを送信することができることを意味する 0.0.0.0 に設定されます アクセスモードフィールドは Read only としてこのコミュニティにモニタリングのためにだけ使用されてほしいおよび WLC のない設定残されますように 重要 : 8.7.1.135 よりすべてのバージョン下部のはネットマスクが 255.255.255.255 に設定されることができない不具合 CSCvg61933 と影響を
受けます コントローラを推奨されるリリースに 8.7.1.135 より大いにアップグレードするか または CLI で新しいコミュニティを作成するのに次のコマンドを使用して下さい : SNMP ip-addr <ip_address> <netmask> <community_name> SNMP V3 Users メニューの下で 認証および暗号化に使用する設定されたユーザ全員 特権およびプロトコルを表示できます 新しいボタンは新規ユーザの作成を可能にします 認証プロトコルとして HMAC-SHA およびプライバシープロトコルとして CFB-AES-128 を選択することは推奨されます 認証およびプライバシーパスワードセットで "Cisco123Cisco123" に admin と名前を挙げられたユーザを作成します : オブジェクト名および Object ID (OID) オブジェクト名および OID とは何か 短いのためのオブジェクト ID か OID は ある特定の変数を表すか または反対する固有の識別番号です たとえば 現在の CPU 使用はオブジェクト ID を頼むことによって取得することができる評価する変数とみなされます 各 OID はユニークであり 2 つは MAC アドレスと同じような世界を渡って同じ かなりであるはずではないです これらの識別はツリー階層に続き 各 OID はルートに戻って見つけ出すことができます 各ベンダーに共通根の後にそれがです自身のブランチあります たとえはおよび最終的にホーム数はルート国または状態である都市郵便番号に 通り先行してい
るであるホームアドレス 可能性があります ドットに先行している数はそのツリーのある特定のポイントに得るか または分岐させるために奪取する各ステップを表します これらの値はすべて各ネットワークデバイスの短いのための管理情報ベース か MIB で 保存されます 各識別子に名前および defnition ( 有効値 型 等の範囲 ) があります デバイスは OID が表す変数で保存される値と応答することを有効な OID が知られている限り snmp ツールで MIB をロードすることが SNMP を使用し デバイスを照会するために必要となりません たとえば 下記のイメージで SNMP マネージャは OID 1.3.6.1.2.1.1.1.0 を使用してシステム記述のためにデバイスの SNMP エージェントを問い合わせています ただし 照会ツールで MIB をロードすることは変換し 定義を知っていることから名前に OID 数を寄与することを割り当てます すべてのオブジェクト名および ID on Cisco WLCs の MIB およびリスト
2019 年 5 月現在で 簡単な ユーザーフレンドリー含むテーブルひとつひとつの利用可能なオブジェクト名およびワイヤレス LAN コントローラ用のそれぞれ OID はありません 代替として Cisco オファー管理情報ベース (MIB) は 容易に読解可能ではないかもしれないがすべての利用可能なオブジェクト名および説明が含まれています Cisco は 3504 WLC MIB ここにダウンロードすることができます ダウンロードされた公文書ファイルはあらゆるサードパーティ SNMP モニタリングサーバに単にインポートされるか または規則的なテキストエディタと開くことができる複数の.my テキストファイルが含まれています 特定のオブジェクト名の OID を見つけるために それが含まれている最初に正確なファイルを見つける必要があります たとえば デバイスの物理的な状態の監視へのすべてのオブジェクトに関連は MIB によって問い合わせられた CISCOENVMON MIB.my の中に ( 温度およびファン速度のように ) あります ここでは ciscoenvmonfanstate は WLC ファンの状態を提供するのに使用されるオブジェクト名です MIB ファイルは下記に示されている構文に続きます ファン状態オブジェクトについての情報はこのようになります : ciscoenvmonfanstate OBJECT-TYPE SYNTAX CiscoEnvMonState MAX-ACCESS read-only STATUS current DESCRIPTION "The current state of the fan being instrumented." ::= { ciscoenvmonfanstatusentry 3 } サードパーティモニタリングソフトウェアのほとんどは OID およびないオブジェクト名に頼ります オブジェクト名とオブジェクト ID 間の変換は Cisco の SNMP オブジェクトナビゲータツールを使用してすることができます 検索バーにオブジェクト名を入力して下さい 出力は OID および短い記述を提供したものです さらに 同じツールが OID の対応するオブジェクト名前を検索すのに使用することができます
WLC の状態を監視する OID の使用 監視される必要があるオブジェクトの OID を得た後最初 SNMP クエリは実行することができます 次の例はコアごとの WLC CPU 使用を得る方法を展示します ( Cisco123Cisco123 におよび SHA Auth パスワード Cisco123Cisco123 で SNMPv3 ユーザ admin および AES プライバシーパスワードセットのための OID = 1.3.6.1.4.1.9.9.618.1.4.1) snmp_test SNMPv2 コミュニティ コントローラマネージメントインターフェイスは 10.48.39.164 にあります snmpwalk によってモニタリング 情報のツリーのためにネットワークエンティティを問い合わせる SNMP GETNEXT 要求を使用する Snmpwalk は SNMP アプリケーションです それは MacOS およびほとんどの Linux ディストリビューションにデフォルトであります SNMPv2c に関しては コマンドは構文に続きます : snmpwalk -v2c -c <community_name> <WLC_management_interface_ip> <OID> 例 : VAPEROVI-M-H1YM:~ vaperovi$ snmpwalk -v2c -c snmp_test 10.48.39.164 1.3.6.1.4.1.9.9.618.1.4.1 SNMPv2-SMI::enterprises.9.9.618.1.4.1.0 = STRING: "0%/1%, 0%/1%, 0%/1%, 0%/1%" SNMPv3 が使用される場合 コマンドは構文に続きます : snmpwalk -v3 -l authpriv -u <username> -a [MD5 SHA] -A <auth_password> -x [AES DES] -X
<priv_password> <WLC_management_interface_ip> <OID> 基づいて MD5/SHA および AES/DES をコントローラの SNMPv3 ユーザをどのようにに作成したか選択して下さい 例 : VAPEROVI-M-H1YM:~ vaperovi$ snmpwalk -v3 -l authpriv -u admin -a SHA -A Cisco123Cisco123 -x AES -X Cisco123Cisco123 10.48.39.164 1.3.6.1.4.1.9.9.618.1.4.1 SNMPv2-SMI::enterprises.9.9.618.1.4.1.0 = STRING: "0%/1%, 0%/1%, 0%/0%, 0%/1%" Python 3 および pysnmp ライブラリによってモニタリング 次のコードスニペットは Python 3.7 に書かれ Cisco の CPU 稼働率のための SNMP クエリに 3504 WLC を作るのに pysnmp モジュール ( ピップインストール pysnmp) を利用します これらの例は前の章の 1 つでユーザー定義同じ SNMPv2 コミュニティおよび SNMPv3 を使用します 可変値を単に取り替え あなた自身のカスタムスクリプトとコードを統合 SNMPv2c 例 : from pysnmp.hlapi import * communityname = 'snmp_test' ipaddress = '10.48.39.164' OID = '1.3.6.1.4.1.14179.2.3.1.13.0' errorindication, errorstatus, errorindex, varbinds = next( getcmd(snmpengine(), CommunityData(communityName), UdpTransportTarget((ipAddress, 161)), ContextData(), ObjectType(ObjectIdentity(OID))) ) if errorindication: print(errorindication) elif errorstatus: print('%s at %s' % (errorstatus.prettyprint(), errorindex and varbinds[int(errorindex) - 1][0] or '?')) else: for varbind in varbinds: print(' = '.join([x.prettyprint() for x in varbind])) 出力は印刷します : SNMPv2-SMI::enterprises.14179.2.3.1.13.0 = 73 SNMPv3 例 : from pysnmp.hlapi import * username = 'admin' ipaddress = '10.48.39.164' OID = '1.3.6.1.4.1.14179.2.3.1.13.0' authkey = 'Cisco123Cisco123' privkey = 'Cisco123Cisco123' errorindication, errorstatus, errorindex, varbinds = next( getcmd(snmpengine(), UsmUserData(username, authkey, privkey, authprotocol=usmhmacshaauthprotocol, privprotocol=usmaescfb128protocol), UdpTransportTarget((ipAddress, 161)), ContextData(), ObjectType(ObjectIdentity(OID))) ) if errorindication:
print(errorindication) elif errorstatus: print('%s at %s' % (errorstatus.prettyprint(), errorindex and varbinds[int(errorindex) - 1][0] or '?')) else: for varbind in varbinds: print(' = '.join([x.prettyprint() for x in varbind])) サードパーティソフトウェア (Grafana/PRTG ネットワークモニタ /SolarWinds) との統合 Cisco の Prime Infrastructure は能力を容易に監視し 設定しますワイヤレスコントローラを含むマルチプルネットワークデバイスを 提供します Prime Infrastructure は WLC 資格情報の追加で発動を促すために WLC のすべての OID および統合と前もって積まれて単に構成されています来ます 同期化が それアラームを設定し 複数のワイヤレスコントローラ用のコンフィギュレーションテンプレートをすぐに押して可能性のあるだった後 一方では OID が知られている限り Cisco WLC はまた複数のサードパーティモニタリングソリューションと統合できます Grafana のようなプログラムは PRTG ネットワークモニタおよび SolarWinds サーバユーザーフレンドリーグラフで表示するべき MIB か OID インポートされるべきおよび値可能にします この統合はモニタリングサーバ側で微調整する一部を必要とするかもしれません 下記の例では PRTG モニタリングサーバは刺し傷 0%/1% を戻すコア CPU 稼働率 OID ごとのを 1%/1% 0%/1% 0%/1%" 与えられます PRTG は整数値情報を期待して エラーを上げます 最も一般に監視された OID の表 いくつかのもっとも一般的なオブジェクト名および OID Cisco カスタマを MIB 提供非ユーザに適する構文のデータが 次のテーブル含んでいること考慮して使用しています 説明 オブジェクト名 OID 予想される応答 % の全面的な CPU 使用 agentcurrentcpuutilization 1.3.6.1.4.1.14179.1.1.5.1.0 INTEGER: 0 コア CPU 使用ごと clsallcpuusage 1.3.6.1.4.1.9.9.618.1.4. 1.0 文字列 : "0%/1% 0%/1% 0%/1% 0%/1%" % の RAM 使用方法 clssyscurrentmemoryusage 1.3.6.1.4.1.9.9.618.1.8. 6.0 Gauge32: 33
C の CPU 温度 bsnsensortemperature 1.3.6.1.4.1.14179.2.3.1.13.0 加入された AP の数 clssysapconnectcount 1.3.6.1.4.1.9.9.618.1.8. 4.0 クライアントの数 clsmaxclientscount 1.3.6.1.4.1.9.9.618.1.8. 12.0 WLAN ごとのクライ bsndot11essnumberofmobil 1.3.6.1.4.1.14179.2.1.1 アントの数 estations.1.38.0 INTEGER: 76 Gauge32: 2 Gauge32: 0 Counter32: 3 Counter32: 2