5 EDQをモニターするためのJMX拡張の使用
この章の内容は次のとおりです。
JMXバインドの理解
EDQは内部JMXサーバー、またはWebLogicかTomcatアプリケーション・サーバーで提供されたもののいずれかを使用できます。このトピックでは、どのJMXサーバーが使用されるかを制御する方法について説明します。
-
Apache TomcatでのEDQのデフォルトのインストールは、内部JMXサーバーを使用します。
-
Oracle WebLogic ServerでのEDQのデフォルトのインストールは、WebLogic Serverアプリケーション・サーバーのJMXツリーを使用します。
デフォルトの構成には、リモート・メソッド呼出し(RMI)レジストリが含まれ、これはJMXクライアントだけでなく、EDQコマンドライン・インタフェースにより使用されます。RMIリスニング・ポート番号は、director.properties
ファイルに定義される、management.port
プロパティで指定されます。デフォルトは8090です。このプロパティは内部JMXサーバーと、EDQコマンドライン・ツールで使用されるRMI APIの両方へのアクセスを制御します。
JMXの構成を次のように変更できます。
-
コマンドライン・インタフェースを使用せず、(内部JMXサーバーではなく)Tomcatアプリケーション・サーバーJMXツリーにEDQ JMX Beanを表示する場合、management.portプロパティを0に変更します。
management.port=0
management.port
をゼロに設定した場合、RMIレジストリはどのポートもリスンしません。これは、内部JMXが使用されず、かつ、RMI APIも使用できないことを意味します。そのため、コマンドライン・ツールはmanagement.port
が0に設定されていると動作しません。 -
Oracle WebLogic Serverを使用していて、コマンドライン・インタフェースを使用し、WebLogic ServerのJMXツリーにEDQ JMX Beanを表示する場合、構成ディレクトリの
director.properties
ファイルに次のプロパティを追加します。コマンドライン・ツールでRMI APIを使用できるように、management.port
の設定を8090のままにします。management.jndiname=java:comp/env/jmx/runtime
JMX Beanネーミングについて
EDQ JMX Beanで使用されるネーミング・スキーマは、Jconsoleで十分に機能するように設計されています。しかし、他のJMXクライアントが変更されたネーミング・スキームを必要とする場合があります。
EDQ JMX Beanで使用される名前は、適切なJavaScriptまたはGroovyファイルを作成して構成ディレクトリに配置し、director.properties
のmanagement.namemaker.scriptfile
プロパティでそのファイルの存在を指定することにより、カスタマイズできます
リアルタイム・プロセスの監視
EDQには、その運用にかかわる様々な状態を監視するために使用できる組込みJMXサーバーが付属しています。EDQアプリケーションを構成する多くのオブジェクトとリソースは、リアルタイムWebサービスを含む、MBeansをJMXサーバーに提供します。
リアルタイムWebサービスMBeansの監視
各リアルタイムWebサービスは、MBeanをそのリーダーと、JMXツリーのライターに登録します。
リーダーを次の場所に登録します。
Runtime/Data/Buckets/Realtime/Projects/Project Name/readers/Web service name
ライターを次の場所に登録します。
Runtime/Data/Buckets/Realtime/Projects/Project Name/writers/Web service name
いずれの場合も、MBeanへのパスには、それを所有するWebサービス、およびWebサービスを含むプロジェクトの名前が含まれます。
Global Webサービス(oedq_local_home/webservices
ディレクトリの.jar
ファイルにデプロイ済)には別のパス名があります。上のパスのProjects/
Project Name
を、単純にGlobal
に置き換えてください。
内部JMXサーバーのポートは、management.port
プロパティによって制御され、director.properties
ファイルで定義されます。
リアルタイムMBeansの監視
JConsoleなどの一般的なJMXコンソールを使用して、MBeansと対話できます。個々のMBeanは次を公開します。
-
その値を読み取ることができる属性。
-
起動してMBeanでいくつかのアクションを実行できる操作。
-
クライアントがMBeanで発生するイベントの通知をサブスクライブできるインタフェース。
EDQリアルタイムWebサービスMBeansは次の属性を使用します。
属性 | 説明 |
---|---|
|
バケットが最後に閉じられた時間。 |
|
同期リクエストの現在の数。 |
|
バケットが開かれてからの同時同期リクエストの最大数。 |
|
起動時以降の同時同期リクエストの最大数。 |
|
バケットが開かれてから処理されたメッセージ数。 |
|
バケットが開いているかまたは閉じているかを示します。 |
|
起動時以降のバケットが開かれた回数。 |
|
バケットが最後に開かれた時間。 |
|
最後のメッセージが処理された時間。 |
|
バケットが開かれてから処理されたレコード数。 |
|
最後に開かれたときにバケットを使用したスレッドの数。 |
|
起動時以降に処理されたメッセージの数。 |
|
起動時以降に処理されたレコードの数。 |
EDQリアルタイムWebサービスMBeansは次の操作を公開します。
属性 | 説明 |
---|---|
|
このバケットを使用してリーダーまたはライターを停止します。 |