2.3.3 snapshotログの収集
システムの構成ソフトウェアがトラブル発生時にそのときの状態を出力したログを,snapshotログといいます。snapshotログには,各種構成ソフトウェアのログのほかに,スレッドダンプ,性能解析トレースなど,システム保守に必要な情報とアプリケーション保守に必要な情報が含まれます。アプリケーションサーバで構築したシステムでは,これらの情報をsnapshotログとして一括収集し,ZIP形式のログファイルとして取得できます。運用管理者は,snapshotログを収集・分析することで,トラブルに対処できます。
障害検知時コマンドの実行とsnapshotログの収集によって,トラブルシューティングに必要な資料は自動収集するように設定されています。デフォルトの設定で収集されない情報をsnapshotログとして収集したい場合には,その資料の取得先をsnapshotログの収集対象として定義してください。デフォルトの設定で収集されない情報については,「付録A snapshotログの収集対象一覧」のsnapshotログの収集可否や収集に関する設定変更の説明を参照してください。
snapshotログの収集対象,出力先ディレクトリや面数などは,システム構築時に設定を変更できます。
ここでは,snapshotログの収集タイミング,収集できる資料,および収集の流れについて説明します。また,任意のタイミングで収集する方法として,運用管理コマンドを使用したsnapshotログの収集についても説明します。なお,snapshotログ収集の設定については,「3.3.3 snapshotログ収集の設定(J2EEアプリケーションを実行するシステム)」,または「3.3.4 snapshotログ収集の設定(バッチアプリケーションを実行するシステム)」を参照してください。
- 〈この項の構成〉
(1) snapshotログの収集タイミング
snapshotログは,自動または任意のタイミングで収集できます。snapshotログの収集のタイミングを次の表に示します。なお,収集できるのは,論理サーバが稼働しているホスト内のsnapshotログです。
分類 |
収集のタイミング |
---|---|
自動的に収集する※1 |
論理サーバが障害時に自動停止される直前※2 |
運用管理ドメインで管理しているJ2EEサーバまたはバッチサーバが障害時に自動再起動される直前※2 |
|
J2EEサーバまたはバッチサーバを手動で一括再起動する直前 |
|
任意のタイミングで収集する |
Management Serverの運用管理コマンド(mngsvrutil)でsnapshotログの収集を実行したとき(実行方法については,「2.3.3(4) 運用管理コマンドを使用したsnapshotログの収集」を参照してください) |
- 参考
-
snapshotログは,次のタイミングでも収集できます。
-
運用管理ポータルの「論理サーバの起動/停止」にある[snapshotログ]画面で[収集]ボタンをクリックした時※1
-
snapshotlogコマンド実行時※2
- 注※1
-
収集できるのは,収集を実行したJ2EEサーバまたはバッチサーバ内のsnapshotログです。
- 注※2
-
Management Serverを使用しているかどうかに関係なく,コマンドは実行できます。
[snapshotログ]画面については,マニュアル「アプリケーションサーバ 運用管理ポータル操作ガイド」の「11.9.5 J2EEサーバのsnapshotログの収集」を,snapshotlogコマンドについては,マニュアル「アプリケーションサーバ リファレンス コマンド編」の「snapshotlog(snapshotログの収集)」を参照してください。
-
(2) snapshotログとして収集できる資料
snapshotログとして収集できる資料について説明します。snapshotログには,システム保守に必要な情報とアプリケーション保守に必要な情報が含まれます。
トラブルシューティングに必要な資料は,資料を保守員へ送付するときのタイミングによって,一次送付資料と二次送付資料に分類されます。snapshotログでは,一次送付資料および二次送付資料を収集できます。また,snapshotlogコマンドを使用して定義送付資料を収集できます。
-
メールの添付資料として送付できるファイルサイズの資料が該当します。メールなどで早急に保守員に送付できます。
-
一次送付資料に加えて,ファイルサイズが比較的大きい資料が該当します。ファイルサイズが比較的大きい資料は資料の送付に時間が掛かるため,別途,保守員に送付する必要があります。
-
定義ファイルの設定誤りを調査するため,定義ファイルだけを収集した資料です。ファイルサイズが小さく,メールなどで早急に保守員に送付できます。なお,この資料はsnapshotlogコマンドを使用して,Management ServerやJ2EEサーバが起動していない状態でも収集できます。
- 注意事項
-
定義送付資料で収集される定義情報中にユーザIDおよびパスワードが含まれる場合があります。
snapshotログとして収集する資料は,snapshotログ収集対象定義ファイルの設定によって変更できます。例えば,ユーザ作成の障害検知時コマンドで出力した情報を収集したい場合には,設定を変更すれば収集対象に加えられます。snapshotログ収集対象定義ファイルはシステム構築時に設定します。
実際の運用環境での収集対象は,次のファイルで確認できます。
-
一次送付資料として取得する内容が定義されています。
snapshotlog.confの格納場所を次に示します。
-
Windowsの場合
<Application Serverのインストールディレクトリ>\manager\config\snapshotlog.conf
-
UNIXの場合
/opt/Cosminexus/manager/config/snapshotlog.conf
-
-
二次送付資料として取得する内容が定義されています。
snapshotlog.2.confの格納場所を次に示します。
-
Windowsの場合
<Application Serverのインストールディレクトリ>\manager\config\snapshotlog.2.conf
-
UNIXの場合
/opt/Cosminexus/manager/config/snapshotlog.2.conf
-
-
定義送付資料として取得する内容が定義されています。
snapshotlog.param.confの格納場所を次に示します。
-
Windowsの場合
<Application Serverのインストールディレクトリ>\manager\config\snapshotlog.param.conf
-
UNIXの場合
/opt/Cosminexus/manager/config/snapshotlog.param.conf
-
ただし,adminagent.properties(運用管理エージェントプロパティファイル)の指定内容によっては,収集できる情報が異なる場合があります。
デフォルトの設定の場合,トラブル発生時に自動的に取得されるsnapshotログには,次の情報が含まれます。
- 一次送付資料
-
-
snapshotログの一次送付資料の収集対象として定義されているディレクトリ下の情報※1
-
J2EEサーバのスレッドダンプ※2
-
インストール情報
-
OSの状態ログ
-
- 二次送付資料
-
-
性能解析トレース※2
-
snapshotログの二次送付資料の収集対象として定義されているディレクトリ下の情報※1
-
インストール情報
-
OSの状態ログ
注※1 snapshotログの収集対象については,「付録A snapshotログの収集対象一覧」を参照してください。
注※2 システムで提供されている障害検知時コマンドで,スレッドダンプおよび性能解析トレースを出力する設定にしている場合に収集できます。
-
- 参考
-
snapshotlogコマンドで収集できるsnapshotログと,Management Serverの運用管理コマンド(mngsvrutil)などで収集できるsnapshotログでは,デフォルトの状態で収集できるファイルが異なります。Management Serverの運用管理コマンド(mngsvrutil)などで収集できるsnapshotログは,デフォルトの状態でインストール情報やOSの状態・ログなどを収集できますが,snapshotlogコマンドでインストール情報やOSの状態・ログなどを収集するためには,コマンド実行時に指定するsnapshotログ収集対象定義ファイルを編集して,snapshotログの収集先を追加する必要があります。
デフォルトの状態で収集できる情報と収集できない情報の例を次に示します。
(a) デフォルトの状態で収集できる情報
デフォルトの状態で収集できる情報の例を次に示します。
- システム保守に必要な情報
-
システム保守に必要な情報として,次に示す構成ソフトウェアの定義ファイルおよびログファイルが収集されます。
-
Component Container※
-
Component Transaction Monitor
-
Developer's Kit for Java
-
Performance Tracer
-
TPBroker
-
Web Services - Security
-
HTTP Server
このほか,トレース共通ライブラリのログ,およびプログラムプロダクト情報(UNIXの場合)も収集します。
注※ SOAPアプリケーション実行基盤の情報も含みます。
-
- アプリケーション保守に必要な情報
-
アプリケーション保守に必要な情報として,Component Containerのメッセージログおよびユーザログを収集します。
次に示す情報についても,デフォルトの状態で収集されます。
- Component Container関連の情報
-
- Windowsの場合
-
<Application Serverのインストールディレクトリ>\CC\server\public下すべて
- UNIXの場合
-
/opt/Cosminexus/CC/server/public下すべて
なお,デフォルトの状態では,構成ソフトウェアのインストール時にデフォルトで作成されたディレクトリがsnapshotログの収集対象として定義されています。ログの出力先を変更している場合は収集先も変更するようにしてください。
(b) デフォルトの状態では収集できない情報
次に示す情報は,デフォルトの状態で運用している場合は収集されません。必要に応じて,取得するように設定してください。
- Windowsの場合
-
- Component Container関連
-
-
EAR/JARファイル(デプロイ/インポートできなかった場合)
-
- Microsoft IIS関連
-
Microsoft IISと連携している場合,次の資料を取得します。
-
C:\inetpub\logs(C:の部分にはシステムドライブを指定します)
-
- OS関連
-
-
システムモニタ関連の資料一式(4.13参照)
-
イベントログ(アプリケーション,システム)
-
OSの稼働資料
winmsd起動画面から[操作]−[テキストファイルとして保存]メニューで資料採取します(5分から10分掛かる場合があります)。
-
- UNIXの場合
-
- Component Container関連
-
-
EAR/JARファイル(デプロイ/インポートできなかった場合)
-
- OS関連
-
-
OSの稼働資料
-
(3) snapshotログ収集の流れ
論理サーバに異常が発生すると,Management Serverから運用管理エージェントに対してsnapshotログ収集のサービス要求が実行されます。snapshotログ収集時に実行される処理の流れを次に示します。なお,設定によって,実行される処理は異なります。
-
システム提供の障害検知時コマンドの実行
-
ユーザ作成の障害検知時コマンドの実行
-
snapshotログ(一次送付資料)の収集
-
snapshotログ(二次送付資料)の収集
マシンの動作環境や,障害の発生状況(想定外の障害が発生した場合など)によっては,snapshotログの収集に時間が掛かることがあります。このため,これらの処理に対して,それぞれタイムアウトが設定できます。
なお,snapshotログの収集に対するタイムアウトは,想定外の障害発生によってsnapshotログの収集に時間が掛かり過ぎる場合に,論理サーバの再起動を優先しなくてはならないような状況が見込まれるときなどに設定してください。snapshotログの収集時にタイムアウトが実行されると,収集処理は強制的に中断され,トラブルシューティングに必要な情報が取得できなくなります。
(4) 運用管理コマンドを使用したsnapshotログの収集
snapshotログは,自動実行されるほか,運用管理コマンド(mngsvrutil)を使用して任意のタイミングで収集できます。
なお,取得できる情報の種類は,トラブル発生時に自動的に収集されるsnapshotログと同じです。「2.3.3(2) snapshotログとして収集できる資料」を参照してください。
ログの出力先については,adminagent.propertiesファイル(運用管理エージェントプロパティファイル)のadminagent.snapshotlog.log_dirキーの値を参照してください。デフォルトの出力先は次のディレクトリです。
-
Windowsの場合
<Managerのログ出力ディレクトリ>\snapshot
-
UNIXの場合
<Managerのログ出力ディレクトリ>/snapshot
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