WebOTX Manual V10.2 (第4版) 目次を表示 |
モニタリングを行うための手順について説明します。
WebOTXでは、モニタリングを行うことでパフォーマンス情報を取得することができます。 デフォルトでは次のようなパフォーマンス情報を提供しています。
デフォルトで採取できるパフォーマンス情報 デフォルトで採取できるパフォーマンス情報(Starndardのみ)パフォーマンス情報 (WebOTX統計MBean) |
説明 |
---|---|
ClientSession | 接続クライアントのパフォーマンス情報です。 |
IIOPListener | IIOPリスナのパフォーマンス情報です。 |
interface | インターフェースのパフォーマンス情報です。 |
javaAsyncMsg | Java非同期メッセージ(非MDB)のパフォーマンス情報です。 |
operation | オペレーションのパフォーマンス情報です。 |
process-group | プロセスグループのパフォーマンス情報です。 |
Queue | キューのパフォーマンス情報です。 |
tpsystem | TPモニタのパフォーマンス情報です。 |
また、モニタリングレベルを設定することでさらに詳細なパフォーマンス情報を提供します。 モニタリング設定はモジュール単位で設定することが可能です。 以下にモニタリングを提供するモジュール一覧を示します。 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のいずれかを設定する。 |
WebServer | OFF | WebOTX Webサーバに関する統計情報。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データソースでは次のようなパフォーマンス情報が採取できます。
パフォーマンス情報 (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 |
レベルを変更した場合、WebOTX内部のモニタの登録/削除が実行されます。運用管理ツール上は何も変更されません。
WebServerでは次のようなパフォーマンス情報が採取できます。
パフォーマンス情報 (WebOTX統計MBean) |
説明 | 採取できるレベル |
---|---|---|
web-server | WebOTX Webサーバのパフォーマンス情報です。 | LOW, HIGH |
統計情報のモニタリングは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 の一覧については、 [ WebOTX統計MBean一覧 ] を参照してください。
WebOTX 統計 MBean はルートの統計MBeanを頂点にツリー構造を形成し、 統計情報を保有するモジュール単位で作成されます。 属性としてパフォーマンス情報を保持し、管理するパフォーマンス情報の一覧を取得するオペレーションを提供します。
属性それぞれのMBeanが保持する属性はJ2EEのManagement仕様で規定されたStatsインタフェースの情報を保持します。 例えばJVMのWebOTX 統計 MBeanはJVMStatsインタフェースで規定されている属性を保持します。
オペレーションWebOTX 統計 MBeanは必ずgetChildrenメソッドを提供しています。 それぞれのgetChildrenオペレーションを呼び出すことにより、親として管理している統計MBeanのObjectNameのリストを返却します。
モニタリングを行なうための設定および情報の採取方法について説明します。
統計情報の値(WebOTX統計MBeanの属性値)を参照するには以下の方法があります。
統合運用管理ツール/運用管理コンソールで参照統合運用管理ツール/運用管理コンソールより参照する場合はドメインツリー上の[統計情報]ノードにWebOTX統計MBeanがツリーとして管理されています。 該当するノードを選択するとその統計情報の値を参照できます。 さらに、その統計情報を定期的に取得しグラフ表示したり、 ファイルに保存したりすることができます。
運用管理コマンドで参照運用管理コマンドで参照する場合は、getコマンドを-monitorオプションをつけて参照することができます。
例1) 全ての統計情報の表示
otxadmin> get --monitor *
例2) アプリケーショングループ”apg”、プロセスグループ”pg”の現在のキューイング数の取得
otxadmin> get --monitor tpsystem.applicationGroups.apg.processGroups.pg.queueingCount-Current
別の方法として、monitorコマンドによって定期的に任意の統計情報を参照することができます。
例) エージェントプロセスの JVM に対する統計情報を 10 秒間隔で定期的に取得
otxadmin> monitor --type jvm --interval 10 server
モジュールモニタリングレベルを設定することで、詳細な統計情報が採取できます。モジュールモニタリングレベルの種類については[WebOTXが提供するパフォーマンス情報]を参照してください。
統合運用管理ツール/運用管理コンソールから設定統合運用管理ツール/運用管理コンソールから設定する手順は下記のとおりです。
プロセスグループの統計情報は、既定ではCLINameや統合運用管理ツール/運用管理コンソールのツリーにプロセスIDが含まれます。
例) プロセスIDを含んだCLIName
tpsystem.applicationGroups.apg.processGroups.javaee.processes.1932.jvm.HeapFreeSize-Count=65840592
上記の「1932」の箇所がプロセスIDで、プロセスグループを再起動するたびに値が変わります。 監視ツールやスクリプトファイルなどから統計情報を利用する際、この「プロセスID」を固定化したい場合があります。 固定化するには下記の手順を実施してください。
統合運用管理ツール/運用管理コンソールから設定統合運用管理ツール/運用管理コンソールから設定する手順は下記のとおりです。
運用管理コマンドで設定する場合は、下記のコマンドを実行します。
otxadmin> set server.monitoring-service.use-fixed-value=true
上記の設定を実施後、プロセスグループを再起動するとCLINameが固定化されます。
例) 固定値を含んだCLIName
tpsystem.applicationGroups.apg.processGroups.javaee.processes.1.jvm.HeapFreeSize-Count=65840592
モニタリング機能を使ったWebOTXの監視を利用することによりAPサーバの稼動状況を監視でき、 障害発生時にリアルタイム通知を発生させることが可能となります。 以下に有用なモニタリング使用例について説明します。
JVMヒープサイズのモニタリングJVMヒープサイズを監視することにより、エージェントプロセスのメモリ不足を検出することができます。 メモリ不足により予期せぬエラーが発生することを予防できます。
JDBCデータソースのJDBCコネクション数のモニタリングJDBCデータソースのJDBCコネクション数を監視することにより、 解放漏れによるDBコネクションの増加を検出することができます。 DBコネクション増加によりDBアクセスが出来なくなる事象を予防できます。
キューイング数のモニタリング最大キューイング数の監視を行なうことにより、処理の滞留によるレスポンス遅延を検出することができます。 早期に検出することでレスポンス遅延がシステム全体に影響してしまうことを予防できます。
接続クライアント数のモニタリング接続クライアント数の監視を行なうことにより、 ファイルディスクリプタなどのリソースの枯渇でクライアントからの接続ができなくなることを予防できます。 とくにリッチクライアント構成の場合、ゴーストセッションの増大によるセッション数の増加を検出できます。
分散管理サーバのモニタリングJVMヒープサイズを監視することにより、エージェントプロセスのメモリ不足を検出することができます。 メモリ不足により予期せぬエラーが発生することを予防できます。
注意:モニタリング可能なプロセスはWebOTXのエージェントプロセスです。 Standardでプロセスグループから起動されるプロセスはモニタリングできません。
設定方法JVMのWebOTX統計MBean(CLIName: server.jvm 統合運用管理ツール: [統計情報]-[ドメイン名]-[アプリケーションサーバ]-[JVM])の ヒープサイズ(JvmHeapSize)のカレント値の閾値上限を設定してモニタリングします。
JDBCデータソースのJDBCコネクション数を監視することにより、解放漏れによるDBコネクションの増加を検出することができます。 DBコネクション増加によりDBアクセスが出来なくなる事象を予防できます。
設定方法次のWebOTX統計MBeanの使用中コネクション数(NumConnUsed)のカレント値について、カウンタモニタで閾値上限を設定し、モニタリングします。
エージェントプロセスで動作する場合
CLIName: server.resources.jdbc-datasource.datasource-name
統合運用管理ツールからのツリー: [統計情報]-[ドメイン名]-[アプリケーションサーバ]-[リソース]- [jdbc-datasource.datasource-name]
Standard のプロセスグループで動作する場合
CLIName: tpsystem.applicationGroups.apg_name.processGroups.pg_name.processes.pid.resources.jdbc-datasource.datasource_name
統合運用管理ツールからのツリー: [統計情報]-[ドメイン名]- [TPシステム]-[アプリケーショングループ]- [apg_name] -[プロセスグループ]-[pg_name]-[processes]-[pid]-[resources]- [jdbc-datasource.datasource_name]
最大キューイング数の監視を行なうことにより、処理の滞留によるレスポンス遅延を検出することができます。 早期に検出することでレスポンス遅延がシステム全体に影響してしまうことを予防できます。
設定方法キューイング数の設定はシステムレベルとプロセスグループレベルで行なうことが可能です。
システムレベルでの設定:
WebOTX統計MBean(CLIName: tpsystem.Queue統合運用管理ツール: [統計情報]-[TPシステム]-[キュー] )の最大キュー滞留数(MaxStayMsgNum)のカレント値の閾値上限を設定してモニタリングします。
プロセスグループレベルでの設定:
WebOTX統計MBean(CLIName: tpsystem.applicationGroups.apg_name.processGroups.pg_name統合運用管理ツール: [統計情報]-[ドメイン名]-[TPシステム]-[アプリケーショングループ]-[apg_name]-[プロセスグループ]-[pg_name])の キュー滞留数(queueingCount)のカレント値の閾値上限を設定してモニタリングします
接続クライアント数の監視を行なうことにより、ファイルディスクリプタなどのリソースの枯渇でクライアントからの接続ができなくなることを予防できます。 とくにリッチクライアント構成の場合、ゴーストセッションの増大によるセッション数の増加を検出できます。
設定方法クライアント情報のWebOTX統計MBean(CLIName: tpsystem.ClientSession統合運用管理ツール: [統計情報]-[ドメイン名]-[TPシステム]-[クライアントセッション])接続クライアント数(connectionNum)の カレント値の閾値上限を設定してモニタリングします。