目次 | 前へ | 次へ

第 4 章

JMX エージェントの使用

Java Management Extensions (JMX) エージェントは、Java 仮想マシン (Java VM) 内で実行される管理エンティティーです。MBean と管理アプリケーションとのパイプ役として機能します。JMX エージェントのさまざまなコンポーネントについて、次のセクションで説明します。

MBean サーバー

MBean サーバーは、JMX エージェントのコアコンポーネントです。管理操作に公開されているエージェント内のオブジェクトのレジストリです。MBean サーバーに登録されているすべてのオブジェクトが、管理アプリケーションに公開されます。ただし、MBean サーバーは MBean の管理インタフェースだけを公開し、オブジェクトの直接参照は公開しません。

エージェントの Java VM の外部から管理するリソースは、MBean としてサーバーに登録する必要があります。MBean サーバーには同じ Java VM 内で MBean にアクセスするための標準化されたインタフェースもあり、ローカルオブジェクトにとって管理可能なリソースを操作できるという利点があります。MBean は次によってインスタンス化され登録されます。

  • 別の MBean
  • エージェント自身
  • リモート管理アプリケーション

MBean を登録する場合は、一意のオブジェクト名を割り当てる必要があります。管理アプリケーションではオブジェクト名を使用して、管理操作を実行する対象となるオブジェクトを特定します。MBean で利用可能な操作には、次の操作があります。

  • MBean の管理インタフェースの検出
  • 属性値の読み書き
  • MBean によって定義された操作の実行
  • MBean によって送られた通知の取得
  • オブジェクト名または属性値を基にした MBean のクエリー

エージェントサービス

エージェントサービスとは、MBean サーバーに登録された MBean の管理操作を実行できるオブジェクトのことです。エージェントに管理機能を持たせることで、JMX を使用すればより強力な管理ソリューションを構築できます。エージェントサービスも MBean となることがあり、このときはエージェントサービスとその機能を MBean サーバーから制御できます。JMX 仕様では、次のエージェントサービスを定義しています。

  • 管理アプレット (m-let) サービスを介した動的クラスローディングにより、ネットワークから動的にダウンロードされた新しいクラスとネイティブライブラリを取得し、インスタンス化する。
  • モニターで MBean 属性の数値または文字列値を観察し、各種の変更をほかのオブジェクトに通知できる。
  • タイマーにより、スケジューリングメカニズムを提供し、事前に定義した間隔で通知を送信できる。
  • 関係サービスでは MBean 間の関係を定義し、その関係の一貫性を維持する。

プロトコルアダプタとコネクタ

プロトコルアダプタとコネクタを使用すると、リモート管理アプリケーションからエージェントにアクセスできます。MBean サーバーでインスタンス化され登録された、すべての MBean に特有のプロトコルを使用してビューを提供します。Java VM の外部の管理アプリケーションでは、次のことが可能になります。

  • 既存の MBean の属性の取得または設定
  • 既存の MBean 上で操作の実行
  • 新しい MBean のインスタンス化と登録
  • MBean が送る通知の登録と受信

したがって JMX エージェントを管理するには、少なくとも 1 つはプロトコルアダプタやコネクタを含まなければなりません。Java SE プラットフォームには、標準 RMI コネクタが含まれています。エージェントはプロトコルアダプタやコネクタを任意の個数含めることができ、さまざまなプロトコルによって同時にリモートで管理および監視することができます。

プロトコルアダプタ

プロトコルアダプタは、指定されたプロトコルを介した JMX エージェントの管理ビューを提供します。MBean の操作および MBean サーバーを指定されたプロトコルの形式に変換します。また、SNMP のような別の情報モデルへの変換も行います。Java SE プラットフォームは、プロトコルアダプタを標準装備していません。

プロトコルアダプタに接続する管理アプリケーションは、通常、指定されたプロトコル専用です。これは、特定の管理プロトコルに依存した従来の管理ソリューションの典型的なケースです。管理アプリケーションは JMX エージェントに対して、MBean サーバーのリモート形式でアクセスするのではなく、MBean サーバーの操作にマップされた操作でアクセスします。

コネクタ

コネクタは、エージェントとリモート管理アプリケーションを接続するために使用されます。この場合のリモート管理アプリケーションは、JMX テクノロジに対応し、つまり、JMX 仕様の分散サービスを使用して開発された管理アプリケーションのことです。この種の通信は、エージェント内のコネクタサーバーや、マネージャー内のコネクタクライアントが行います。

これらのコンポーネントは、特定のプロトコルを使用してポイントツーポイントで管理操作を透過的に伝送します。JMX リモート API は MBean サーバーに対するリモートインタフェースを提供し、管理アプリケーションはこのインタフェースを通じて操作を実行します。コネクタは指定されたプロトコル専用ですが、あらゆるコネクタは同じリモートインタフェースを備えているため、管理アプリケーションではどのコネクタも同じように使用できます。

標準 JMX コネクタについての詳細は、第 5 章「JMX コネクタを使用したリソースのリモート管理」を参照してください。

 

目次 | 前へ | 次へ

 


Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.