Java Management Extensions (JMX) MBean のモニター
データ・ソースを定義して、JMX MBean からデータを収集することができます。モニター対象の各 MBean からのデータは、データ・セット内に配置されます。MBean に応じて、データ・セットは単一行を生成する場合と複数行を生成する場合があります。
このタスクについて
定義する JMX データ・ソースごとに、単一の MBean (単一インスタンス) または特定タイプの MBean (複数インスタンス) を指定する必要があります。収集したいデータが含まれている MBean のオブジェクト名、または MBean タイプのオブジェクト名パターンを知っておく必要があります。類似の MBean のセットを識別するだけであれば、オブジェクト名パターンを使用してください。そのパターンに合致する MBean セットのすべての MBean には、モニター表に表示するデータが組み込まれていなければなりません。典型的なオブジェクト名パターンは、*:j2eeType=Servlet,* のようになります。このオブジェクト名パターンは、j2eeType が servlet になっているすべての MBean に合致します。
通常、そのパターンに合致するすべての MBean には、データ・ソースに追加できる一連の公開済みの属性と操作が含まれています。そのパターンを使用するデータ・ソースは、そのパターンに合致するそれぞれの MBean からデータを収集します。そのデータ・ソースで定義する属性は、データ・ソースのオブジェクト名パターンに合致するすべての MBean で使用可能な属性でなければなりません。
Java™ バージョン 5 以降がサポート対象です。
手順
- 「エージェントの初期データ・ソース」ページまたは「データ・ソース・ロケーション」ページで、「データ・カテゴリーのモニター」領域の「サーバーからのデータ」をクリックします。
- 「データ・ソース」域で「JMX」をクリックします。
- 「次へ」をクリックします。
- 「JMX 情報」ページで、「参照」をクリックして MBean サーバー上のすべての JMX MBean を表示します。 データ・ソースの定義後に参照機能を使用すると、属性リストにあらかじめデータを取り込むことができます。 その後、ブラウザーが挿入した属性の追加、削除、または変更を行うことができます。 これらの属性の名前は長く、正確に入力しにくい場合があります。 参照オプションを使用すると、正しい名前を容易に入力できます。注: ブラウザーを使用せずにオブジェクト名を指定して「次へ」をクリックすると、手動で JMX データ・ソースを作成できます。手動で JMX データ・ソースを作成すると 2 つのデータ・ ソースが作成されます。 JMX 通知用の事前定義された属性を含むイベント・データ・ソースが 1 つ作成されます。また、ウィザードで指定する必要のある 1 つの属性を含むコレクション・データ・ソースが定義されます。
- MBean パターン
- MBean パターンを表示します。
- グローバル JMX オプション
- サポートのレベルを表示します。以下の JMX サーバーのサポートが用意されています。
- Java 5 オペレーティング・システムの MBean サーバー。JSR-160 コネクターで接続します。通知とモニターがサポートされています。
- WebSphere® Application Server、バージョン 6 以降。SOAP プロトコルと RMI プロトコルの両方に対応したコネクターが用意されています。リモート・エージェントでは MBean を作成できないので、JMX モニターはサポートされていません。
- WebSphere コミュニティー版と他の Apache Geronimo ベースのアプリケーション・サーバー。標準の JSR-160 コネクターで接続します。バージョン 1.1 以降では、JMX の通知とモニターがサポートされています。
- JBoss アプリケーション・サーバー、バージョン 4.0 以前。
- JBoss Application Server、JSR-160 接続。
- WebLogic Server、バージョン 9 以降。T3 プロトコルに対応したコネクターが用意されています。
- 初めて JMX ブラウザーを実行したときには、「MBean サーバー」スクロールダウン・メニューには項目がありません。接続を追加するには、「追加」ボタンをクリックします。
「編集」ボタンを使用して、既に定義済みの、スクロールダウン・メニューで選択した接続を変更または削除します。接続定義はワークスペースに格納されるので、作成した接続は記憶されています。接続を作成するには、以下の手順を実行します。接続が既に存在する場合は、次の手順にスキップします。
- MBean サーバーに対する接続を作成するには、「追加」をクリックして、接続を追加するか、既存の接続を編集します。 接続が定義されていない場合は、「Java Management Extensions (JMX) ブラウザー」ウィンドウが表示されます。
- 「追加」をクリックして接続を追加すると、「接続タイプの選択」ページが開きます。
- MBean サーバー接続ウィザードを使用して、MBean サーバーに接続します。接続を作成するときには、ページに表示される新しい接続のリストの中から選択できます。既存の接続のリストを使用すると、既存の接続をテンプレートとして使用して、新しい接続を作成できます。新しい接続タイプのいずれかを選択し、「次へ」をクリックして、接続の作成を開始します。
- 接続タイプを選択した後に、より具体的な接続タイプを選択するように求める画面が表示される場合もあります。「標準 JMX 接続 (JSR-160)」接続タイプに基づく 2 つのテンプレートが表示されます。ご使用の MBean サーバーに最適のテンプレートを選択して、「次へ」をクリックします。
図 1. JMX 接続プロパティー
「接続プロパティー」ページ (図 1) には、MBean サーバーに接続するための詳しい情報が表示されます。MBean サーバーの詳細情報をこのページに入力する必要があります。重要: データ・ソースがリモートの WebSphere Application Server に接続されている場合は、Agent Builder が稼働しているホストにも WebSphere Application Server をインストールし、ローカルの WebSphere Application Server が使用する Java ランタイム環境として Java location 設定を指定してください。 - この接続のパスワードを保存する場合は、「パスワードを Agent Builder ワークスペースに保存」チェック・ボックスを選択します。
- オプション: JMX のデフォルトをこれらの接続プロパティーからコピーする場合は、「エージェント構成のデフォルトとして設定」を選択してください。
例えば、図 1 では、デフォルトの 「JMX 基本パス」は C:¥jboss-eap-6.3.01¥jboss-eap-6.3、「JMX サービス URL」は service:jmx:remoting-jmx://localhost:9999、「Java ロケーション」は C:¥Program Files¥IBM¥Java70¥jre です。
- 接続に必要なプロパティーを指定したら、「接続のテスト」をクリックして、接続を確立できるかどうかを確認します。接続が成功しない場合は、必要なプロパティーを訂正します。
- 接続が成功したら、「完了」をクリックしてブラウザーに戻ります。構成した接続が、ブラウザーで使用されます。
「接続プロパティー」ページの Java クラスパス情報には 3 つのフィールドがあります。 これらのフィールドには、Java ランタイム環境に含まれていない Java クラスを必要とする MBean サーバーに接続するための情報を、必要に応じて入力してください。通常、接続先の MBean サーバーは、Agent Builder と同じシステムにインストールする必要があります。その場合は、MBean サーバーが含まれているアプリケーションのインストール先のディレクトリーを「JMX 基本パス」フィールドに指定します。これにより、「JMX JAR ディレクトリー」フィールドに、「基本パス」ディレクトリーに関連するディレクトリーがリストされます。これらのディレクトリーには、MBean サーバーへの接続に必要な JAR ファイルが格納されています。 「JMX クラスパス」フィールドを使用して、特定の JAR ファイルを組み込むことができます。「JMX JAR ディレクトリー」フィールドに表示されている JAR ファイルを、「JMX クラスパス」フィールドに別個にリストする必要はありません。
どのフィールドにも複数の参照項目を組み込めます。複数の項目を指定する場合は、セミコロンで区切ってください。それらの値は、エージェントを構成するときに必要になるのと同じ値です。詳しくは、JMX 構成 を参照してください。
- MBean サーバーに対する接続を作成するには、「追加」をクリックして、接続を追加するか、既存の接続を編集します。
- 接続を選択したら、JMX ブラウザーが JMX サーバーから MBean に関する情報をダウンロードします。この情報は、「JMX ブラウザー」ウィンドウ (図 2) の以下の 4 つの領域に表示されます。
「Java Management Extensions (JMX) ブラウザー」ウィンドウから Agent Editor の「ランタイム構成」タブまでの画面に関する指示: 「JMX 情報」ページで「参照」を選択します。ブラウザー (接続が選択されていない JMX ブラウザー) で「追加」を選択します。「JMX 接続の選択」ページで「JBoss」」を選択し、「次へ」を選択します。「JMX 接続プロパティー」ページで、2 つの接続プロパティーをカスタマイズします (JBoss プロバイダー URL: jnp://wapwin3.tivlab.raleigh.ibm.com:1099/ および 「JBoss JAR ディレクトリー」: jbossall-client.jar、jboss-jmx.jar、jboss-jsr77-client.jar、jboss-management.jar という JAR ファイルを含むディレクトリーへの絶対パス)。「完了」を選択します。この構成により、JBoss 接続がセットアップされ、ここに示されているのと同じような画面が表示されます。
図 2. 「Java Management Extensions (JMX) ブラウザー」ウィンドウ 
- 「MBean キー・プロパティー」領域: この領域は、サーバー上のすべての MBean から検出されたすべての固有のオブジェクト名キーのコレクションです。[Domain] は、実際にはキーではないため、特別な項目です。ただし、[Domain] 項目は、MBean ドメインの値に対する暗黙のキーとして処理されます。このリストから項目を選択すると、そのキー・プロパティーが含まれている MBean が検出されます。キー・プロパティーの値のリストは、「選択したキー・プロパティー値」リストに表示されます。キー・プロパティーにチェック・マークを付けると、そのキー・プロパティーがデータ・ソースのオブジェクト名パターンに組み込まれます。
- 「選択したキー・プロパティー値」領域: この領域には、すべての MBean から現在選択されている MBean キー・プロパティーの値が表示されます。これらの値のいずれかを選択すると、その MBean キー・プロパティーにチェック・マークが付きます。また、これらの値のいずれかを選択すると、メッセージ・フィールドに表示されているオブジェクト名パターンが、その MBean キー・プロパティーの名前と値で更新されます。
- オブジェクト名パターンに一致するすべての MBean の一覧表: 「MBean キー・プロパティー」リストと「選択したキー・プロパティー値」のリストからキー・プロパティーと値を選択すると、オブジェクト名パターンが更新されます。また、選択したパターンに一致する MBean のリストに合わせて、この一覧表の MBean のリストも変更されます。どの MBean にも一致しないパターンの場合は、「MBean キー・プロパティー」リストの項目をクリアすることができます。項目をクリアするには、パターンで使用しているキーの横にあるチェック・ボックスをクリックしてチェック・マークを外します。対象の MBean を見つけるために、パターンを手動で編集することもできます。「*:*」というパターンを使用すると、すべての MBean が選択されます。
その表を使用すれば、サーバーから MBean を表示して、モニター対象にするデータが含まれている MBean を判別できます。多数の MBean が表示される可能性がある場合は、メニューを使用するか、いずれかの列見出しをクリックすることにより、任意のキー属性でソートすることができます。また、メニューから「キー・プロパティーの表示」を選択すると、任意の列の任意のキー属性を表示することができます。モニター対象にする MBean を識別するためのキー・プロパティー値を表の中で見つけたら、その値を右クリックして、メニューから「キー・プロパティーを持つ MBean のみを選択」を選択します。
- 選択した MBean の詳細を示した表: JMX ブラウザーに 1 つの MBean に関する情報が表示されます。MBean の詳細を表示するには、現在のフィルターに合致する MBean の一覧表から対象の MBean を選択します。MBean のキー情報が、定義されている属性、操作、通知のリストとして表示されます。
JMX ブラウザーからデータ・ソースを作成するには、上記の 4 つのパネルを使用してオブジェクト名パターンを作成します。収集するモニター・データが含まれている MBean のセットに一致するようにオブジェクト名パターンを作成してください。例えば、すべての ThreadPool MBean のデータをモニターする場合は、以下の手順を実行します。
- 「MBean キー・プロパティー」パネルから「type」を選択します。「type」を選択すると、「選択したキー・プロパティー値」の値が更新され、あらゆる MBean の type キーのすべての固有値が表示されます。
- type キーの値のリストから「ThreadPool」を選択します。「ThreadPool」を選択すると、「MBean キー・プロパティー」パネルの type キー・プロパティー名が選択され、オブジェクト名パターンが *:type=ThreadPool,* に更新されます。MBean のリストも更新され、そのパターンに合致する MBean だけが表示されるようになります。
- MBean のリストからいずれかの MBean を選択して、その MBean で使用できる属性、操作、通知を表示します。モニターしたい数を超える MBean がリストに含まれている場合は、キー・プロパティーと値を選択する手順を続行する必要があります。 この手順は、モニターしたい MBean のセットを識別するオブジェクト名パターンが取得できるまで続行します。MBean のリストでメニューを開いて、表に表示されているキー・プロパティー値でオブジェクト・パターンを更新することもできます。
- 正しいオブジェクト名パターンが得られたら、表から MBean を選択します。 選択した MBean のすべての属性が、新しい JMX データ・ソースの初期状態の属性になります。一部の属性にはデータが含まれていない可能性もあります。JMX データ・ソースを作成したら、属性を確認して、無関係の属性を削除します。選択した MBean に属性が含まれていない場合は、データ・ソースが属性なしで作成されるという趣旨の警告メッセージが表示されます。選択した MBean に通知が含まれている場合は、MBean から通知を受け取るためのイベント・データ・ソースも作成されます。重要: すべての MBean 属性について、Agent Builder は新規データ・セットに属性を作成します。 数値 MBean 属性については、Agent Builder は数値属性を作成します。すべてのオブジェクト・タイプ (
ストリングを含む) について、Agent Builder は、値のストリング表記が含まれたストリング属性を作成します。MBean 属性からのオブジェクトがjavax.management.openmbean.CompositeDataタイプであり、Agent Builder ブラウザーでそのオブジェクト自体を読み取ることができる場合、複数の属性 (CompositeDataオブジェクトに組み込まれたオブジェクトごとに 1 つ) が作成されます。CompositeDataオブジェクト以外のオブジェクトの内部の値 (フィールドまたはメソッドの戻り値) を含めるには、Java Management Extensions (JMX) MBean に固有のフィールドで説明されているように、より複雑なメトリック名を持つ属性を作成する必要があります。 - 「JMX 情報」ページで情報を入力したら、「完了」をクリックします。 前の手順で選択した MBean に基づいて、データ・ソースが作成されます。MBean を選択しなかった場合は、属性を持たない属性グループが作成されます。この場合は警告が表示され、MBean を選択する機会が与えられます。通知データ・ソースの場合は、属性を表示するデータ・ソースと区別するために、データ・ソース名の先頭に「Event」という語が付きます。
- エージェントの他の JMX オプションを変更する場合は、「グローバル JMX オプション」をクリックします。これらのオプションでは、以下のことが可能です。
- そのエージェントで JMX モニターをサポートするかどうかを選択します。JMX モニターの属性グループとアクション実行コマンドを作成する場合は、「JMX モニター属性グループおよびアクション実行を組み込みます」を選択します。 JMX モニターの説明については、次のセクションを参照してください。
- エージェントのデプロイ時に接続する MBean サーバーのタイプを選択します。 いくつかのベンダー固有のサーバー・タイプと、標準仕様に基づくサーバーに対応した「JSR-160 準拠のサーバー」という汎用タイプが表示されます。必要な数だけ選択できますが、モニター対象の MBean をサポートするサーバー・タイプだけを選択してください。少なくとも 1 つのタイプを選択しなければなりません。複数のタイプを選択した場合は、エージェントの構成時に、接続先のサーバーのタイプを指定するためのプロンプトが表示されます。
- そのエージェントで JMX モニターをサポートするかどうかを選択します。JMX モニターの属性グループとアクション実行コマンドを作成する場合は、「JMX モニター属性グループおよびアクション実行を組み込みます」を選択します。
- 必要なオプションを選択したら、「OK」をクリックします。
- オプション: 「テスト」をクリックすると、この属性グループをテストできます。テストについて詳しくは、JMX 属性グループのテストを参照してください。
- オプション: 「拡張」をクリックして、 この属性グループから返されるデータを制限するフィルターを作成できます。属性グループからのデータのフィルタリングについて詳しくは、属性グループのフィルタリングを参照してください。
- 「次へ」をクリックします。
- 「キー属性の選択」ページで、キー属性を選択するか、このデータ・ソースが 1 つのデータ行のみを生成することを指定します。詳しくは、キー属性の選択 を参照してください。
- 「次へ」をクリックします。
「JMX エージェント全体のオプション」ウィンドウに Agent Builder がサポートするアプリケーション・サーバーのタイプが表示されます。前に「接続プロパティー」ページで「エージェント構成のデフォルトとして設定」を選択した場合は、参照したアプリケーション・サーバーのタイプが自動的に選択されます。
- 「JMX エージェント全体のオプション」ウィンドウ (図 3) で、エージェントからの接続を可能にする他のタイプのアプリケーション・サーバーを選択します。 注: 例で示している、「JBoss Application Server JSR-160 接続」の選択は、異なるデフォルト値が指定されていることを除き、「JSR-160 準拠のサーバー」を選択した場合と同じです。
図 3. 「JMX エージェント全体のオプション」ウィンドウ 
- 以下の手順のいずれかを行います。
- 新規エージェント・ウィザードを使用する場合は、「次へ」をクリックしてください。
- データ・ソースを保存して Agent Editor を開く場合は、「終了」をクリックしてください。
- エージェントの作成後に、接続可能なアプリケーション・サーバーのタイプを変更する場合は、「JMX データ・ソース情報」領域で「グローバル JMX オプション」をクリックします。
- 「JMX エージェント全体のオプション」ウィンドウで、必要に応じて選択項目を変更します。
- 「OK」をクリックします。
- 自動的に生成された構成セクションとプロパティーを表示するには、Agent Editor の「ランタイム構成」タブをクリックします。
「JBoss 基本パス」プロパティーのデフォルト値には、JMX ブラウザーに入力した値が設定されます。
次のタスク
JMX イベントの属性グループについて詳しくは、JMX イベントの属性グループを参照してください。