簡易ネットワーク管理プロトコル(SNMP)は、リソースの管理に関する情報をネットワーク上で交換できるようにするアプリケーション層プロトコルです。SNMPにより、リソースをモニターし、必要に応じて、リソースから取得したデータに基づいて処理を行うことができます。Oracle Service Busでは、SNMP version 1とSNMP version 2の両方がサポートされています。SNMPは、以下のコンポーネントで構成されます。
SNMPの詳細は、『Oracle Fusion Middleware Oracle WebLogic Server SNMP管理ガイド』を参照してください。
このリソースは、モニター対象のリソースです。リソースとその属性が管理情報ベース(MIB)に追加されます。
MIBは、モニター対象のすべてのリソースを階層的に格納するデータ構造です。それはリソースの属性も格納します。各リソースには、オブジェクト識別子(OID)と呼ばれる一意の識別子が割り当てられます。SNMPコマンドを使用してリソースの管理に関する情報を取得できます。次の項では、Oracle WebLogic Server MIBについて説明します。
Oracle Weblogic Serverインストーラは、次の場所にMIBのコピーを作成します。
MW_HOME/WL_ORACLE_HOME/server/lib/BEA-WEBLOGIC-MIB.asn1
Oracle WebLogic Serverは、その管理システムに非常に多くのデータ・ポイントを公開します。それは、このデータを整理するために、階層データ・モデルを使用して、ドメイン内で使用できるサービスとリソースの集合を表します。図E-1は、MIB内のオブジェクトの階層を示しています。
たとえば、ドメイン内にMS1およびMS2という2つの管理対象サーバーを作成した場合、MIBには、1つのserverTableオブジェクトが含まれ、このオブジェクトに1つのserverNameオブジェクトが含まれます。さらに、serverNameオブジェクトには、値MS1とMS2をそれぞれ格納する2つのインスタンスが含まれます。MIBは、各管理対象オブジェクトにオブジェクト識別子(OID)と呼ばれるユニークな番号を割り当てます。
OIDは一度割り当てられると変更できません。各OIDは一連の整数から構成されています。この整数の配列は、MIBツリー内でのオブジェクトの場所を定義しています。パスの各ノードは、番号とそれに関連付けられた名前を持っています。
Oracle WebLogic Server MIBの詳細は、『Oracle Fusion Middleware Oracle WebLogic Server SNMP管理ガイド』を参照してください。
各管理対象リソースは、SNMPエージェントを使用してMIB内の関連情報を更新します。これを行うには、管理対象リソース内で特定の条件を検出し、SNMPマネージャにトラップ通知(レポート)を送信するようにSNMPエージェントを構成する必要があります。以下のいずれかの方法でトラップを生成するように、SNMPエージェントを構成できます。
自動:サーバーの起動またはサーバーのシャット・ダウンなどのイベントのトラップを生成するようにSNMPエージェントを構成します。
ログ・メッセージの使用:フィルタを使用して、特定のログ・メッセージを検出し、トラップを生成するようにSNMPエージェントを構成します。
トラップのモニター: JMX APIクライアントを作成し、属性の変更をモニターして、トラップを生成するようにSNMPエージェントに通知します。属性の変更をモニターするようにSNMPエージェントを構成することもできます。JMX APIクライアントの詳細は、付録D「JMXモニタリングAPI」を参照してください。
SNMPマネージャはSNMPエージェントを制御します。また、SNMPマネージャは、ネットワーク管理システムへのプライマリ・インタフェースでもあります。
ネットワーク管理システムはユーザーとのインタフェースを形成します。SNMPマネージャを使用してデータを収集し、ユーザーに示します。
この項では、既存のOracle WebLogicドメイン内にSNMPトラップ宛先を作成および使用して、Oracle Service Busが生成したSNMPトラップを取得する方法を説明します。
Oracle WebLogic Serverコンソールで、構成をロックおよび編集します。
「診断」→「SNMP」を選択します。
「ドメイン・スコープ指定のSNMPエージェント」テーブルで、ドメイン名をクリックします。
「ドメインSNMPエージェント」ページで、「有効」を選択します。
「SNMP UDPポート」が161に設定されていることを確認します(161がそのマシンの他のサービスによって使用されている場合、別の適切な番号を設定します)。
Solarisの場合、この手順の最後にある注意を参照してください。
「保存」をクリックします。
「トラップ宛先」タブを選択し、「新規」をクリックします。
次の設定を入力します。
名前: alsbDestination-0
コミュニティ: weblogic
ホストとポート: localhostと163など、SNMPマネージャがアラートをリスニングしているホストとポートを指す値を設定します。
「OK」をクリックします。
手順を繰り返して、必要な数のトラップ宛先を作成します。
Oracle WebLogic Server Consoleで、変更のアクティブ化を行います。
コマンド・ウィンドウで、ディレクトリをWL_ORACLE_HOME/server/binに移動し、次のコマンドを実行します。
setWLSEnv.cmd(.sh)
次のJavaコマンドを実行し、トラップをリスニングしてコンソールに出力する(トラップのリスニング・ポートに163を使用)、Oracle WebLogic Server SNMPコマンド・ライン・ユーティリティを起動します。
java weblogic.diagnostics.snmp.cmdline.Manager SnmpTrapMonitor -p 163
それ以降、Oracle Service Bus内で生成されたトラップは、トラップをリスニングしている実行中のコマンド・ライン・ユーティリティにアクセスする必要があります。
注意: Solarisの場合、ポート番号0から1023は、ルート・ログイン用に予約されています。この手順で使用したようにポート161および163を使用すると、ルート・ログインを使用して、サーバーおよびコマンド・ライン・ユーティリティを起動する必要があります。この問題を回避し、ルート・ログインを使用しないようにするには、SNMPエージェントとSNMPマネージャのコマンドの両方に、1023より大きいポート番号を指定します。 |