目次 | 前へ | 次へ |
JMX テクノロジには、リソースを管理および監視するための標準 API が用意されています。API ではリモートアクセスを実行できるため、リモート管理アプリケーションでアプリケーション、システム、およびネットワークを管理および監視できます。この章では、次のセクションで JMX アーキテクチャーの概要を説明します。
JMX テクノロジは、Java Specification Requests (JSR) 3 および JSR 160 として、Java Community Process (JCP) によって開発された密接に関連する 2 つの仕様で定義されています。
管理アーキテクチャーを 3 レベルに分けたものを次の表に示します。表の最初の 2 レベルであるインストゥルメンテーションとエージェント、
Java VM は JSR 3 で、リモート管理のレベルは JSR 160 で定義されています。
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 をマネージャーに通知することもできます。
目次 | 前へ | 次へ |