21.8. MBeans
MBean は、サービス、コンポーネント、デバイス、またはアプリケーションなどの管理可能なリソースを表します。
Red Hat JBoss Data Grid は複数の側面を監視および管理する
MBeans を提供します。たとえば、トランスポート層で統計を提供する MBeans などが提供されます。JBoss Data Grid サーバーは、JMX 統計で設定されます。JMX 統計はホスト名、ポート、読み取りバイト、書き込みバイト、およびワーカースレッドの数を提供する MBean で、次の場所に存在します。
jboss.infinispan:type=Server,name=<Memcached|Hotrod>,component=Transport
MBeans は、2 つの JMX ドメイン下で利用可能です。
- jboss.as - これらの
MBeansはサーバーサブシステムにより作成されます。 - jboss.infinispan - これらの
MBeansは、内蔵モードで作成されたものと対称的になります。
Red Hat JBoss Data Grid では、jboss.infinispan 下の
MBeans のみを使用する必要があります (jboss.as 下のものは Red Hat JBoss Enterprise Application Platform 向けです)。
注記
利用可能な MBeans の一覧、それらのサポートされている操作と属性については、付録で参照することができます。
21.8.1. MBean を理解する
キャッシュマネージャーまたはキャッシュレベルのいずれかで JMX レポートが有効になっている場合、JConsole や VisualVM などの標準的な JMX GUI を使用して Red Hat JBoss Data Grid を実行する Java 仮想マシンに接続します。接続した場合、次の
MBean を使用できます。
- キャッシュマネージャーレベルの JMX 統計が有効になっている場合、
jboss.infinispan:type=CacheManager,name="DefaultCacheManager"という名前のMBeanが存在し、キャッシュマネージャーMBeanによってプロパティーが指定されます。 - キャッシュレベルの JMX 統計が有効になっている場合、使用される設定に応じて複数の
MBeanが表示されます。たとえば、ライトビハインドキャッシュストアが設定されている場合、キャッシュストアコンポーネントに属するプロパティーを公開するMBeanが表示されます。すべてのキャッシュレベルのMBeansは同じ形式を使用します。jboss.infinispan:type=Cache,name="<name-of-cache>(<cache-mode>)",manager="<name-of-cache-manager>",component=<component-name>
この形式の詳細は次のとおりです。cache-container要素のdefault-cache属性を使用してキャッシュのデフォルト名を指定します。cache-modeはキャッシュのキャッシュモードに置き換えられます。可能な列挙値を小文字にしたものがキャッシュモードを表します。component-nameは、 JMX 参考ドキュメントにある JMX コンポーネント名の 1 つに置き換えられます。
たとえば、同期分散に対して設定されたデフォルトキャッシュのキャッシュストア JMX コンポーネント
MBean の名前は次のようになります。
jboss.infinispan:type=Cache,name="default(dist_sync)", manager="default",component=CacheStore
ユーザー定義の名前でサポートされていない文字が使用されないようにするため、キャッシュおよびキャッシュマネージャーの名前は引用符で囲まれています。
21.8.2. デフォルトでない MBean サーバーでの MBean の登録
使用されるすべての MBean がデフォルトで登録される場所は、標準の JVM MBeanServer プラットフォームです。ユーザーは代替の MBeanServer インスタンスを設定することもできます。MBeanServerLookup インターフェースを実装して、確実に
getMBeanServer() メソッドが必要な (デフォルト以外の) MBeanServer を返すようにします。
デフォルト以外の場所を設定して MBeans を登録するには、実装を作成してからクラスの完全修飾名を用いて Red Hat JBoss Data Grid を設定します。例は次のとおりです。
完全修飾ドメイン名を宣言的に追加する
次のスニペットを追加します。
<globalJmxStatistics enabled="true" mBeanServerLookup="com.acme.MyMBeanServerLookup"/>
完全修飾ドメイン名をプログラムを用いて追加する
次のコードを追加します。
GlobalConfiguration globalConfiguration = new
GlobalConfigurationBuilder().globalJmxStatistics().enable().
mBeanServerLookup("com.acme.MyMBeanServerLookup").build();