Java Management Extensions (JMX)エージェントは、Java仮想マシン(JVM)内で実行される管理エンティティです。管理対象Bean (MBean)と管理アプリケーションとのパイプ役として機能します。次のセクションでは、JMXエージェントの様々なコンポーネントについて説明します。
MBeanサーバーは、JMXエージェントのコア・コンポーネントです。管理操作に公開されているJMXエージェント内のオブジェクトのレジストリです。MBeanサーバーに登録されているオブジェクトが、管理アプリケーションに公開されます。MBeanサーバーはMBeanの管理インタフェースのみを公開し、オブジェクトの直接参照は公開しません。
エージェントのJVMの外部から管理するリソースは、MBeanとしてサーバーに登録する必要があります。MBeanサーバーには同じJVM内でMBeanにアクセスするための標準化されたインタフェースがあり、ローカル・オブジェクトにとって管理可能なリソースを操作できるという利点があります。MBeanは次によってインスタンス化され登録されます。
MBeanを登録する場合は、一意のオブジェクト名を割り当てる必要があります。管理アプリケーションではオブジェクト名を使用して、管理操作を実行する対象となるオブジェクトを特定します。MBeanで利用可能な操作には、次の操作があります。
エージェント・サービスとは、MBeanサーバーに登録されたMBeanの管理操作を実行できるオブジェクトのことです。エージェントに管理機能を持たせることで、JMXを使用すればより強力な管理ソリューションを構築できます。エージェント・サービスはMBeanとなる可能性もあり、このときはエージェント・サービスとその機能をMBeanサーバーから制御できます。JMX仕様では、次のエージェント・サービスを定義しています。
プロトコル・アダプタとコネクタを使用すると、リモート管理アプリケーションからエージェントにアクセスできます。MBeanサーバーでインスタンス化され登録された、すべてのMBeanに特有のプロトコルを使用してビューを提供します。JVMの外部の管理アプリケーションでは、次のことが可能になります。
したがってJMXエージェントを管理するには、少なくとも1つはプロトコル・アダプタやコネクタを含まなければなりません。Java SEプラットフォームには、標準Remote Method Invocation (RMI)コネクタが含まれています。エージェントは1つ以上のプロトコル・アダプタやコネクタを含めることができ、様々なプロトコルによって同時にリモートで管理およびモニターできます。
プロトコルアダプタは、指定されたプロトコルを介したJMXエージェントの管理ビューを提供します。MBeanの操作およびMBeanサーバーを指定されたプロトコルの形式に変換します。また、SNMPのような別の情報モデルへの変換も行います。Java SEプラットフォームは、プロトコルアダプタを標準装備していません。
プロトコル・アダプタに接続する管理アプリケーションは、通常、指定されたプロトコル専用です。これは、特定の管理プロトコルに依存した従来の管理ソリューションの典型的なケースです。管理アプリケーションはJMXエージェントに対して、MBeanサーバーのリモート形式でアクセスするのではなく、MBeanサーバーの操作にマップされた操作でアクセスします。
コネクタは、エージェントとリモート管理アプリケーションを接続するために使用されます。この場合のリモート管理アプリケーションは、JMXテクノロジに対応し、つまり、JMX仕様の分散サービスを使用して開発された管理アプリケーションのことです。この種の通信は、エージェント内のコネクタ・サーバーや、マネージャ内のコネクタ・クライアントが行います。
これらのコンポーネントは、特定のプロトコルを使用してポイントツーポイントで管理操作を透過的に伝送します。JMXリモートAPIはMBeanサーバーに対するリモート・インタフェースを提供し、管理アプリケーションはこのインタフェースを通じて操作を実行します。コネクタは指定されたプロトコル専用ですが、あらゆるコネクタは同じリモート・インタフェースを備えているため、管理アプリケーションではどのコネクタも同じように使用できます。
標準JMXコネクタの詳細は、JMXコネクタを使用したリソースのリモート管理を参照してください。