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です。このプロパティは、EDQコマンドライン・ツールによって使用される内部JMXサーバーとRMI APIへのアクセスをともに制御します。
JMXの構成を次のように変更できます。
-
コマンドライン・インタフェースを使用せず、EDQ JMX BeansがTomcatアプリケーション・サーバーのJMXツリー(内部JMXサーバーではありません)に表示されるようにする場合は、management.portプロパティを0に変更します。
management.port=0management.portをゼロに設定した場合、RMIレジストリはどのポートもリスンしません。これは、内部JMXが使用されず、かつ、RMI APIも使用できないことを意味します。そのため、コマンドライン・ツールはmanagement.portが0に設定されていると動作しません。 -
Oracle WebLogic Serverを使用していて、コマンドライン・インタフェースを使用せず、EDQ JMX BeansがWebLogic ServerのJMXツリーに表示されるようにする場合は、構成ディレクトリの
director.propertiesファイルに次のプロパティを追加します。コマンドライン・ツールでRMI APIを使用できるように、management.portの設定を8090のままにします。management.jndiname=java:comp/env/jmx/runtime
JMX Beanネーミングについて
EDQ JMX Beansで使用されるネーミング・スキーマは、Jconsoleで十分に機能するように設計されています。しかし、他のJMXクライアントが変更されたネーミング・スキームを必要とする場合があります。
EDQ JMX Beansで使用される名前は、適切な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は次の操作を公開します。
| 属性 | 説明 |
|---|---|
|
|
このバケットを使用してリーダーまたはライターを停止します。 |