Administration Console オンライン ヘルプ
[SNMP に関する属性と Administration Console 画面のリファレンス]
WebLogic Server ソフトウェアには、SNMP (Simple Network Management Protocol) を使用して企業全体の管理システムと通信する機能があります。WebLogic Server SNMP 機能によって、WebLogic Server の管理を SNMP に準拠した管理システムに統合できます。このようなシステムでは、複雑に分散したシステムのさまざまなソフトウェアとハードウェアのリソースをまとめて表示することができます。
以下の節では、WebLogic Server での SNMP の使い方について説明します。
WebLogic SNMP エージェントと WebLogic SNMP トラップの背景情報については、以下の節を参照してください。
SNMP と WebLogic Server をコンフィグレーションするには、次の手順に従います。
WL_HOME
\server\lib\
BEA-WEBLOGIC-MIB.asn1
にインストールされています。ここで、WL_HOME
は WebLogic Server のインストール先ディレクトリです。
WebLogic ドメインでは、管理サーバは SNMP エージェントのホストとして機能します。SNMP エージェントの機能を有効化し、コンフィグレーションすると、SNMP マネージャは WebLogic SNMP エージェントに要求を送信できるようになります。また、管理対象リソースに関するデータ (トラップ通知) を収集して、SNMP マネージャ (トラップの送り先) に送信するよう WebLogic SNMP エージェントをコンフィグレーションできます。
SNMP エージェントを有効化し、コンフィグレーションするには、次の手順に従います。
ほとんどの SNMP マネージャでは、SNMP エージェントに ping を実行できます。また、特定の属性の状態を要求できる SNMP マネージャもあります。
SNMP マネージャが管理サーバと同じコンピュータで動作している場合は、このフィールドで指定したリスン ポートとトラップの送り先で指定したリスン ポートが別々になっていることを確認してください。トラップの送り先のリスン ポートには、SNMP マネージャがトラップ通知をリスンするポートを指定します。
WebLogic 属性値へのアクセスの安全性を保つために、デフォルトの public
以外の値を設定することをお勧めします。
コミュニティ プレフィックスの詳細については、「管理リクエストでコミュニティ名を使用して対象サーバを指定する」を参照してください。
トラップの送り先では、WebLogic SNMP エージェントから SNMP マネージャにトラップ通知を送信するのに必要な情報を指定します。トラップの送り先のクローンの作成または削除については、コンフィグレーション オブジェクトのクローンの作成およびコンフィグレーション オブジェクトの削除を参照してください。
コミュニティ名とポート番号が、SNMP マネージャで指定した名前と番号に一致し、ホスト名として SNMP マネージャのホストを正確に指定していることを確認します。詳細については、属性を参照してください。
WebLogic Server では、サーバの属性をモニタし、値の変更時にトラップを生成することにより SNMP マネージャに情報を提供します。WebLogic Server は、管理対象 Bean (MBean) を使用してサーバの属性を公開します (MBean は、Java Management Extension (JMX) 仕様の一部です)。詳細については、「WebLogic Server の管理対象リソースと MBean」を参照してください。
以下の節では、WebLogic Server をコンフィグレーションして SNMP トラップを生成するために、指定する必要のある値を判別する方法について説明します。
特定の型のすべての MBean の属性を監視したり、MBean の単一のインスタンスの属性を監視したりするよう WebLogic Server をコンフィグレーションできます。
たとえば、ドメイン内のすべてのサーバ インスタンスの実行時状態を監視するモニタを作成できます。サーバの状態が特定の値 (ShuttingDown
など) に変化した場合、WebLogic SNMP エージェントによってトラップが生成されます。トラップによって、状態が ShuttingDown
に変化したサーバ インスタンスの名前を特定できます。
また、特定のサーバ インスタンスが動作している特定の JVM のヒープ サイズを監視するモニタを作成することもできます。ヒープ サイズが指定値を超えた場合、WebLogic SNMP エージェントによってトラップが生成されます。ドメイン内のサーバ インスタンスごとに、これらのモニタのいずれかを作成して、異なるしきい値を指定できます。たとえば、ServerA が動作しているコンピュータのメモリが ServerB より多い場合、サーバ インスタンスごとに異なるしきい値を指定する必要があります。
特定の MBean インスタンスの属性をモニタする場合、MBean インスタンスの名前を知っておく必要があります。以下の節では、MBean インスタンスの名前の判別に関する情報を示します。
以下の属性は、SNMP および他の管理システムによって一般的にモニタされます。
サーバの状態が 複数のサーバ インスタンスに対して 1 つのモニタを使用する場合、MBean インスタンス名の値は指定しない。サーバの状態に変更が生じると、トラップが生成される。 |
|
メモリ スペースを消費しているが、データの処理には使用されていないサーバのデフォルト実行キューのスレッド数を表示する。 サーバ インスタンスに実行キューを複数作成して、重要度の高いアプリケーションのパフォーマンスを最適化できる。ただし、デフォルトでは、 |
|
サーバの JVM ヒープで現在使用可能なメモリ量 (単位はバイト) を表示する。 複数のサーバのヒープ サイズについて 1 つのモニタを使用する場合、MBean インスタンス名の値は指定しない。いずれかのサーバがしきい値を超えた場合、トラップが生成される。 詳細については、「Java 仮想マシン (JVM) のチューニング」を参照。 |
|
サーバのリスン ポートでの現在のアクティビティと、ポートでバックログできる要求の総数とを比較するには、これら 2 つの属性を併用する。 |
|
MBean 型 : |
ドメイン内のすべての JDBC 接続プールに対して 1 つのモニタを使用する場合、MBean インスタンス名の値は指定しない。 詳細については、「JDBC 接続プールによるパフォーマンスの向上」を参照。 |
MBean 型 : |
JDBC 接続プールでのアクティブな接続の最大数。接続プールがインスタンス化されるたびに、カウントはゼロからスタートする。 |
各サーブレットが呼び出された回数。この属性を使用すると、サーブレットの呼び出し回数が指定の回数を超えた場合にトラップを生成できる。たとえば、サーブレットの呼び出し回数が 10,000 回を超えた場合に、WebLogic SNMP エージェントによって、呼び出し回数がしきい値を超えたサーブレットを示すトラップが生成される。 WebLogic Server では、特定のサーブレットのモニタはサポートしていない。たとえば、 |
SNMP では、ほとんどの WebLogic Server 属性をモニタできますが、すべてとは限りません。WebLogic Server MIB には、SNMP でモニタできる属性がすべて表示されます。
SNMP でモニタできる属性の名前を判別するには、次の手順に従います。
MBean 型名と属性名を判別するには、次の手順に従います。
MIB 内でタイトルに Runtime という単語を含んだテーブルでは、サーバの実行時状態を記述する属性を公開します。それ以外のテーブルでは、サーバのコンフィグレーションを記述する属性を公開します。コンフィグレーション属性の値は、ドメインの config.xml
ファイルにすべて保存されます。
属性がある MBean インスタンスの名前を判別するには、次の手順に従います。
java weblogic.Admin -adminurl
AdminHost:ListenPort
-username username
-password
password
GET -pretty -type MBean-type
-property
Attribute-Name
-adminurl
には、ドメインの管理サーバのリスン アドレスとリスン ポートを指定する。-username
と -password
には、管理者特権を持つユーザの資格を指定する。-type
には、一般モニタ対象の属性またはその他の属性の名前の判別で判別した MBean 型を指定する。-property
には、モニタする MBean 属性の名前を指定する。たとえば、次のコマンドは、現在ドメインでインスタンス化されているすべての JDBCConnectionPoolRuntime
MBean の名前を返します。
java weblogic.Admin -adminurl localhost:7001
-username weblogic -password weblogic
GET -pretty -type JDBCConnectionPoolRuntime
-property ActiveConnectionsCurrentCount
MBeanName: "MedRec:Location=MedRecServer,Name=MedRecPool,ServerRuntime=MedRecServer,Type=JDBCConnectionPoolRuntime"
トラップは、特定の方法で属性に変更があったときに、WebLogic Server から SNMP マネージャに送信される (標準 SNMP フォーマットの) メッセージです。
ドメインで SNMP サービスを有効にすると、WebLogic SNMP エージェントはトラップを自動的に生成して、サーバ インスタンスが起動したことを SNMP マネージャに通知します。また、SNMP マネージャから不正なコミュニティ文字列が送信された場合にも、WebLogic SNMP エージェントはトラップを自動的に生成します。詳細については、「自動的に生成される WebLogic SNMP トラップ」を参照してください。
WebLogic Server をコンフィグレーションして、以下のタイプのトラップを生成できます。
サーバ インスタンスがブロードキャストするログ メッセージをリスンするように、WebLogic SNMP エージェントを設定できます。エージェントはメッセージを受信すると、SNMP ログ通知トラップを生成します。
たとえば、サーバ インスタンスのコンフィグレーションを変更するたびに、サーバは、メッセージ ID が BEA-140009
、重大度が INFO
のログ メッセージを出力します (このメッセージ ID と重大度は、Administration Console で値を変更し、サーバのログ ファイルを参照することで確認できます。詳細については、サーバのログの表示を参照してください)。
このログ メッセージをサーバ インスタンスが出力したときに、WebLogic Server でトラップを生成するようにするには、[重大度] フィールドに INFO
を、[メッセージ ID] フィールドに BEA-140009
または 140009
を入力します。
また、SNMP エージェントでセキュリティ サービスからのログ メッセージをすべて受信するようにするには、[重大度] フィールドに Info
を、[サブシステム名] フィールドに Security
を入力します。
属性変更モニタでは、コンフィグレーション属性の変更を検出して、トラップをコンフィグレーション済みの SNMP マネージャに送信します。
注意: WebLogic Server では、属性変更トラップ通知による実行時属性のモニタはサポートしていません。実行時 MBean の名前には、必ず Runtime
という単語が含まれています。たとえば、ServerRuntime
MBean では実行時属性にアクセスでき、Server
MBean ではコンフィグレーション属性にアクセスできます。名前に Runtime
を含んだ MBean の変更をモニタするには、文字列モニタ、ゲージ モニタ、またはカウンタ モニタを使用します。
コンフィグレーション属性の変更を検出するには、次の手順に従います。
Server
と入力します。MedRecServer
と入力します。AcceptBacklog
と入力します。文字列モニタは、String
属性の値を定期的にチェックし、その値が別に指定した文字列と同じか異なる場合にトラップを生成します。
文字列モニタをコンフィグレーションするには、次の手順に従います。
Server Runtime
を選択します。MedRecServer
と入力します。State
と入力します。Running
以外の場合に通知を受けるようにするには、[比較文字列] フィールドに Running
と入力し、[違う時に通知する] チェック ボックスをオンにします。JDBC 接続プールなど、ドメイン全体のリソースのモニタをコンフィグレーションする場合は、管理サーバを選択します。
注意: 文字列モニタをサーバに割り当てる場合、JMX リスナとフィルタをサーバにデプロイします。これにより、イベントが文字列モニタの条件に一致する場合にのみ、リスナは通知を WebLogic SNMP エージェントに転送します。
たとえば、ServerA の ServerRuntime
MBean の State
属性を監視する文字列モニタを作成した場合、このモニタを ServerB に割り当てても、ServerB は ServerA の状態にアクセスできないため、ServerB のモニタでトラップが生成されることはありません。
ゲージ モニタでは、整数または浮動小数点の属性の値を定期的にチェックし、値がしきい値を超えた場合にトラップを生成します。
ゲージ モニタをコンフィグレーションするには、次の手順に従います。
たとえば、JDBC 接続プール名 MedRecPool の JDBCConnectionPoolRuntime
MBean の ActiveConnectionsHighCount
属性をモニタする場合、次の手順に従います。
JDBCConnectionPool Runtime
を選択します。MedRecPool
と入力します。ActiveConnectionsHighCount
と入力します。JDBC 接続プールなど、ドメイン全体のリソースのモニタをコンフィグレーションする場合は、管理サーバを選択します。
注意: ゲージ モニタをサーバに割り当てる場合、JMX リスナとフィルタをサーバにデプロイします。これにより、イベントがゲージ モニタの条件に一致する場合にのみ、リスナは通知を WebLogic SNMP エージェントに転送します。
たとえば、ServerA の Server
MBean の AcceptBacklog
属性を監視するゲージ モニタを作成した場合、このモニタを ServerB に割り当てても、ServerB は ServerA のコンフィグレーション データにアクセスできないため、ServerB のモニタでトラップが生成されることはありません。
カウンタ モニタでは、整数の属性の値を定期的にチェックし、値がしきい値を超えた場合にトラップを生成します。また、カウンタ モニタは、トラップの送信後にしきい値をオフセット値の分だけ増やすようコンフィグレーションすることもできます。
カウンタ モニタをコンフィグレーションするには、次の手順に従います。
たとえば、JDBC 接続プール名 MedRecPool の JDBCConnectionPoolRuntime
MBean の ActiveConnectionsHighCount
属性をモニタする場合、次の手順に従います。
JDBCConnectionPool Runtime
を選択します。MedRecPool
と入力します。ActiveConnectionsHighCount
と入力します。JDBC 接続プールなど、ドメイン全体のリソースのモニタをコンフィグレーションする場合は、管理サーバを選択します。
注意: カウンタ モニタをサーバに割り当てる場合、JMX リスナとフィルタをサーバにデプロイします。これにより、イベントがカウンタ モニタの条件に一致する場合にのみ、リスナは通知を WebLogic SNMP エージェントに転送します。
たとえば、ServerA の Server
MBean の AcceptBacklog
属性を監視するカウンタ モニタを作成した場合、このモニタを ServerB に割り当てても、ServerB は ServerA のコンフィグレーション データにアクセスできないため、ServerB のモニタでトラップが生成されることはありません。
以下のリストでは、[カウンタ モニタ] ページにデータを入力して、カウンタ モニタ インスタンスの一般的なコンフィグレーションを行う方法について説明します。
監視されている属性が新しいしきい値を超えるたびに、しきい値はオフセット値ずつ増加します。たとえば、[しきい値] を 1000
に、[オフセット] を 2000
に設定した場合、監視されている属性が 1000
を超えると、カウンタ モニタは通知を送信し、しきい値を 3000
に増やします。監視されている属性が 3000
を超えると、カウンタ モニタは通知を送信し、しきい値を再び 5000
に増やします。
しきい値の最大値を指定するには、[係数] フィールドに値を入力します。しきい値は、係数に指定された値に達すると、オフセット値が適用される前に、モニタの setThreshold
メソッドへの最近の呼び出しで指定された値に戻されます。たとえば、元の [しきい値] を 1000
に、[係数] を 5000
に設定した場合、[しきい値] が 5000
を超えると、モニタは通知を送信してから [しきい値] を 1000
にリセットします。
SNMP トラップの生成を無効にするには、トラップのコンフィグレーションを削除する必要があります。
WebLogic SNMP エージェントは、他の SNMP エージェントのプロキシとして機能します。これは、SNMP マネージャからの要求をリスンします。要求の OID のいずれかが、定義したプロキシの管理下にある場合、WebLogic Server はプロキシに関連付けられた SNMP エージェントにその要求を転送します。詳細については、「SNMP プロキシ」を参照してください。
注意: WebLogic SNMP エージェントは、他の WebLogic Server ドメインの SNMP エージェントのプロキシとして使用することはできません。 たとえば、WebLogic ドメイン A の SNMP エージェントは、ドメイン B の SNMP エージェントにリクエストをプロキシすることはできません。 すべての WebLogic SNMP エージェントが同じ MIB ルートを使用するので、この制限は効果があります。
リクエストを複数の WebLogic Server ドメインにプロキシする代わりに、すべてのサーバ インスタンスを単一ドメインに配置し、各管理対象サーバに直にリクエストを送信することができます。 「管理リクエストでコミュニティ名を使用して対象サーバを指定する」を参照してください。
SNMP エージェントのプロキシとして機能するよう WebLogic Server をコンフィグレーションするには、次のタスクを行います。