9. モニタリング

9.1. モニタリングについて

モニタリングを行うための手順について説明します。

9.1.1. WebOTXが提供するパフォーマンス情報

WebOTXでは、モニタリングを行うことでパフォーマンス情報を取得することができます。 デフォルトでは次のようなパフォーマンス情報を提供しています。

デフォルトで採取できるパフォーマンス情報
表9.1.1-1
パフォーマンス情報
(WebOTX統計MBean)
説明
domain ドメインのパフォーマンス情報です。
jvm エージェントプロセスのJVMのパフォーマンス情報です。
デフォルトで採取できるパフォーマンス情報(Starndard, Enterpriseのみ)
表9.1.1-2
パフォーマンス情報
(WebOTX統計MBean)
説明
ClientSession 接続クライアントのパフォーマンス情報です。
interface インターフェースのパフォーマンス情報です。
javaAsyncMsg Java非同期メッセージ(非MDB)のパフォーマンス情報です。
operation オペレーションのパフォーマンス情報です。
process-group プロセスグループのパフォーマンス情報です。
Queue キューのパフォーマンス情報です。
tpsystem TPモニタのパフォーマンス情報です。
VD VDのパフォーマンス情報です。

また、モニタリングレベルを設定することでさらに詳細なパフォーマンス情報を提供します。 モニタリング設定はモジュール単位で設定することが可能です。 以下にモニタリングを提供するモジュール一覧を示します。 otxadminコマンドによりモニタリングレベルを設定することができます。

パフォーマンス情報を提供するモジュール
表9.1.1-3
モジュール 既定値 説明
connector-connection-pool

OFF

コネクションプールに関する統計情報。OFF、LOW、HIGHのいずれかを設定する。
connector-service (*1)

OFF

コネクタサービスに関する統計情報。OFF、LOW、HIGHのいずれかを設定する。
ejb-container

OFF

EJBコンテナに関する統計情報。OFF、LOW、HIGHのいずれかを設定する。
http-service

OFF

WebコンテナのHTTPサービスに関する統計情報。OFFもしくはONを設定する。
jvm

OFF

JVM(Java Virtual Machine)に関する統計情報。OFF、LOW、HIGHのいずれかを設定する。
jms-service

OFF

JMSサービスに関する統計情報。OFFもしくはONを設定する。
jdbc-datasource

OFF

JDBCデータソースに関する統計情報。OFF、LOW、HIGHのいずれかを設定する。
thread-pool (*1)

OFF

スレッドプールに関する統計情報。OFF、LOW、HIGHのいずれかを設定する。
transaction-service

OFF

Transactionサービスに関する統計情報。OFF、LOW、HIGHのいずれかを設定する。
web-container

OFF

Webコンテナに関する統計情報。OFFもしくはONを設定する。

(*1) レベルを変更した場合、WebOTX内部のモニタの登録/削除が実行されます。運用管理ツール上は何も変更されません。

9.1.1.1. connector-connection-pool

connector-connection-poolでは次のようなパフォーマンス情報が採取できます。

表9.1.1.1-1
パフォーマンス情報
(WebOTX統計MBean)
説明 採取できるレベル
connector-connection-pool コネクタコネクションプールのパフォーマンス情報です。

LOW

9.1.1.2. ejb-container

ejb-containerでは次のようなパフォーマンス情報が採取できます。

表9.1.1.2-1
パフォーマンス情報
(WebOTX統計MBean)
説明 採取できるレベル
bean-cache EJBキャッシュのパフォーマンス情報です。

LOW

bean-pool EJBプールのパフォーマンス情報です。

LOW

ejb ejbのパフォーマンス情報です。

LOW

bean-method beanメソッドのパフォーマンス情報です。

HIGH

9.1.1.3. http-service

http-serviceでは次のようなパフォーマンス情報が採取できます。

表9.1.1.3-1
パフォーマンス情報
(WebOTX統計MBean)
説明 採取できるレベル
http-listener WebコンテナのHTTPリスナーパフォーマンス情報です。

ON

9.1.1.4. jvm

jvmでは次のようなパフォーマンス情報が採取できます。

表9.1.1.4-1
パフォーマンス情報
(WebOTX統計MBean)
説明 採取できるレベル
class-loading-system JVM内で使用されるクラスのロードに関するパフォーマンス情報です。

LOW

compilation-system JVM内で実行されるコンパイル処理に関するパフォーマンス情報です。

LOW

garbage-collector JVM内で実行されるGC処理に関するパフォーマンス情報です。

LOW

memory JVM内でのメモリの消費に関するパフォーマンス情報です。

LOW

operating-system JVMが動作するOSに関するパフォーマンス情報です。

LOW

runtime JVMの実行に関するパフォーマンス情報です。

LOW

thread-system JVM内で生成されるスレッドに関するパフォーマンス情報です。

LOW

memory-pool JVM内でのメモリプールに関する情報パフォーマンス情報です。

HIGH

threadinfo JVM内で生成されるスレッドに関するパフォーマンス情報です。

HIGH

9.1.1.5. jms-service

jms-serviceでは次のようなパフォーマンス情報が採取できます。

表9.1.1.5-1
パフォーマンス情報
(WebOTX統計MBean)
説明 採取できるレベル
jms-physical-destination JMSサービスの物理的送信先ごとのパフォーマンス情報です。

ON

jms-service JMSサービスのパフォーマンス情報です。

ON

9.1.1.6. jdbc-datasource

