![]() |
![]() |
|
|
| |
SNMP を使用した WebLogic Server の管理
WebLogic Server ソフトウェアには、SNMP(Simple Network Management Protocol)を使用して企業全体の管理システムと通信する機能があります。WebLogic Server SNMP 機能によって WebLogic Server の管理を SNMP に準拠した管理システムに統合し、複雑に分散したシステムのさまざまなソフトウェアとハードウェアのリソースをまとめて表示することができます。
この章では次の内容について説明します。
SNMP エージェント/マネージャ モデル
SNMP の管理は、ISO(国際標準化機構)が規定したネットワーク管理規格にあるエージェント/マネージャ モデルに基づいています。このモデルでは、ネットワークとシステムのマネージャが、システムとネットワークのリソースに関するモニタ情報と制御情報をエージェントと呼ばれる分散ソフトウェア プロセスと交換します。
情報の交換によって管理可能なシステムまたはネットワークのリソースを管理対象リソースと呼びます。管理対象リソースは、Java Database Connectivity(JDBC)接続プールなどのソフトウェア リソースや、ルータなどのハードウェア リソースです。
エージェントは「収集装置」として機能し、通常はマネージャからのリクエストに応じて管理対象リソースに関するデータを収集し、送信します。さらに、多くの場合、エージェントは、管理対象リソースにあらかじめ定義されているしきい値や条件を検出したときに、非要求レポートをマネージャに発行する機能も備えています。SNMP では、このような非請求イベント レポートを「トラップ通知」と呼んでいます。
マネージャは、管理対象リソースのプロパティとエージェントがサポートするサービスについて、定義と情報のデータベースに依存しています。このデータベースが管理情報ベース(MIB)です。新しいエージェントが追加されてマネージャの管理範囲が拡大すると、マネージャには新しいエージェント経由で管理するリソースの管理可能な機能を定義する新しい MIB が必要になります。リソースの管理可能属性は SNMP 準拠の MIB で規定されているように「管理対象オブジェクト」と呼ばれています。管理ステーションにある共通 MIB 内に企業分散システムの異種コンポーネントを定義すると、システム リソースとネットワーク リソースを管理する際に統一的な視点と単一のアクセス ポイントが得られます。
WebLogic ドメインにおける SNMP エージェントの役割
1 単位として管理される WebLogic Server リソースの集合は、「ドメイン」と呼ばれます。ドメインには、1 つまたは複数の WebLogic Server が含まれ、WebLogic Server クラスタが含まれる場合もあります。
各 WebLogic ドメインでは、1 つのサーバが管理サーバになり、それ以外のサーバは管理対象サーバです。典型的な J2EE アプリケーションにあるコンポーネントは、複数の管理対象サーバに分散しています。管理サーバでは、WebLogic ドメイン全体を一元的にコンフィグレーションおよびモニタできます。WebLogic ドメインの詳細については、『WebLogic Server 管理者ガイド』を参照してください。
WebLogic 管理サーバには SNMP サービスを実行する機能もあります。SNMP サービスが特定の WebLogic ドメインに対して有効になると、管理サーバはその WebLogic ドメインの SNMP エージェントとして機能します。
図1-1 WebLogic ドメインの SNMP 管理
WebLogic SNMP エージェントは次の用途に使用できます。
SNMP マネージャの管理範囲を WebLogic ドメインにまで広げるには、管理可能 WebLogic 属性(SNMPの用語で「管理対象オブジェクト」)を SNMP 管理システム用に定義する MIB が必要になります。WebLogic MIB は、抽象構文記法 1 (ASN.1)で記述された SNMP 準拠のファイルに定義されています。BEA-WEBLOGIC-MIB.asn1
がこのファイルです。このファイルは、次のディレクトリにあります。
WL_HOME
\wlserver6.1\lib
MIB は管理対象オブジェクト間の階層構造関係を基にしています。この階層構造の関係は、MIB ツリーまたは登録ツリーと呼ばれるツリー構造になっています。MIB 内にあるそれぞれの管理対象オブジェクトには、「オブジェクト識別子」(OID)というユニークな番号が割り当てられています。OID は左から右に並べられた整数で構成されています。この並びが MIB ツリー内のオブジェクトの位置を定義しています。オブジェクトへのツリーを通るユニークなパスを指定することで、OID でオブジェクトをユニークに識別できます。ある OID の中で定義されたパス内の各ノードには、番号とその番号に関連付けられた名前があります。パス .1.3.6.1.4.1
は、private.enterprises
OID を定義しており、ツリー内のこのノードの下にあるそれぞれの番号は特定ベンダ用に予約されたツリーの枝を表しています。
BEA の MIB はツリーの .1.3.6.1.4.1.140
位置に登録されています。また、WebLogic Server MIB は .1.3.6.1.4.140.625
の下にあるすべての OIB から成ります。管理可能 WebLogic 属性それぞれに対して、WebLogic MIB は対応する OIB を定義しています。たとえば、.1.3.6.1.4.1.140.625.360.1.60
は serverRuntimeState
用の OID です。SNMP マネージャが WebLogic 属性の現在の値を要求すると、対応する OID が指定されることで属性が示されます。WebLogic MIB の内容の詳細については、『WebLogic Server SNMP MIB リファレンス』を参照してください。
注意: WebLogic 6.1 用の SNMP エージェントのエンタープライズ OID は、WebLogic 5.1 SNMP エージェントで使用された WebLogic 用のエンタープライズ OID とは異なります。WebLogic 6.1 用の enterprise OID は .1.3.6.1.4.140.625
です。WebLogic Server ノードの登録ツリー内のテキスト名は wls
になりました。
SNMP コミュニティ名
WebLogic SNMP エージェントからのデータを要求しているエンティティがデータを取得するパーミッションを備えていることを確認し、エージェントが対象マネージャにトラップ通知を送信するパーミッションを備えていることを検証するために、SNMP は「コミュニティ名」というテキスト パスワードを使用します。
WebLogic SNMP エージェントの設定で説明している WebLogic 管理サーバの SNMP エージェント機能を設定するとき、必ず指定するものとして、エージェントが SNMP マネージャから提供されると予想するコミュニティ名があります。エージェントは、誤ったコミュニティ名の SNMP リクエストを受け取った場合、自動的に authenticationFailure
トラップを生成し、リクエストのソースに送信します。
管理リクエストでの対象サーバの指定
ドメインで任意の WebLogic Server の属性を取り出すために、SNMP マネージャは、ドメインの SNMP エージェントとして機能し、管理サーバにリクエストを送信する必要があります。serverUptime
などの属性が複数の WebLogic Server のそれぞれに存在する可能性があるので、SNMP マネージャがデータを要求している先の WebLogic Server はどれなのかを判断する方法が必要になります。
この方法を確立するため、リクエストと共に送信されるコミュニティ文字列の一部として SNMP パスワード(コミュニティ)に対象サーバの名前が追加されます。
特定の管理対象サーバを指定するために、SNMP マネージャは次の形式で WebLogic SNMP エージェントにコミュニティ文字列を送信します。
community_prefix
@server_name
community_prefix
は実際の SNMP コミュニティ名を指し、server_name
は目的の管理対象サーバの名前を指します。マネージャから送信される community_prefix
の値は、「
WebLogic SNMP エージェントの設定」で説明するように、SNMP エージェントをコンフィグレーションするとき、[コミュニティ プレフィックス] フィールドで設定する値と一致する必要があります。
管理サーバの属性に関する管理リクエストを送信するために、SNMP マネージャは WebLogic SNMP エージェントに次の形式のコミュニティ文字列を送信する必要があります。
community_prefix
community_prefix
は実際の SNMP コミュニティ名を指します。マネージャから送信される community_prefix
の値は、
WebLogic SNMP エージェントの設定 で説明するように、SNMP エージェントをコンフィグレーションするとき、[コミュニティ プレフィックス] フィールドで設定する値と一致する必要があります。
SNMP マネージャが次の形式のコミュニティ文字列を送信した場合、
community_prefix
@
domain_name
管理サーバはドメイン内のすべてのサーバからの指定した属性の値を返します。
実行時情報へのアクセス方法
注意: お使いの SNMP 管理システムをコンフィグレーションして実行時情報にアクセスするための具体的な方法については、ベンダから提供されている情報を参照してください。
ここでは、管理サーバ (myserver) および管理対象サーバ (clusterServer1) に対する実行時情報を serverRuntimeListenAddress
から取得する方法の例を示します。serverRuntimeListenAddress
に対する MIB 定義は次のとおりです。
iso(1).org(3).dod(6).internet(1).private(4).enterprises(1).bea(140).wls(625).serverRuntimeTable(360).serverRuntimeEntry(1).serverRuntimeListenAddress(30)
次の例では、汎用ツール snmpgetnext
を使って実行時情報を取得しています。snmpgetnext
の引数は以下のとおりです。
引数
説明
-c
communitystring
WebLogic Server の SNMP エージェントに送信するコミュニティ文字列。
host
ホストの名前。
OID
取得する実行時情報のオブジェクト識別子。
管理対象サーバに対する serverRuntimeListenAddress
を取得するには:
snmpgetnext -c public@clusterServer1 localhost .1.3.6.1.4.1.140.625.360.1.30
管理サーバに対する serverRuntimeListenAddress
を取得するには、次のいずれかの方法を使用します。
snmpgetnext -c public@myserver localhost .1.3.6.1.4.1.140.625.360.1.30
snmpgetnext -c public localhost .1.3.6.1.4.1.140.625.360.1.30
snmpgetnext localhost .1.3.6.1.4.1.140.625.360.1.30
WebLogic SNMP エージェントの設定
SNMP 経由で WebLogic ドメインを管理可能にするには、次の操作を行います。
BEA-WEBLOGIC-MIB.asn1
ファイル)を SNMP 管理システムにロードします。
ロード方法の詳細については、SNMP 管理システムを提供しているベンダのマニュアルを参照してください。
トラップを複数の対象に送信する場合は、SNMP トラップ送り先テーブルにエントリをさらに追加します。
そのためには、次の操作を行います。
SNMP エージェントの機能は、この値が true
に設定されている場合にだけアクティブになります。
SNMP サービスは、WebLogic 属性値に関する SNMP マネージャからのリクエストに対して、キャッシュ内にある値で応答します。SNMP サービスは管理リクエストを受け取るたびに管理対象リソース自体をチェックするわけではありません。このため、MIB データの更新間隔は、実際に更新された属性値をマネージャが取得できる最も頻繁な間隔になります。この間隔を非常に小さな値に設定すると、管理サーバがこの間隔で MIB 内のすべての WebLogic 属性に対して GET を行うので、パフォーマンスに悪い影響が出る可能性があります。
SNMP サービスは WebLogic 管理対象サーバの起動と停止を自動的にチェックします。起動していた管理対象サーバが現在停止していることを SNMP サービスが検出した場合、SNMP サービスはエンタープライズ固有の serverShutDown
トラップを SNMP トラップ送り先テーブルで定義された対象に送信します。停止していたサーバが起動したときに送信されるのは、serverStart
トラップです。
サーバの状態を最も頻繁にチェックできる間隔は、MIB データ更新間隔用に定義された間隔です。サーバ状態チェック間隔を MIB データ更新間隔と同じにする場合は、[サーバ状態チェック間隔係数] フィールドに 1 を入力します。このフィールドに入力できるのは整数値だけです。サーバの状態がチェックされる間隔は、MIB データ更新間隔とここで指定した値を乗算することで決定されます。
public
です。ただし、WebLogic 属性値へのアクセスの安全性を保つために、[コミュニティ プレフィックス] には public
以外の値を指定することをお勧めします。
[適用] をクリックして、SNMP エージェント コンフィグレーションに行った変更を実装します。ここで行った変更を実際に有効にするには、管理サーバを再起動する必要があります。
![]() |
![]() |
![]() |