2.3.3 snapshotログの収集

システムの構成ソフトウェアがトラブル発生時にそのときの状態を出力したログを,snapshotログといいます。snapshotログには,各種構成ソフトウェアのログのほかに,スレッドダンプ,性能解析トレースなど,システム保守に必要な情報とアプリケーション保守に必要な情報が含まれます。アプリケーションサーバで構築したシステムでは,これらの情報をsnapshotログとして一括収集し,ZIP形式のログファイルとして取得できます。運用管理者は,snapshotログを収集・分析することで,トラブルに対処できます。

障害検知時コマンドの実行とsnapshotログの収集によって,トラブルシューティングに必要な資料は自動収集するように設定されています。デフォルトの設定で収集されない情報をsnapshotログとして収集したい場合には,その資料の取得先をsnapshotログの収集対象として定義してください。snapshotログの収集対象,出力先ディレクトリや面数などは,システム構築時に設定を変更できます。

ここでは,snapshotログの収集タイミング,収集できる資料,および収集の流れについて説明します。また,任意のタイミングで収集する方法として,運用管理コマンドを使用したsnapshotログの収集についても説明します。なお,snapshotログ収集の設定については,「3.3.3 snapshotログ収集の設定(J2EEアプリケーションを実行するシステム)」,または「3.3.4 snapshotログ収集の設定(バッチアプリケーションを実行するシステム)」を参照してください。

<この項の構成>
(1) snapshotログの収集タイミング
(2) snapshotログとして収集できる資料
(3) snapshotログ収集の流れ
(4) 運用管理コマンドを使用したsnapshotログの収集

(1) snapshotログの収集タイミング

snapshotログは,自動または任意のタイミングで収集できます。snapshotログの収集のタイミングを次の表に示します。なお,収集できるのは,論理サーバが稼働しているホスト内のsnapshotログです。

表2-4 snapshotログの収集のタイミング

分類収集のタイミング
自動的に収集する※1論理サーバが障害時に自動停止される直前※2
運用管理ドメインで管理しているJ2EEサーバまたはバッチサーバが障害時に自動再起動される直前※2
J2EEサーバまたはバッチサーバを手動で一括再起動する直前
任意のタイミングで収集するManagement Serverの運用管理コマンド(mngsvrutil)でsnapshotログの収集を実行したとき(実行方法については,「(4) 運用管理コマンドを使用したsnapshotログの収集」を参照してください)
注※1
次に示すどちらのタイミングでsnapshotログを収集するかは,システム構築時に設定を変更できます。デフォルトの設定では,論理サーバの停止前にsnapshotログが収集されます。
・論理サーバの停止前
・J2EEサーバの再起動前
注※2
このタイミングでsnapshotログを収集する場合には,Management Serverによって障害検知時コマンドが実行されます。

参考
snapshotログは,次のタイミングでも収集できます。
  • 運用管理ポータルの「論理サーバの起動/停止」にある[snapshotログ]画面で[収集]ボタンをクリックした時※1
  • snapshotlogコマンド実行時※2
注※1
収集できるのは,収集を実行したJ2EEサーバまたはバッチサーバ内のsnapshotログです。
注※2
Management Serverを使用しているかどうかに関係なく,コマンドは実行できます。
[snapshotログ]画面については,マニュアル「Cosminexus アプリケーションサーバ 運用管理ポータル操作ガイド」の「11.10.5 J2EEサーバのsnapshotログの収集」を,snapshotlogコマンドについては,マニュアル「Cosminexus アプリケーションサーバ リファレンス コマンド編」の「snapshotlog(snapshotログの収集)」を参照してください。

(2) snapshotログとして収集できる資料

snapshotログとして収集できる資料について説明します。snapshotログには,システム保守に必要な情報とアプリケーション保守に必要な情報が含まれます。

トラブルシューティングに必要な資料は,資料を保守員へ送付するときのタイミングによって,一次送付資料と二次送付資料に分類されます。snapshotログでは,一次送付資料と二次送付資料を収集できます。

snapshotログとして収集する資料は,snapshotログ収集対象定義ファイルの設定によって変更できます。例えば,ユーザ作成の障害検知時コマンドで出力した情報を収集したい場合には,設定を変更すれば収集対象に加えられます。snapshotログ収集対象定義ファイルはシステム構築時に設定します。

実際の運用環境での収集対象は,次のファイルで確認できます。

