概要
このドキュメントでは、Quantum Policy Suite(QPS)の観点からSimple Network Management Protocol(SNMP)フレームワークアーキテクチャをトラブルシューティングする方法について説明します。
前提条件
要件
このドキュメントに特有の要件はありません。
使用するコンポーネント
このドキュメントの情報は、QPS リリース 5.5 以降に基づくものです。
このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されました。このドキュメントで使用するすべてのデバイスは、初期(デフォルト)設定の状態から起動しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。
背景説明
SNMP のアーキテクチャ
各仮想マシン(VM)は「snmpd」プロセスを実行します。QPS内のVMによって生成されたアラートまたはトラップは、lbvip01またはlbvip02などのアクティブロードバランサを介してユーザのネットワーク管理システム(NMS)に転送されます。
lbvip01
外部通信用のSNMPトラップを外部NMSサーバに送信します。QPSの高い可用性のハートビートにより、 lbvip01
ロードバランサVMのいずれかで常に使用可能 lb01
または lb02
.
lbvip02
すべてのVMで使用されます(例: lb01x, qns0x, portal0x
SNMPトラップを内部通信用のアクティブロードバランサに送信します。
lbvip01
と lbvip02
IPアドレス lb01
と lb02
は、 /etc/hosts
出力を提供してください。
162
は、SNMPトラップメッセージに使用されるデフォルトのUDPポートです。
Broadhop
は、フレームワークにアクセスするためのデフォルトのSNMPコミュニティストリングです。
SNMP コンフィギュレーション ファイル
QPS リリース 5.5 の 4 つの重要な SNMP コンフィギュレーション ファイルまたはスクリプトは、ロード バランサ VM 上に置かれます。
/etc/snmp/snmpd.conf
IPアドレスとポートの設定に使用されます。「snmp」サービスは VM を毎分ポーリングして、このファイルに設定されている値を確認します。このファイルはバージョン2トラップを送信します。 lbvip02
次の行を使用します。 trap2sink lbvip02 broadhop
.
/etc/snmp/scripts/snmp_communities
外部NMSシステムと通信するSNMPコミュニティ名を定義します。次に例を示します。 trap_community=Cisco
.
/etc/snmp/scripts/component_trap_conver
は、トラップをBROADHOP-NOTIFICATION MIBで定義されているQuantum Network Suite(QNS)トラップに変換し、外部ユーザのNMS IPアドレスに送信します。
/etc/snmp/snmptrapd.conf
は、1つ以上の設定ファイルを使用して動作と受信したトラップの処理方法を制御するNet-SNMP通知レシーバ設定ファイルです。このファイルは、実際のトラップを外部NMSシステムに送信します。 lbvip0
.
XML ファイル
pcrfclient01 や pcrfclient02 などの Policy and Changing Rules Function(PCRF)クライアント仮想マシンには、QPS リリース 5.5 の SNMP 設定に関連する 3 つの XML ファイルが含まれています。
attributes.xml
snmpオブジェクト識別子(OID)と、値を保持するJava Management Extension(JMX)javabeanまたは属性とのマッピングが含まれます。
managers.xml
に、SNMPトラップを受信するリモートホストを示します。
notifications.xml
に、送信可能なSNMPトラップを示します。また、OIDへの属性のマッピングも含まれます。
3つのXMLファイルは、 /etc/broadhop/
/snmp
ディレクトリにインストールされて工場から出荷されます。正しいディレクトリを検索するには、次のようにします。
-
PCRFクライアント仮想マシンで正しいサーバファイルを見つけるには、catユーティリティを使用します。
cat /etc/broadhop/servers
出力例:
lb01=iomanager01
lb02=iomanager02
qns01=pcrf_A
qns01=pcrf_A
qns02=pcrf_A
qns02=pcrf_A
qns03=pcrf_B
qns03=pcrf_B
qns04=pcrf_B
qns03=pcrf_B
qns04=pcrf_B
pcrfclient01=controlcenter
pcrfclient01=pb
pcrfclient02=controlcenter
pcrfclient02=pb
-
サーバのファイルを表示すると、次のように特定のVMの3つのXMLファイルを含むディレクトリを見つけることができます。
/etc/broadhop/pcrf_A/snmp
/etc/broadhop/pcrf_B/snmp
/etc/broadhop/pb/snmp
/etc/broadhop/controlcenter/snmp
/etc/broadhop/iomanager01/snmp
/etc/broadhop/iomanager02/snmp
MIB ファイル
SNMPで使用されるMIBは、SNMPサーバの各VMの /etc/snmp/mibs
ディレクトリにインストールされて工場から出荷されます。
BROADHOP-QNS-MIB.mib
取得可能な統計情報と主要業績評価指標(KPI)を定義します。
BROADHOP-NOTIFICATION-MIB.mib
使用可能な通知とトラップを定義します。
SNMP のトラブルシューティングの基本手順
アクティブ ロード バランサ仮想マシン(lb01 または lb02)で、以下の手順を実行します。
- 次のコマンドを使用して、snmpd プロセスが該当する VM で機能していることを確認します:
service snmpd status
- snmpd サービスが停止している場合、次のコマンドを使用してサービスを開始します。
service snmpd start
- iptable がオフにされていること、および(NMS で UDP ポート 162 も使用されている場合)UDP ポート 162 の状態を確認します。
- 次のコマンドを使用して、SNMP の Red Hat Package Manager(RPM)バージョンが同じであることを確認します。
rpm –qa | grep snmp
すべてのバージョンが5.3.2.2の出力例:
net-snmp-5.3.2.2-17.el5
net-snmp-utils-5.3.2.2-17.el5
net-snmp-libs-5.3.2.2-17.el5
net-snmp
は、SNMPを展開するために必要なパッケージです。
net-snmp-utils
は、NET-SNMPで使用するさまざまなユーティリティを含むパッケージで、SNMPプロトコルを使用してネットワークを管理するユーティリティを実行するために必要です。
net-snmp-libs
共有バイナリおよびアプリケーション用のランタイム・ライブラリが含まれています。
- 次を入力します。
rpm-qi
コマンドを発行して、RPMの詳細情報を表示します。 コマンド例:
rpm -qi net-snmp-5.3.2.2-17.el5
rpm -qi net-snmp-utils-5.3.2.2-17.el5
rpm -qi net-snmp-libs-5.3.2.2-17.el5
- QPSが適切なNMSにSNMPトラップを送信することを確認するには、外部NMS IPがロードバランサVMの下で定義されていることを確認します
/etc/hosts
と /etc/snmp/scripts/ component_trap_convert
次のコマンドを使用すると grep 'corporate_nms_ip'
注:ここで、「corporate_nms_ip」はNMS IPです(たとえば、10.106.74.10)。
- Cisco IOSソフトウェアリリース12.1Tの
snmpd.conf
ファイルに含まれる行 rocommunity Broadhop
次のコマンドを使用すると cat /etc/snmp/snmpd.conf
さまざまなQNS VMからアクティブなロードバランサVMへのすべての内部トラップは、デフォルトのコミュニティ名を介して送信されるため、この行が必要になります Broadhop
.
- 次のコマンドを使用して、ロード バランサと外部 NMS システムが同じトラップ コミュニティ名を使用していることを確認します。
/etc/snmp/scripts/snmp_communities
たとえば、ロードバランサと外部NMSシステムの両方が、 trap_community=Cisco
.
- 次の項目を確認します。
/var/log/snmp/trap
それぞれのQNS VMからのトラップがアクティブなロードバランサVMに正しく到達していることを確認するためのログファイル。 トラップログファイルの例:
Jun 15 04:02:16 AIO-POD1 snmpd[3754]: Received SNMP packet(s) from UDP: [127.0.0.1]
:56568
Jun 15 04:02:16 AIO-POD1 snmpd[3754]: Connection from UDP: [127.0.0.1]:48071
Jun 15 04:02:14 AIO-POD1 snmptrapd[3769]: 2014-06-15 04:02:14 AIO-POD1.cisco.com
[10.106.74.34] (via UDP: [127.0.0.1]:39334) TRAP, SNMP v1, community broadhop
NET-SNMP-MIB::netSnmpNotificationPrefix Enterprise Specific Trap (NET-SNMP-AGENT-MIB
::nsNotifyRestart) Uptime: 62 days, 5:04:42.43
- ログのキャプチャ
/var/log/messages
アクティブなロードバランサで、SNMPに関連するエラーメッセージを探します。