第25章 監視

25.1. 監視

25.2. Java Management Extensions (JMX)

25.2.1. Java Management Extensions (JMX)

Java Management Extensions (JMX) は、アプリケーション、デバイス、システムオブジェクト、およびサービス指向ネットワークを管理および監視するツールを提供する Java ベースの技術です。これらの各オブジェクトは MBeans によって管理および監視されます。

JMX はミドルウェア管理の事実上の業界標準です。そのため、Red Hat JBoss Data Grid では管理および統計情報の公開に JMX が使用されます。

25.2.2. Red Hat JBoss Data Grid における JMX の使用

Red Hat JBoss Data Grid インスタンスの管理は、関連する統計情報をできるだけ多く公開することを目的としています。この統計情報により、管理者は各インスタンスの状態を確認することができます。1 つのインストールは数十または数百のインスタンスを構成することがあるため、各インスタンスの統計情報を明確かつ簡潔に公開し、表示する必要があります。

このような統計情報を公開し、管理者に対して適切な情報を見やすく表示するため、JBoss Data Grid では、JMX は JBoss Operations Network (JON) と共に使用されます。

25.2.3. キャッシュインスタンスに対して JMX を有効にする

キャッシュレベルでは、宣言的に、またはプログラムを用いて、次のように JMX 統計を有効にすることができます。

キャッシュレベルでプログラムを用いて JMX を有効にする

プログラムを用いて JMX をキャッシュレベルで有効にするには、以下のコードを追加します。

Configuration configuration = new
ConfigurationBuilder().jmxStatistics().enable().build();

25.2.4. CacheManager に対して JMX を有効にする

CacheManager レベルでは、宣言的に、またはプログラムを用いて、次のように JMX 統計を有効にすることができます。

CacheManager レベルでプログラムを用いて JMX を有効にする

プログラムを用いて JMX を CacheManager レベルで有効にするには、以下のコードを追加します。

GlobalConfiguration globalConfiguration = new
GlobalConfigurationBuilder().globalJmxStatistics().enable().build();

25.2.5. 複数の JMX ドメイン

複数の CacheManager インスタンスが 1 つの仮想マシンに存在したり、異なる CacheManager のキャッシュインスタンスの名前が競合する場合に、複数の JMX ドメインが使用されます。

この問題を解決するには、JMX や JBoss Operations Network などの監視ツールが簡単に識別および使用できるような名前を各 CacheManager に付けるようにします。

CacheManager の名前をプログラムを用いて設定する

次のコードを追加し、プログラムを用いて CacheManager の名前を設定します。

GlobalConfiguration globalConfiguration = new
GlobalConfigurationBuilder().globalJmxStatistics().enable().
cacheManagerName("Hibernate2LC").build();

25.2.6. デフォルトでない MBean サーバーでの MBean の登録

使用されるすべての MBean がデフォルトで登録される場所は、標準の JVM MBeanServer プラットフォームです。ユーザーは代替の MBeanServer インスタンスを設定することもできます。MBeanServerLookup インターフェースを実装して、確実に getMBeanServer() メソッドが必要な (デフォルト以外の) MBeanServer を返すようにします。

デフォルト以外の場所を設定して MBean を登録するには、実装を作成し、クラスの完全修飾名を用いて Red Hat JBoss Data Grid を設定します。例は次のとおりです。

完全修飾ドメイン名をプログラムを用いて追加する

以下のコードを追加します。

GlobalConfiguration globalConfiguration = new
GlobalConfigurationBuilder().globalJmxStatistics().enable().
mBeanServerLookup("com.acme.MyMBeanServerLookup").build();

25.3. StatisticsInfoMBean

StatisticsInfoMBean MBean は、前セクションの説明どおりに Statistics オブジェクトにアクセスします。