ただし,adminagent.properties(運用管理エージェントプロパティファイル)の指定内容によっては,収集できる情報が異なる場合があります。

デフォルトの設定の場合,トラブル発生時に自動的に取得されるsnapshotログには,次の情報が含まれます。

一次送付資料
  • snapshotログの一次送付資料の収集対象として定義されているディレクトリ下の情報※1
  • J2EEサーバおよびSFOサーバのスレッドダンプ※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ログの収集先を追加する必要があります。

デフォルトの状態で収集できる情報と収集できない情報の例を次に示します。

●デフォルトの状態で収集できる情報

デフォルトの状態で収集できる情報の例を次に示します。

システム保守に必要な情報
システム保守に必要な情報として,次に示す構成ソフトウェアの定義ファイルおよびログファイルが収集されます。
  • Cosminexus Component Container
  • Cosminexus Component Transaction Monitor
  • Cosminexus Developer's Kit for Java
  • Cosminexus Performance Tracer
  • Cosminexus TPBroker
  • Cosminexus Web Services - Security
  • Hitachi Web Server
このほか,日立トレース共通ライブラリのログ,およびプログラムプロダクト情報(UNIXの場合)も収集します。
注※ SOAPアプリケーション実行基盤の情報も含みます。
アプリケーション保守に必要な情報
アプリケーション保守に必要な情報として,Cosminexus Component Containerのメッセージログおよびユーザログを収集します。

なお,デフォルトの状態では,構成ソフトウェアのインストール時にデフォルトで作成されたディレクトリがsnapshotログの収集対象として定義されています。ログの出力先を変更している場合は収集先も変更するようにしてください。

●デフォルトの状態では収集できない情報

次に示す情報は,デフォルトの状態で運用している場合は収集されません。必要に応じて,取得するように設定してください。

Windowsの場合
Cosminexus Component Container関連
  • <Cosminexusのインストールディレクトリ>¥CC¥server¥public¥ejb¥<サーバ名称>¥import下すべて
  • <Cosminexusのインストールディレクトリ>¥CC¥server¥public¥ejb¥<サーバ名称>¥rars下すべて
  • <Cosminexusのインストールディレクトリ>¥CC¥server¥public下すべて
  • EAR/JARファイル(デプロイ/インポートできなかった場合)
Microsoft IIS関連
Microsoft IISと連携している場合,次の資料を取得します。
  • C:¥WINNT¥system32¥LogFiles¥W3SVC1(C:の部分にはシステムドライブを指定します)
OS関連
  • システムモニタ関連の資料一式(4.13参照)
  • イベントログ(アプリケーション,システム)
  • OSの稼働資料
    winmsd起動画面から[操作]-[テキストファイルとして保存]メニューで資料採取します(5分から10分掛かる場合があります)。
     
UNIXの場合
Cosminexus Component Container関連
  • /opt/Cosminexus/CC/server/public/ejb/<サーバ名称>/import下すべて
  • /opt/Cosminexus/CC/server/public/ejb/<サーバ名称>/rars下すべて
  • /opt/Cosminexus/CC/server/public下すべて
  • EAR/JARファイル(デプロイ/インポートできなかった場合)
OS関連
  • OSの稼働資料

(3) snapshotログ収集の流れ

論理サーバに異常が発生すると,Management Serverから運用管理エージェントに対してsnapshotログ収集のサービス要求が実行されます。snapshotログ収集時に実行される処理の流れを次に示します。なお,設定によって,実行される処理は異なります。

  1. システム提供の障害検知時コマンドの実行
  2. ユーザ作成の障害検知時コマンドの実行
  3. snapshotログ(一次送付資料)の収集
  4. snapshotログ(二次送付資料)の収集

マシンの動作環境や,障害の発生状況(想定外の障害が発生した場合など)によっては,snapshotログの収集に時間が掛かることがあります。このため,これらの処理に対して,それぞれタイムアウトが設定できます。

なお,snapshotログの収集に対するタイムアウトは,想定外の障害発生によってsnapshotログの収集に時間が掛かり過ぎる場合に,論理サーバの再起動を優先しなくてはならないような状況が見込まれるときなどに設定してください。snapshotログの収集時にタイムアウトが実行されると,収集処理は強制的に中断され,トラブルシューティングに必要な情報が取得できなくなります。

(4) 運用管理コマンドを使用した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