システムの構成ソフトウェアがトラブル発生時にそのときの状態を出力したログを,snapshotログといいます。snapshotログには,各種構成ソフトウェアのログのほかに,スレッドダンプ,性能解析トレースなど,システム保守に必要な情報とアプリケーション保守に必要な情報が含まれます。アプリケーションサーバで構築したシステムでは,これらの情報をsnapshotログとして一括収集し,ZIP形式のログファイルとして取得できます。運用管理者は,snapshotログを収集・分析することで,トラブルに対処できます。
障害検知時コマンドの実行とsnapshotログの収集によって,トラブルシューティングに必要な資料は自動収集するように設定されています。デフォルトの設定で収集されない情報をsnapshotログとして収集したい場合には,その資料の取得先をsnapshotログの収集対象として定義してください。snapshotログの収集対象,出力先ディレクトリや面数などは,システム構築時に設定を変更できます。
ここでは,snapshotログの収集タイミング,収集できる資料,および収集の流れについて説明します。また,任意のタイミングで収集する方法として,運用管理コマンドを使用したsnapshotログの収集についても説明します。なお,snapshotログ収集の設定については,「3.3.3 snapshotログ収集の設定(J2EEアプリケーションを実行するシステム)」,または「3.3.4 snapshotログ収集の設定(バッチアプリケーションを実行するシステム)」を参照してください。
snapshotログは,自動または任意のタイミングで収集できます。snapshotログの収集のタイミングを次の表に示します。なお,収集できるのは,論理サーバが稼働しているホスト内のsnapshotログです。
表2-4 snapshotログの収集のタイミング
分類 | 収集のタイミング |
---|---|
自動的に収集する※1 | 論理サーバが障害時に自動停止される直前※2 |
運用管理ドメインで管理しているJ2EEサーバまたはバッチサーバが障害時に自動再起動される直前※2 | |
J2EEサーバまたはバッチサーバを手動で一括再起動する直前 | |
任意のタイミングで収集する | Management Serverの運用管理コマンド(mngsvrutil)でsnapshotログの収集を実行したとき(実行方法については,「(4) 運用管理コマンドを使用したsnapshotログの収集」を参照してください) |
snapshotログとして収集できる資料について説明します。snapshotログには,システム保守に必要な情報とアプリケーション保守に必要な情報が含まれます。
トラブルシューティングに必要な資料は,資料を保守員へ送付するときのタイミングによって,一次送付資料と二次送付資料に分類されます。snapshotログでは,一次送付資料と二次送付資料を収集できます。
snapshotログとして収集する資料は,snapshotログ収集対象定義ファイルの設定によって変更できます。例えば,ユーザ作成の障害検知時コマンドで出力した情報を収集したい場合には,設定を変更すれば収集対象に加えられます。snapshotログ収集対象定義ファイルはシステム構築時に設定します。
実際の運用環境での収集対象は,次のファイルで確認できます。
ただし,adminagent.properties(運用管理エージェントプロパティファイル)の指定内容によっては,収集できる情報が異なる場合があります。
デフォルトの設定の場合,トラブル発生時に自動的に取得されるsnapshotログには,次の情報が含まれます。
デフォルトの状態で収集できる情報と収集できない情報の例を次に示します。
デフォルトの状態で収集できる情報の例を次に示します。
なお,デフォルトの状態では,構成ソフトウェアのインストール時にデフォルトで作成されたディレクトリがsnapshotログの収集対象として定義されています。ログの出力先を変更している場合は収集先も変更するようにしてください。
次に示す情報は,デフォルトの状態で運用している場合は収集されません。必要に応じて,取得するように設定してください。
論理サーバに異常が発生すると,Management Serverから運用管理エージェントに対してsnapshotログ収集のサービス要求が実行されます。snapshotログ収集時に実行される処理の流れを次に示します。なお,設定によって,実行される処理は異なります。
マシンの動作環境や,障害の発生状況(想定外の障害が発生した場合など)によっては,snapshotログの収集に時間が掛かることがあります。このため,これらの処理に対して,それぞれタイムアウトが設定できます。
なお,snapshotログの収集に対するタイムアウトは,想定外の障害発生によってsnapshotログの収集に時間が掛かり過ぎる場合に,論理サーバの再起動を優先しなくてはならないような状況が見込まれるときなどに設定してください。snapshotログの収集時にタイムアウトが実行されると,収集処理は強制的に中断され,トラブルシューティングに必要な情報が取得できなくなります。
snapshotログは,自動実行されるほか,運用管理コマンド(mngsvrutil)を使用して任意のタイミングで収集できます。
なお,取得できる情報の種類は,トラブル発生時に自動的に収集されるsnapshotログと同じです。「(2) snapshotログとして収集できる資料」を参照してください。
ログの出力先については,adminagent.propertiesファイル(運用管理エージェントプロパティファイル)のadminagent.snapshotlog.log_dirキーの値を参照してください。デフォルトの出力先は次のディレクトリです。
snapshotログを収集するには,運用管理コマンド(mngsvrutil)にサブコマンド「collect」を指定して実行します。-tオプションで指定したホスト内のsnapshotログが収集できます。
コマンドの実行形式と実行例を次に示します。この例では,一次送付ファイルと二次送付ファイルの両方を収集します。<n>には,一次送付資料または二次送付資料のどちらを収集するかを指定します。
mngsvrutil -m <Management Serverのホスト名>[:<ポート番号>] -u <管理ユーザID> -p <管理パスワード> -t <ホスト名> -k host collect snapshot <n> |
mngsvrutil -m mnghost -u user01 -p pw1 -t host01 -k host collect snapshot 1
mngsvrutil -m mnghost -u user01 -p pw1 -t host01 -k host collect snapshot 2