目次 | 前の項目 | 次の項目 Java Management Extensions (JMX) テクノロジ概要

第 2 章

JMX アーキテクチャー

JMX テクノロジには、リソースを管理および監視するための標準 API が用意されています。API ではリモートアクセスを実行できるため、リモート管理アプリケーションでアプリケーション、システム、およびネットワークを管理および監視できます。この章では、以下のセクションで JXM アーキテクチャーの概要を説明します。

アーキテクチャーの概要

JMX テクノロジは、Java Specification Requests (JSR) 3 および JSR 160 として、Java Community Process (JCP) によって開発された密接に関連する 2 つの仕様で定義されています。

管理アーキテクチャーを 3 レベルに分けたものを次の表に示します。表の最初の 2 レベルであるインストゥルメンテーションとエージェント、

Java VM はJSR 3 で、リモート管理のレベルは JSR 160 で定義されています。

表 2-1  –  JMX テクノロジのアーキテクチャー
レベル
説明
インストゥルメンテーション
アプリケーション、デバイス、サービスなどのリソースは、Managed Bean (MBean) と呼ばれる Java オブジェクトを使用して計測されている。MBean はリモート管理および監視用の JMX エージェントを通じて、管理インタフェース (属性と操作からなる) を公開している
 
エージェント
JMX エージェントの主コンポーネントは、MBean サーバーである。MBean サーバーは MBean が登録されているコアの管理オブジェクトサーバーである。JMX エージェントには、MBean を処理するための一連のサービスも含まれる。JMX エージェントは、直接リソースを制御し、リモート管理エージェントで利用できるようにする
 
リモート管理
プロトコルアダプタと標準コネクタにより、JMX エージェントはエージェントの Java 仮想マシン (Java VM) の外部にあるリモート管理アプリケーションからアクセスできるようになります。

MBean を使用したリソースの計測

JMX テクノロジを使用してリソースを管理するには、最初にリソースを Java プログラミング言語で計測する必要があります。MBean と呼ばれる Java オブジェクトを使用して、リソースのインストゥルメンテーションへのアクセスを実装します。MBean は、仕様で定義された設計パターンおよびインタフェースに従わなければなりません。こうすることで、すべての MBean で管理対象リソースの計測が標準化された方法で提供されることが保証されます。

リソースが MBean で計測されると、JMX エージェントを通じて管理できるようになります。MBean では、JMX エージェントで MBean を操作するための知識は不要です。

MBean は、実装が柔軟・簡潔・容易であるように設計されています。アプリケーション、システム、およびネットワークの開発者は、複雑な管理システムに対する理解や投資を要求されることなく、製品を標準的な方法で管理できるものにすることができます。最小限の努力で、既存のリソースを管理可能にします。

さらに、インストゥルメンテーションレベルでは、通知機構を指定します。こうすることで、MBean で通知イベントを生成して、他のレベルのコンポーネントに送ることができます。

JMX エージェントの作成

JMX エージェントは標準的な管理エージェントであり、リソースを直接管理し、リモート管理アプリケーションでリソースを利用できるようにします。通常は制御するリソースと同じマシン上にありますが、必須ではありません。

JMX エージェントのコアコンポーネントは MBean サーバーです。 MBean サーバーは、MBean が登録されている管理オブジェクトサーバーのことです。また、JMX エージェントには、MBean を管理するための一連のサービスと、管理アプリケーションからアクセス可能な通信アダプタまたはコネクタが少なくとも 1 つ含まれています。

JMX エージェントを実装する場合は、管理に使用されるリソースのセマンティクスや機能を理解しておく必要はありません。実際のところ、JMX エージェントでは、提供するリソースの情報は必要ありません。 これは、JMX 仕様に準拠して計測されたあらゆるリソースは、必要なサービスを提供するすべての JMX エージェントを使用できるためです。同様に、エージェントでは、アクセスする管理アプリケーションの機能についての情報は必要ありません。

リソースのリモート管理

JMX API インストゥルメンテーションは、Simple Network Management Protocol (SNMP) のような既存の管理プロトコルや独自のプロトコルによるさまざまな方法でアクセスされます。MBean サーバーでは、プロトコルアダプタやコネクタを使用して、エージェントの Java 仮想マシン (Java VM) の外部にあるリモート管理アプリケーションから JMX エージェントにアクセスできるようにします。

どのアダプタも、MBean サーバーに登録されたすべての MBean に特有のプロトコルを使用して、ビューを提供します。たとえば HTML アダプタは、MBean を Web ブラウザに表示できます。

コネクタは、マネージャーと JMX エージェントの間の通信を処理する、マネージャー側のインタフェースを備えています。各コネクタは異なるプロトコルを通じて、同じリモート管理インタフェースを提供します。リモート管理アプリケーションでこのインタフェースを使用すると、プロトコルに関係なく、透過的にネットワークを介して JMX エージェントに接続できます。

JMX テクノロジには、JMX API インストゥルメンテーションをリモートアプリケーションにエクスポートするための、Remote Method Invocation (RMI) を基にした標準的なソリューションがあります。また、JMX Remote API では、TCP ソケットを直接基にした追加のプロトコルである JMX Messaging Protocol (JMXMP) を定義しています。JMX Remote API の実装では、この追加プロトコルをサポートする必要はありません。Java SE プラットフォームには省略可能なコネクタは含まれていません。詳細は、付録 A「JMX テクノロジのバージョン」を参照してください。

JMX Remote API 仕様では、既存の検出・検索インフラストラクチャーを使用して JMX エージェントを通知したり検索したりする方法が説明されています。そのような例は、『Java Management Extensions (JMX) テクノロジのチュートリアル』にあります。この仕様では、独自の検出・検索サービスは定義されていません。この仕様では、独自の検出・検索サービスは定義されていません。既存の検出・検索サービスを使用することもできますが、JMX API エージェントのアドレスを URL の形式でエンコードし、その URL をマネージャーに通知することもできます。

 


目次 | 前の項目 | 次の項目 Java Management Extensions (JMX) テクノロジ概要
Java Management Extensions (JMX), Java Platform, Standard Edition 6