2.3.2 障害検知時コマンドによる資料取得

障害検知時コマンドは,Management Serverが論理サーバの障害を検知したときに,システムによって実行されるコマンドです。障害検知時コマンドを利用して,トラブル発生時のスレッドダンプやユーザダンプの取得などの取得処理を実行することで,トラブル発生時のタイムリーな資料を取得できるようになります。また,障害検知時コマンドを利用すると,次のどちらかのタイミングでsnapshotログを自動収集することもできます。収集するタイミングは設定によって決められます。

障害検知時コマンドには,システム提供の障害検知時コマンドとユーザ作成の障害検知時コマンドの2種類があります。

システム提供の障害検知時コマンド
あらかじめアプリケーションサーバで定義されているコマンドです。システム提供の障害検知時コマンドでは,論理サーバにトラブルが発生した場合に,トラブルが発生した論理サーバのJavaVMのスレッドダンプや性能解析トレースなどを取得します。システム提供の障害検知時コマンドで取得した資料は,snapshotログとして収集できます。
デフォルトの設定では,論理サーバにトラブルが発生した場合にシステム提供の障害検知時コマンドが実行されて,トラブルが発生した論理サーバの停止前にsnapshotログが収集されます。
ユーザ作成の障害検知時コマンド
障害検知時コマンドはユーザが作成することもできます。資料取得に必要な任意の処理を記述したバッチファイルやシェルスクリプトを,障害検知時コマンドとして実行できます。
なお,ユーザ作成の障害検知時コマンドで取得した資料をsnapshotログとして収集するためには,その資料の取得先をsnapshotログの収集先として定義しておく必要があります。

システム提供の障害検知時コマンドの動作設定を変更する場合,またはユーザ作成の障害検知時コマンドを利用する場合に必要な設定については,「3.3.1 障害検知時コマンドによる資料取得の設定(J2EEアプリケーションを実行するシステム)」または「3.3.2 障害検知時コマンドによる資料取得の設定(バッチアプリケーションを実行するシステム)」を参照してください。

ポイント
障害検知時コマンドは,システム構築時に必要な設定がされていない場合,実行されません。次の設定内容を確認してください。
  • mserver.properties(Management Server環境設定ファイル)のcom.cosminexus.mngsvr.sys_cmd.abnormal_end.enabledキーに「true」が設定されている場合,システムで提供されている障害検知時コマンドが実行されます。
  • mserver.properties(Management Server環境設定ファイル)のcom.cosminexus.mngsvr.usr_cmd.abnormal_end.enabledキーに「true」が設定されている場合,ユーザが作成した障害検知時コマンドが実行されます。

ここでは,それぞれで取得できる情報について説明します。

<この項の構成>
(1) システムで提供されている障害検知時コマンドで取得できる情報
(2) ユーザが作成した障害検知時コマンドで取得できる情報

(1) システムで提供されている障害検知時コマンドで取得できる情報

システムで提供されている障害検知時コマンドで取得できる情報について,次の表に示します。障害検知時コマンドで取得できる情報は,障害の種類(システムダウン,またはハングアップ)および使用しているOSによって異なります。

なお,snapshotログでこれらの情報を取得するためには,adminagent.properties(運用管理エージェントプロパティファイル)に必要な設定がされていることが必要です。

障害検知時コマンドで取得できる情報を次に示します。

表2-3 障害検知時コマンドで取得できる情報

論理サーバOS取得できる情報J2EEアプリケーションバッチアプリケーション
プロセスダウンを検出した場合ハングアップを検出した場合
論理パフォーマンストレーサWindows
UNIX
  • バッファの内容を出力したPRFトレースファイル
論理J2EEサーバWindows
  • 性能解析トレースファイル
  • スレッドダンプ
  • 性能解析トレースファイル
UNIX
  • JavaVMのスタックトレース情報
  • 性能解析トレースファイル
  • スレッドダンプ
  • 性能解析トレースファイル
論理SFOサーバWindows
  • 性能解析トレースファイル
  • スレッドダンプ
  • 性能解析トレースファイル
UNIX
  • JavaVMのスタックトレース情報
  • 性能解析トレースファイル
  • スレッドダンプ
  • 性能解析トレースファイル
論理WebサーバWindows
UNIX
  • 性能解析トレースファイル
  • 内部トレース
  • 性能解析トレースファイル
ほかの論理サーバWindows
UNIX
  • 性能解析トレースファイル
  • 性能解析トレースファイル
(凡例)
J2EEアプリケーション:J2EEアプリケーションを実行するシステム
バッチアプリケーション:バッチアプリケーションを実行するシステム
-:該当しない
○:取得できる

注※ バッチサーバは論理J2EEサーバとして定義します。


(2) ユーザが作成した障害検知時コマンドで取得できる情報

ユーザが作成した障害検知時コマンドとして,資料取得に必要な任意の処理を記述したバッチファイルまたはシェルスクリプトを実行できます。例えば,ユーザダンプまたはcoreダンプは,このコマンドの中でdrwtsn32コマンドまたはkillコマンドなどを実行して取得できます。障害検知時コマンドの作成方法については,「3.3.1 障害検知時コマンドによる資料取得の設定(J2EEアプリケーションを実行するシステム)」または「3.3.2 障害検知時コマンドによる資料取得の設定(バッチアプリケーションを実行するシステム)」を参照してください。

なお,ユーザ作成の障害検知時コマンドは,adminagent.properties(運用管理エージェントプロパティファイル)のadminagent.<serverkind>.usr_cmd.abnormal_endキーに指定されているものが実行されます。