モニタリングを行うための手順について説明します。
WebOTXでは、モニタリングを行うことでパフォーマンス情報を取得することができます。 デフォルトでは次のようなパフォーマンス情報を提供しています。
パフォーマンス情報 (WebOTX統計MBean) |
説明 |
---|---|
ClientSession | 接続クライアントのパフォーマンス情報です。 |
IIOPListener | IIOPリスナのパフォーマンス情報です。 |
interface | インターフェースのパフォーマンス情報です。 |
javaAsyncMsg | Java非同期メッセージ(非MDB)のパフォーマンス情報です。 |
operation | オペレーションのパフォーマンス情報です。 |
process-group | プロセスグループのパフォーマンス情報です。 |
Queue | キューのパフォーマンス情報です。 |
tpsystem | TPモニタのパフォーマンス情報です。 |
VD | VDリソースのパフォーマンス情報です。 |
また、モニタリングレベルを設定することでさらに詳細なパフォーマンス情報を提供します。 モニタリング設定はモジュール単位で設定することが可能です。 以下にモニタリングを提供するモジュール一覧を示します。 otxadminコマンドによりモニタリングレベルを設定することができます。
モジュール | 既定値 | 説明 |
---|---|---|
コネクタコネクションプール | OFF | コネクションプールに関する統計情報。OFF、LOW、HIGHのいずれかを設定する。 |
EJBコンテナ | OFF | EJBコンテナに関する統計情報。OFF、LOW、HIGHのいずれかを設定する。 |
HTTPサービス | OFF | WebコンテナのHTTPサービスに関する統計情報。OFFもしくはONを設定する。 |
JVM | OFF | JVM(Java Virtual Machine)に関する統計情報。OFF、LOW、HIGHのいずれかを設定する。 |
JMSサービス | OFF | JMSサービスに関する統計情報。OFFもしくはONを設定する。 |
JDBCデータソース | OFF | JDBCデータソースに関する統計情報。OFF、LOW、HIGHのいずれかを設定する。 |
Transactionサービス | OFF | Transactionサービスに関する統計情報。OFF、LOW、HIGHのいずれかを設定する。 |
Webコンテナ | OFF | Webコンテナに関する統計情報。OFF、LOW、HIGHのいずれかを設定する。 |
配備 | OFF | 配備に関する統計情報。OFF、LOW、HIGHのいずれかを設定する。 |
セキュリティ | OFF | セキュリティに関する統計情報。OFF、ONのいずれかを設定する。 |
コネクタサービス | OFF | コネクタサービスに関する統計情報。OFF、LOW、HIGHのいずれかを設定する。 |
コネクタコネクションプールでは次のようなパフォーマンス情報が採取できます。
パフォーマンス情報 (WebOTX統計MBean) |
説明 | 採取できるレベル |
---|---|---|
connector-connection-pool | コネクタコネクションプールのパフォーマンス情報です。 | HIGH |
EJBコンテナでは次のようなパフォーマンス情報が採取できます。
パフォーマンス情報 (WebOTX統計MBean) |
説明 | 採取できるレベル |
---|---|---|
bean-cache | EJBキャッシュのパフォーマンス情報です。 | HIGH |
bean-method | beanメソッドのパフォーマンス情報です。 | HIGH |
bean-pool | EJBプールのパフォーマンス情報です。 | HIGH |
message-driven-bean | MessageDrivenBeanのパフォーマンス情報です。 | HIGH |
singleton-bean | SingletonBeanのパフォーマンス情報です。 | HIGH |
stateful-session-bean | StatefulSessionBeanのパフォーマンス情報です。 | HIGH |
stateless-session-bean | StatelessSessionBeanのパフォーマンス情報です。 | HIGH |
HTTPサービスでは次のようなパフォーマンス情報が採取できます。
パフォーマンス情報 (WebOTX統計MBean) |
説明 | 採取できるレベル |
---|---|---|
connection-queue | Webコンテナのコネクションキューに関するパフォーマンス情報です。 | HIGH |
file-cache | Webコンテナのファイルキャッシュに関するパフォーマンス情報です。 | HIGH |
keep-alive | Webコンテナのキープアライブに関するパフォーマンス情報です。 | HIGH |
request | Webコンテナのリクエストに関するパフォーマンス情報です。 | HIGH |
thread-pool | Webコンテナのスレッドプールに関するパフォーマンス情報です。 | HIGH |
virtualserverinfo | Webコンテナの仮想サーバに関するパフォーマンス情報です。 | HIGH |
JVMでは次のようなパフォーマンス情報が採取できます。
パフォーマンス情報 (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 |
JMSサービスでは次のようなパフォーマンス情報が採取できます。
パフォーマンス情報 (WebOTX統計MBean) |
説明 | 採取できるレベル |
---|---|---|
jms-physical-destination | JMSサービスの物理的送信先ごとのパフォーマンス情報です。 | ON |
jms-service | JMSサービスのパフォーマンス情報です。 | ON |
JDBCデータソースでは次のようなパフォーマンス情報が採取できます。
Wパフォーマンス情報 (WebOTX統計MBean) |
説明 | 採取できるレベル |
---|---|---|
jdbc-datasource | JDBCデータソースのパフォーマンス情報です。 | LOW, HIGH |
Transactionサービスでは次のようなパフォーマンス情報が採取できます。
パフォーマンス情報 (WebOTX統計MBean) |
説明 | 採取できるレベル |
---|---|---|
transaction-service | Transactionサービスのパフォーマンス情報です。 | LOW |
Webコンテナでは次のようなパフォーマンス情報が採取できます。
パフォーマンス情報 (WebOTX統計MBean) |
説明 | 採取できるレベル |
---|---|---|
jsp | JSPのパフォーマンス情報です。 | HIGH |
servlet | サーブレットのパフォーマンス情報です。 | HIGH |
servlet-instance | サーブレットのパフォーマンス情報です。 | HIGH |
session | セッションのパフォーマンス情報です。 | HIGH |
パフォーマンス情報 (WebOTX統計MBean) |
説明 | 採取できるレベル |
---|---|---|
deployment | 配備のパフォーマンス情報です。 | HIGH |
パフォーマンス情報 (WebOTX統計MBean) |
説明 | 採取できるレベル |
---|---|---|
ejb-security | EJBアプリケーションのセキュリティに関するパフォーマンス情報です。 | ON |
security | セキュリティに関するパフォーマンス情報です。 | ON |
security-realm | レルムに関するパフォーマンス情報です。 | ON |
web-security-deployer | Webアプリケーションのセキュリティに関するパフォーマンス情報です。 | ON |
レベルを変更した場合、WebOTX内部のモニタの登録/削除が実行されます。運用管理ツール上は何も変更されません。
統計情報のモニタリングはMonitorMBeanにより行なわれます。MonitorMBeanは管理対象の属性に応じていくつかの種類があります。
Counter Monitorはインクリメントされる整数の属性値をモニタリングします。 granularityPeriod(GP)毎に対象となる数値(1ずつ変化している)のチェックを行い、 しきい値を超えている場合イベント発生となります。 この後、次の最初のしきい値にOffset分の値を加えたものを新しいしきい値とし、再度GP毎のチェックを行います。 例えばリクエスト数など単純に増加する属性などのモニタリングに用います。
図9.1.2.1-1
モジュール | 説明 |
---|---|
jmx.monitor.counter.threshold | 取得した値がthreshold値を超えた |
小数点のある値 (Double, Floatなど)も含め、ゲージのように上下する属性値をモニタリングします。 granularityPeriod(GP)毎に対象となる数値(1ずつ変化している)のチェックを行い、 thresholdHighValueとthresholdLowValueの間を越えた (上限よりも上、もしくは下限より下の値になった)ときにイベントが発生します。 例えばキュー滞留数などの上限チェックに用います。
図9.1.2.2-1
モジュール | 説明 |
---|---|
jmx.monitor.gauge.high | 取得した値が上限値を超えた |
jmx.monitor.gauge.low | 取得した値が下限値を下回った |
文字列が変更されたかをモニタリングします。GP毎に文字列のチェックを行い、2種類のチェックを行います (比較元の文字列-derived gaugeと同じor違う)図の例の場合は、その両方を行った場合の図です。 NotificationMatchはderived gaugeに設定される文字列と対象文字列を比較して、最初に一致したときにイベントが発生します。 NotificationDifferはderived gaugeに設定される文字列と対象文字列を比較して、最初に不一致を発見したときイベントが発生します。 つまり、MatchであれDifferであれ、一度イベントが発生された後にイベントは発生しません。 図のevent1回目〜2回目のGPや3回目〜4回目のevent間、4回目以降のeventの各GPでeventは発生しません。
図9.1.2.3-1
モジュール | 説明 |
---|---|
jmx.monitor.string.matches | 比較元文字列と最初に一致した |
jmx.monitor.string.differs | 比較元文字列と最初に不一致になった |
サービスのアライブチェックを行います、サービスが正常動作していない(アボート、ストールなど)場合、イベントが発生します。 動作的にはString Monitorと同じです。 GP毎にstatus属性値を取得し、アライブ状態として指定した状態値と最初に一致しない場合、イベントが発生します。 また、一定期間アライブ状態にならない場合もイベントが発生します。
図9.1.2.4-1
モジュール | 説明 |
---|---|
nec.webotx.monitor.alivecheck.not-alive | 前回取得属性値が監視属性値で、今回取得した属性値が監視属性値と異なった |
nec.webotx.monitor.alivecheck.not-running | 監視属性値でない状態が、monitorRunningWaitPeriod続いている |
モニタリング情報は全て WebOTX 統計 MBean として登録されています。 このMBeanの属性を取得することにより統計情報を取得することができます。 WebOTX 統計 MBean はモニタリング設定を有効にすることにより登録されます。
WebOTX 統計 MBean の一覧については、 [ リファレンス集 運用管理・設定編 > 3. モニタリング > 3.1. WebOTX統計MBean一覧 ] を参照してください。
WebOTX 統計 MBean はルートの統計MBeanを頂点にツリー構造を形成し、 統計情報を保有するモジュール単位で作成されます。 属性としてパフォーマンス情報を保持し、管理するパフォーマンス情報の一覧を取得するオペレーションを提供します。
それぞれのMBeanが保持する属性はJ2EEのManagement仕様で規定されたStatsインタフェースの情報を保持します。 例えばJVMのWebOTX 統計 MBeanはJVMStatsインタフェースで規定されている属性を保持します。
WebOTX 統計 MBeanは必ずgetChildrenメソッドを提供しています。 それぞれのgetChildrenオペレーションを呼び出すことにより、親として管理している統計MBeanのObjectNameのリストを返却します。