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 の一覧、それらのサポートされている操作と属性については、付録で参照することができます。
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 = ... globalConfiguration.setExposeGlobalJmxStatistics(true); globalConfiguration.setMBeanServerLookup("com.acme.MyMBeanServerLookup")