jdbc-datasourceでは次のようなパフォーマンス情報が採取できます。

表9.1.1.6-1
Wパフォーマンス情報
(WebOTX統計MBean)
説明 採取できるレベル
jdbc-datasource JDBCデータソースのパフォーマンス情報です。

LOW, HIGH

9.1.1.7. transaction-service

transaction-serviceでは次のようなパフォーマンス情報が採取できます。

表9.1.1.7-1
パフォーマンス情報
(WebOTX統計MBean)
説明 採取できるレベル
transaction-service Transactionサービスのパフォーマンス情報です。

LOW

9.1.1.8. web-container

web-containerでは次のようなパフォーマンス情報が採取できます。

表9.1.1.8-1
パフォーマンス情報
(WebOTX統計MBean)
説明 採取できるレベル
servlet サーブレットのパフォーマンス情報です。

ON

9.1.2. モニタの種類

統計情報のモニタリングはMonitorMBeanにより行なわれます。MonitorMBeanは管理対象の属性に応じていくつかの種類があります。

9.1.2.1. CounterMonitor

Counter Monitorはインクリメントされる整数の属性値をモニタリングします。 granularityPeriod(GP)毎に対象となる数値(1ずつ変化している)のチェックを行い、 しきい値を超えている場合イベント発生となります。 この後、次の最初のしきい値にOffset分の値を加えたものを新しいしきい値とし、再度GP毎のチェックを行います。 例えばリクエスト数など単純に増加する属性などのモニタリングに用います。

CounterMonitor
図9.1.2.1-1

発生するイベントについて
表9.1.2.1-1
モジュール 説明
jmx.monitor.counter.threshold 取得した値がthreshold値を超えた

9.1.2.2. Guage Monitor

小数点のある値 (Double, Floatなど)も含め、ゲージのように上下する属性値をモニタリングします。 granularityPeriod(GP)毎に対象となる数値(1ずつ変化している)のチェックを行い、 thresholoHighValueとthresholoLowValueの間を越えた (上限よりも上、もしくは下限より下の値になった)ときにイベントが発生します。 例えばキュー滞留数などの上限チェックに用います。

Guage Monitor
図9.1.2.2-1

発生するイベントについて
表9.1.2.2-1
モジュール 説明
jmx.monitor.guage.high 取得した値が上限値を超えた
jmx.monitor.guage.low 取得した値が下限値を下回った

9.1.2.3. String Monitor

文字列が変更されたかをモニタリングします。GP毎に文字列のチェックを行い、2種類のチェックを行います (比較元の文字列-derived gaugeと同じor違う)図の例の場合は、その両方を行った場合の図です。 NotificationMatchはderived gaugeに設定される文字列と対象文字列を比較して、最初に一致したときにイベントが発生します。 NotificationDifferはderived gaugeに設定される文字列と対象文字列を比較して、最初に不一致を発見したときイベントが発生します。 つまり、MatchであれDifferであれ、一度イベントが発生された後にイベントは発生しません。 図のevent1回目〜2回目のGPや3回目〜4回目のevent間、4回目以降のeventの各GPでeventは発生しません。

String Monitor
図9.1.2.3-1

発生するイベントについて
表9.1.2.3-1
モジュール 説明
jmx.monitor.string.matches 比較元文字列と最初に一致した
jmx.monitor.string.differs 比較元文字列と最初に不一致になった

9.1.2.4. Alive Check Monitor

サービスのアライブチェックを行います、サービスが正常動作していない(アボート、ストールなど)場合、イベントが発生します。 動作的にはString Monitorと同じです。 GP毎にstatus属性値を取得し、アライブ状態として指定した状態値と最初に一致しない場合、イベントが発生します。 また、一定期間アライブ状態にならない場合もイベントが発生します。

Alive Check Monitor
図9.1.2.4-1

発生するイベントについて
表9.1.2.4-1
モジュール 説明
nec.webotx.monitor.alivecheck.not-alive 前回取得属性値が監視属性値で、今回取得した属性値が監視属性値と異なった
nec.webotx.monitor.alivecheck.not-running 監視属性値でない状態が、monitorRunningWaitPeriod続いている

9.1.3. WebOTX 統計 MBean

モニタリング情報は全て WebOTX 統計 MBean として登録されています。 このMBeanの属性を取得することにより統計情報を取得することができます。 WebOTX 統計 MBean はモニタリング設定を有効にすることにより登録されます。

WebOTX 統計 MBean の一覧については、 [ リファレンス集 運用管理・設定編 > 3. モニタリング > 3.1. WebOTX統計MBean一覧 ] を参照してください。

9.1.3.1. WebOTX 統計 MBean の属性とオペレーション

WebOTX 統計 MBean はルートの統計MBeanを頂点にツリー構造を形成し、 統計情報を保有するモジュール単位で作成されます。 属性としてパフォーマンス情報を保持し、管理するパフォーマンス情報の一覧を取得するオペレーションを提供します。

属性

それぞれのMBeanが保持する属性はJ2EEのManagement仕様で規定されたStatsインタフェースの情報を保持します。 例えばJVMのWebOTX 統計 MBeanはJVMStatsインタフェースで規定されている属性を保持します。

オペレーション

WebOTX 統計 MBeanは必ずgetChildrenメソッドを提供しています。 それぞれのgetChildrenオペレーションを呼び出すことにより、親として管理している統計MBeanのObjectNameのリストを返却します。