10.6.4 トラブルシューティングの資料取得の設定

ここでは,トラブルシューティングの資料を取得するための設定方法について説明します。

<この項の構成>
(1) 資料取得の設定の概要
(2) Webコンテナサーバのログ取得の設定
(3) リダイレクタのログ取得の設定
(4) Cosminexus TPBrokerのログ取得の設定
(5) Cosminexus DABroker Libraryのログ取得の設定
(6) OSの統計情報取得の設定
(7) ユーザダンプ取得の設定
(8) coreダンプ取得の設定
(9) JavaVMの資料取得の設定
(10) Webアプリケーションのユーザログ出力の設定

(1) 資料取得の設定の概要

トラブルシューティングに必要な資料のうち,一部の資料は,運用を開始する前に資料取得のための設定をしておく必要があります。例えば,OSの統計情報,ユーザダンプ(Windowsの場合)またはcoreダンプ(UNIXの場合),JavaVMのガーベージコレクションのログなどは,事前に取得のための設定をしておかないと,取得できません。これらの資料はトラブルシューティングで必要となるため,取得することをお勧めします。

デフォルトの設定で取得できるようになっている資料については,特に設定は不要ですが,ログの出力先やサイズなどを変更したい場合には,ユーザ定義ファイルを編集して,設定を変更してください。

トラブルシューティングの資料取得のための設定を次の表に示します。

表10-26 トラブルシューティングの資料取得のための設定(サーブレットエンジンモードの場合)

資料の種類資料取得のための設定設定の要否設定方法の参照先
性能解析トレースファイル事前に,取得のための設定をしておく必要はありません。日常的なシステム運用の作業で,cprfedコマンドを実行するときに取得条件などを指定します。性能解析トレースファイルの取得については,「10.7.4 システムの処理性能の解析」を参照してください。×
WebコンテナサーバのログWebコンテナサーバ用のusrconf.cfgとusrconf.propertiesで,ログの出力レベル,サイズ,面数などを設定します。(2)
リダイレクタのログmod_jk.conf(Hitachi Web Serverの場合)またはisapi_redirect.conf(Microsoft IISの場合)で,ログの出力レベル,サイズ,面数などを設定します。(3)
Cosminexus TPBrokerのトレースファイルWebコンテナサーバ用のusrconf.cfgとusrconf.propertiesで,トレースファイルの出力先や面数などを設定します。(4)
Cosminexus DABroker Libraryのログ環境設定ユティリティまたはCosminexus DABroker Library動作環境定義ファイルで,ログファイルサイズなどを設定します。(5)
OSの統計情報Windowsの場合,Windowsのシステムモニタでシステムリソースのパフォーマンスデータ取得の設定をします。(6)
ユーザダンプWindowsの場合,ワトソン博士または環境変数(CJMEMDUMP_PATH)で,ユーザダンプ取得の設定をします。(7)
coreダンプUNIXの場合,usrconf.cfgやシェルコマンドで,coreファイル取得の設定をします。(8)
JavaVMの資料Webコンテナサーバ用のusrconf.cfgで,JavaVMのスレッドダンプや日立固有のJavaVMログ(日立JavaVMログファイル)の出力方法や出力内容などの設定をします。(9)
WebアプリケーションのユーザログWebコンテナサーバ用のusrconf.propertiesで,ロガーやハンドラの設定,ログの出力レベル,サイズ,面数などを設定します。また,web.policyで,セキュリティポリシーを設定します。
設定方法は,J2EEアプリケーションの場合と同じです。Webアプリケーションのユーザログ出力については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 拡張編」の「12. アプリケーションのユーザログ出力」を参照してください。ただし,サーブレットエンジンモードの場合は,簡易構築定義ファイルではなく,Webコンテナサーバ用のusrconf.propertiesで設定します。設定時には,簡易構築定義ファイルで設定するパラメタを,Webコンテナサーバ用のusrconf.propertiesのキーに読み替えてください。Webコンテナサーバ用のusrconf.propertiesについては,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「18.4 usrconf.properties(Webコンテナサーバ用ユーザプロパティファイル)」を参照してください。
(10)
(凡例)
○:資料を取得する場合には,設定が必要
△:デフォルトの設定をカスタマイズする場合だけ,設定が必要
×:設定は不要
-:該当しない

なお,次のログはログ出力先を変更できません。

(2) Webコンテナサーバのログ取得の設定

Webコンテナサーバのログの出力先,ログサイズ,ログレベルの変更について説明します。変更できる項目と,項目に対応するユーザ定義ファイルとキーを次の表に示します。

表10-27 Webコンテナサーバのログ取得の設定項目

項目対応するユーザ定義ファイルとキー
ログの出力先usrconf.cfgのweb.server.log.directoryキー
ログサイズusrconf.propertiesのejbserver.logger.channels.define.<チャネル名>.filenumキー
usrconf.propertiesのejbserver.logger.channels.define.<チャネル名>.filesizeキー
ログレベルusrconf.propertiesのejbserver.logger.enabled.*キー

ファイルについては,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「18.1 Webコンテナサーバで使用するファイルの一覧」を参照してください。キーの詳細については,次の個所を参照してください。

(a) ログの出力先の変更

デフォルトのログ出力先を次に示します。

ログの出力先を変更する場合は,usrconf.cfgのweb.server.log.directoryキーでログの出力先ディレクトリを指定します。

設定例
  • Windowsの場合
    web.server.log.directory=C:¥CClogs¥web¥YourServer
  • UNIXの場合
    web.server.log.directory=/CClogs/web/YourServer
カレントディレクトリ
ログ出力先を相対パスで指定する場合のカレントディレクトリを次に示します。
  • Windowsの場合
    <Cosminexusのインストールディレクトリ>¥CC¥web¥containers¥<サーバ名称>
  • UNIXの場合
    /opt/Cosminexus/CC/web/containers/<サーバ名称>
注意事項
  • ログの出力先を変更した場合は,Webコンテナサーバを起動する前に,変更後のログの出力先ディレクトリを作成しておいてください。変更後のログの出力先ディレクトリがない場合は,Webコンテナサーバのサーバ起動時にKDJE40024-Eのメッセージが出力されて異常終了します。
  • 同じマシン内で複数のWebコンテナサーバを起動させている場合は,ログ出力先が同じディレクトリにならないように,ディレクトリにサーバ名称を含めるなど,サーバごとにユニークなディレクトリ名になるようにしてください。なお,キーの値に同じディレクトリを指定した場合は,動作の保証はしません。
  • ログの出力先を変更して作業ディレクトリ以外にログを出力する場合,ログファイルはサーバのアンセットアップ時に削除されません。ログファイルを削除したい場合には,手動で削除してください。
  • ユーザ定義ファイルでログの出力先を設定していても,次の設定が優先されますので,注意してください。
    usrconf.cfgに,add.jvm.arg=-XX:HitachiJavaLog:<JavaVMの保守情報およびガーベージコレクションのログ出力先>キーを指定している場合は,JavaVMの保守情報およびガーベージコレクションのログ出力先に設定したディレクトリに,JavaVMの保守情報およびガーベージコレクションのログファイルが出力されます。
  • ログ出力先には,UNC名を含むパスは指定できません。
(b) ログサイズの変更

ログサイズを変更する場合は,usrconf.propertiesで,ログファイルの面数,およびログファイル1面当たりの最大サイズを設定します。

ログファイル面数の変更
ログファイルの面数は,usrconf.propertiesのejbserver.logger.channels.define.<チャネル名>.filenumキーで設定します。
記述例
ejbserver.logger.channels.define.MessageLogFile.filenum=3
ログファイル1面当たりの最大サイズの変更
ログファイル1面当たりの最大サイズは(単位:バイト),usrconf.propertiesのejbserver.logger.channels.define.<チャネル名>.filesizeキーで設定します。
記述例
ejbserver.logger.channels.define.MessageLogFile.filesize=2097152
(c) ログレベルの変更

ログレベルは,ログの重要度を表します。ログレベルには,「Error」,「Warning」,「Information」,「Debug」の四つがあります。ログレベルを設定すると,設定したレベルのログが出力されます。デフォルトでは,Errorレベルのログだけが取得されます。通常はデフォルトのまま利用してください。

ログレベルは,Webコンテナサーバ用のusrconf.propertiesのejbserver.logger.enabled.*キーで設定します。

ejbserver.logger.enabled.*=<レベル名>

レベル名には,「Error」,「Warning」,「Information」,「Debug」の文字列を一つ,または複数設定します。複数設定する場合には,レベル名の文字列の間をコンマ(,)で区切ります。

記述例
  1. ejbserver.logger.enabled.*=Error
  2. ejbserver.logger.enabled.*=Error,Warning
  3. ejbserver.logger.enabled.*=Error,Warning,Information
  4. ejbserver.logger.enabled.*=Error,Warning,Information,Debug
注意事項
  • 記述例の1.,2.,3.,4.,の順に,取得できるログの件数が増加していきます。複数のログレベルを設定してログを取得すると,性能が劣化し,ログファイルの面の切り替えが頻繁に起こるようになります。
  • レベル名に「Error」,「Warning」,「Information」,「Debug」以外の文字列,または空の値を設定した場合は,KDJE90009-Wのメッセージが出力されます(Errorレベルのログは取得されます)。
ログレベルの推奨設定
ログレベルの推奨設定を次に示します。
  • 通常運用時
    「ejbserver.logger.enabled.*=Error」を指定します。
  • 通常運用時(verbose)
    通常運用時よりも詳細な情報を取得する場合には,「ejbserver.logger.enabled.*=Error,Warning」を指定します。
  • テスト時
    「ejbserver.logger.enabled.*=Error,Warning,Information」を指定します。
  • 障害調査時
    「ejbserver.logger.enabled.*=Error,Warning,Information,Debug」を指定します。

(3) リダイレクタのログ取得の設定

リダイレクタの出力するログの出力先やログ出力レベルなどの変更について説明します。なお,ファイルの詳細およびキーの詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「9.2 isapi_redirect.conf(Microsoft IIS用リダイレクタ動作定義ファイル)」を参照してください。

リダイレクタが出力するログは,メッセージログと保守用トレースログの二つに分けて出力されます。メッセージログには,障害発生時のログなどのメッセージが出力されます。保守用トレースログには,HTTPリクエストを受信し,レスポンスを送信するまでのトレース情報が出力されます。

保守用トレースログのログサイズは,見積もりの計算式に従い,障害発生時から障害を検知しログを収集するまで保持されるサイズにカスタマイズすることをお勧めします。

注意事項
  • ログファイル初期化処理の開始時および終了時には,メッセージログにそれぞれKDJE41029-I,KDJE41030-Iのメッセージが出力されます。Webサーバの起動時には,ログファイル初期化処理が正常に終了したことを確認するため,メッセージログにKDJE41029-I,KDJE41030-Iのメッセージが出力されていることを確認してください。
  • UNIXの場合,mod_jk.confに設定されたファイルサイズ,およびファイル面数のログファイルは,Webサーバとの連携の設定後の初回起動時に作成されます。ログファイルの作成は,ログファイルサイズおよびファイル面数に比例した処理時間が必要となります。ログファイルサイズを大きく設定した場合,またはファイル面数を増やした場合などは,ログファイルの作成処理に数分掛かる場合があります。
(a) Hitachi Web Serverの場合

Hitachi Web Serverを使用している場合は,mod_jk.confでリダイレクタのログ取得の設定を変更できます。なお,UNIXの場合,設定を変更できるのは,root権限(Component Container管理者を設定していない場合),またはComponent Container管理者の権限(Component Container管理者を設定している場合)を持つユーザです。

●変更した設定を有効にする方法

変更した設定を有効にする方法について,OSごとに説明します。

Windowsの場合
変更したリダイレクタのログ取得の設定を有効にするには,Hitachi Web Serverを再起動してください。
UNIXの場合
変更したリダイレクタのログ取得の設定を有効にする方法は,ファイルサイズまたはファイル面数の変更の有無によって異なります。
ファイルサイズまたはファイル面数を変更する場合
ファイルサイズまたはファイル面数を変更する場合に,変更したリダイレクタのログ取得の設定を有効にする方法を次に示します。
  1. Hitachi Web Serverを停止します。
  2. ログファイルおよび管理ファイルを移動または削除します。
    メッセージログファイルの場合:メッセージログファイルおよびHNTRLibが使用する管理ファイル(<JkLogFilePrefixの設定値>.mm)を移動,または削除します。
    保守用トレースログファイルの場合:保守用トレースログファイルおよびHNTRLibが使用する管理ファイル(<JkTrcaeLogFilePrefixの設定値>.mm)を移動,または削除します。
  3. Hitachi Web Serverを再起動します。
なお,HNTRLibが使用する管理ファイルのデフォルトの格納場所は次のとおりです。
/opt/Cosminexus/CC/web/redirector/logs/mmap
ファイルサイズまたはファイル面数を変更しない場合
ファイルサイズまたはファイル面数を変更しない場合は,Hitachi Web Serverを再起動してください。
●変更できる設定項目

変更できる設定項目と,項目に対応するユーザ定義ファイルとキーを次の表に示します。

表10-28 Hitachi Web Serverでのリダイレクタのログ取得の設定項目(サーブレットエンジンモードの場合)

項目mod_jk.confのキー
メッセージログ,保守用トレースログのログ出力レベルJkLogLevel
メッセージログ出力先JkLogFileDir
メッセージログファイルサイズJkLogFileSize
メッセージログファイル面数JkLogFileNum
メッセージログファイル名のプリフィックスJkLogFilePrefix
保守用トレースログ出力の有無JkTraceLog
保守用トレースログ出力先JkTraceLogFileDir
保守用トレースログファイルサイズJkTraceLogFileSize
保守用トレースログファイル面数JkTraceLogFileNum
保守用トレースログファイル名のプリフィックスJkTrcaeLogFilePrefix

注※ 保守用トレースログの出力先とプリフィックスには,同じ値を指定しないでください。同じ値を指定した場合は,リダイレクタが動作しません。


メッセージログ,および保守用トレースログのデフォルトの出力先
  • Windowsの場合
    <Cosminexusのインストールディレクトリ>¥CC¥web¥redirector¥logs
  • UNIXの場合
    /opt/Cosminexus/CC/web/redirector/logs
ログレベルのレベル名
ログレベルのレベル名には,重要度の高い順に「emerg」,「error」,「info」,「debug」のどれかを指定できます。
  • emerg:通常運用時に指定します。常に出力する必要がある重要度の高いメッセージだけが出力されます。
  • error:通常運用時に指定します。
  • info:テスト時に指定します。
  • debug:障害調査時に指定します。
ログレベルは,単独で指定してください(コンマ区切りで複数のログレベルを指定しないでください)。あるログレベルを指定すると,指定されたログレベルおよびそれよりも重要度の高いログが出力されます。
注※ Windowsの場合に指定できます。
ログサイズの見積もりの計算式
GETリクエスト,POSTリクエストの1HTTPアクセス当たりのログサイズは,次の計算式で見積もってください。
  • GETによる1HTTPアクセス当たりのログサイズ
    = 1.75 +(平均レスポンスボディサイズ / 16)* 0.25
  • POSTによる1HTTPアクセス当たりのログサイズ
    = 2.00 +(平均POSTデータサイズ / 16)* 0.5 +(平均レスポンスボディサイズ / 16)* 0.25
なお,単位はすべてキロバイト,除算結果の小数点以下の値はすべて切り捨てです。また,計算式ではリクエストURLとクエリー文字列の平均サイズは,それぞれ100バイトとしています。リクエストURLとクエリー文字列の平均サイズが100バイトを超えた場合は,計算式の最初の値に,超える分のサイズを加えて計算してください。
(b) Microsoft IISの場合

Microsoft IISを使用している場合は,isapi_redirect.confでリダイレクタのログ取得の設定を変更できます。

注意事項
isapi_redirect.confに設定されたファイルサイズ,およびファイル面数のログファイルは,Webサーバとの連携の設定後の初回リクエスト時に作成されます。ログファイルの作成は,ログファイルサイズおよびファイル面数に比例した処理時間が必要となります。ログファイルサイズを大きく設定した場合,またはファイル面数を増やした場合などは,ログファイルの作成処理に数分掛かる場合があります。
Webサーバとの連携の設定後およびログファイルの設定変更後の初回リクエストは,運用を開始する前に実施しておくことをお勧めします。
●変更した設定を有効にする方法

変更したリダイレクタのログ取得の設定を有効にする方法は,Microsoft IISのバージョンによって異なります。

ファイルサイズまたはファイル面数を変更する場合に,変更したリダイレクタのログ取得の設定を有効にするための手順を次に示します。

  1. Microsoft IISを停止します。
  2. ログファイルおよび管理ファイルを移動または削除します。
    メッセージログファイルの場合:メッセージログファイルおよびHNTRLibが使用する管理ファイル(<log_file_prefixの設定値>.mm)を移動,または削除します。
    保守用トレースログファイルの場合:保守用トレースログファイルおよびHNTRLibが使用する管理ファイル(< trace_log_file_prefixの設定値>.mm)を移動,または削除します。
    なお,HNTRLibが使用する管理ファイルのデフォルトの格納場所は次のとおりです。
    <Cosminexus のインストールディレクトリ>¥CC¥web¥redirector¥logs¥mmap
  3. Microsoft IISを起動します。
    ファイルサイズおよびファイル面数を変更しない場合に,変更したリダイレクタのログ取得の設定を有効にするための手順を次に示します。
  4. Microsoft IISを再起動するか,またはワーカプロセスのリサイクルを行います。
    Microsoft IISの「インフォメーション サービス マネージャ」を使用して,ワーカプロセスのリサイクルができます。
●変更できる設定項目

変更できる設定項目と,項目に対応するユーザ定義ファイルとキーを次の表に示します。なお,Microsoft IISのバージョンによっては,キーに指定する値が異なります。isapi_redirect.confについては,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「9.2 isapi_redirect.conf(Microsoft IIS用リダイレクタ動作定義ファイル)」を参照してください。

表10-29 Microsoft IISでのリダイレクタのログ取得の設定項目(サーブレットエンジンモードの場合)

項目isapi_redirect.confのキー
メッセージログ,保守用トレースログのログ出力レベルlog_level
メッセージログ出力先log_file_dir
メッセージログファイルサイズlog_file_size
メッセージログファイル面数log_file_num
メッセージログファイル名のプリフィックスlog_file_prefix
保守用トレースログ出力の有無trace_log
保守用トレースログ出力先trace_log_file_dir
保守用トレースログファイルサイズtrace_log_file_size
保守用トレースログファイル面数trace_log_file_num
保守用トレースログファイル名のプリフィックスtrace_log_file_prefix

注※ 保守用トレースログの出力先とプリフィックスには,同じ値を指定しないでください。同じ値を指定した場合は,リダイレクタが動作しません。


メッセージログ,および保守用トレースログのデフォルトの出力先
<Cosminexusのインストールディレクトリ>¥CC¥web¥redirector¥logs
ログレベルのレベル名
ログレベルのレベル名には,重要度の高い順に「emerg」,「error」,「info」,「debug」のどれかを指定できます。
  • emerg:通常運用時に指定します。常に出力する必要がある重要度の高いメッセージだけが出力されます。
  • error:通常運用時に指定します。
  • info:テスト時に指定します。
  • debug:障害調査時に指定します。
ログレベルは,単独で指定してください(コンマ区切りで複数のログレベルを指定しないでください)。あるログレベルを指定すると,指定されたログレベルおよびそれよりも重要度の高いログが出力されます。
ログサイズの見積もりの計算式
GETリクエスト,POSTリクエストの1HTTPアクセス当たりのログサイズは,次の計算式で見積もってください。
  • GETによる1HTTPアクセス当たりのログサイズ
    = 2.25 + (平均レスポンスボディサイズ / 16) * 0.25
  • POSTによる1HTTPアクセス当たりのログサイズ
    = 2.50 + (平均POSTデータサイズ / 16) * 0.5 + (平均レスポンスボディサイズ / 16) * 0.25
なお,単位はすべてキロバイト,除算結果の小数点以下の値はすべて切り捨てです。また,計算式ではリクエストURLとクエリー文字列の平均サイズは,それぞれ100バイトとしています。リクエストURLとクエリー文字列の平均サイズが100バイトを超えた場合は,計算式の最初の値に,超える分のサイズを加えて計算してください。

(4) Cosminexus TPBrokerのログ取得の設定

Cosminexus TPBrokerのトレースファイルの出力先,ファイル数,エントリ数の変更について説明します。

Cosminexus TPBrokerのトレースファイルのデフォルトの出力先は次のとおりです。

変更できる項目と,項目に対応するユーザ定義ファイルとキーを次に示します。

項目対応するユーザ定義ファイルとキー
トレースファイルの出力先usrconf.cfgのweb.server.log.directoryキー
または
usrconf.propertiesのvbroker.orb.htc.tracePathキー
トレースファイルのファイル数usrconf.propertiesのvbroker.orb.htc.comt.fileCountキー
トレースファイルのエントリ数usrconf.propertiesのvbroker.orb.htc.comt.entryCountキー

ファイルおよびキーの詳細については,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」を参照してください。

注意事項
  • トレースファイルの出力先を変更する場合は,変更後のトレースファイル出力先ディレクトリのサブディレクトリとしてcomtrcとmdltrcをあらかじめ作成しておく必要があります。出力先を変更すると,変更後のログ出力先ディレクトリ下のcomtrcとmdltrcにトレースファイルが出力されます。
  • usrconf.cfgのweb.server.log.directoryキーと,usrconf.propertiesのvbroker.orb.htc.tracePathキーをどちらも設定した場合は,usrconf.propertiesのvbroker.orb.htc.tracePathキーの設定が優先されます。

(5) Cosminexus DABroker Libraryのログ取得の設定

環境設定ユティリティまたはCosminexus DABroker Library動作環境定義ファイルで,ログファイルサイズなどを設定します。環境設定ユティリティまたはCosminexus DABroker Library動作環境定義ファイルの設定については,「11.2 Cosminexus DABroker Libraryの初期設定」を参照してください。

(6) OSの統計情報取得の設定

Windowsのシステムモニタを使用して,システムリソースのパフォーマンスデータを取得できます。システムリソースのパフォーマンスデータを取得するための設定方法は,運用管理ポータルでシステムを構築する場合の設定方法と同じです。詳細については,マニュアル「Cosminexus アプリケーションサーバ 運用管理ポータル操作ガイド」および「3.3.16 OSの統計情報取得の設定」を参照してください。

(7) ユーザダンプ取得の設定

ユーザダンプを取得するための設定は,OSごとに異なります。

●Windows Server 2003,Windows Server 2003 R2,Windows Server 2003(x64),Windows Server 2003 R2(x64)およびWindows XPの場合

ユーザダンプを取得するためには,ワトソン博士を使用できるように設定しておいてください。ユーザダンプを取得するための設定方法は,運用管理ポータルでシステムを構築する場合の設定方法と同じです。詳細については,マニュアル「Cosminexus アプリケーションサーバ 運用管理ポータル操作ガイド」および「3.3.17 ユーザダンプ取得の設定」を参照してください。

●Windows Server 2008,Windows 7,またはWindows Vistaの場合

cjstopwebコマンドの-fdオプションを使用してユーザダンプを取得する場合には,環境変数「CJMEMDUMP_PATH」にユーザダンプの出力先ディレクトリを指定しておいてください。ユーザダンプのファイル名は,cjmemdump.dmpです。

環境変数「CJMEMDUMP_PATH」の設定例を次に示します。

環境変数「CJMEMDUMP_PATH」の設定例

set CJMEMDUMP_PATH=C:¥temp

この例の場合,C:¥tempの下にcjmemdump.dmpが作成されます。

なお,環境変数「CJMEMDUMP_PATH」を指定する場合には,次の点に注意してください。

(8) coreダンプ取得の設定

coreダンプを取得するための設定方法は,運用管理ポータルでシステムを構築する場合の設定方法と同じです。詳細については,マニュアル「Cosminexus アプリケーションサーバ 運用管理ポータル操作ガイド」および「3.3.18 coreダンプ取得の設定」を参照してください。ただし,サーブレットエンジンモードの場合は,簡易構築定義ファイルではなく,Webコンテナサーバ用のusrconf.cfgで設定します。設定時には,簡易構築定義ファイルで設定するパラメタを,Webコンテナサーバ用のusrconf.cfgのキーに読み替えてください。Webコンテナサーバ用のusrconf.cfgについては,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「18.3 usrconf.cfg(Webコンテナサーバ用オプション定義ファイル)」を参照してください。

(9) JavaVMの資料取得の設定

ここでは,次に示すJavaVMの資料を取得するための設定について説明します。

(a) JavaVMのスレッドダンプ取得の設定

JavaVMのスレッドダンプを取得するための設定について説明します。

JavaVMのスレッドダンプに出力される内容は,usrconf.cfg(Webコンテナサーバ用オプション定義ファイル)のadd.jvm.argキーに指定しているJavaVMの起動オプションによって異なります。

JavaVMのスレッドダンプを出力する場合に指定するオプションを次の表に示します。

表10-30 JavaVMのスレッドダンプを取得するために指定するオプション(サーブレットエンジンモードの場合)

オプション説明
-XX:+HitachiThreadDump拡張スレッドダンプを出力します。デフォルトの状態では,出力するように設定されています。
-XX:+HitachiThreadDumpToStdout拡張スレッドダンプを標準出力に出力します。デフォルトの状態では,出力するように設定されています。
-XX:+HitachiThreadDumpWithHashCodeスレッド情報にスレッドのハッシュコードを出力します。デフォルトの状態では,出力するように設定されています。
-XX:+HitachiThreadDumpWithCpuTimeスレッド情報にスレッドを開始してからのユーザCPU時間,およびカーネルCPU時間を出力します。デフォルトの状態では,出力するように設定されています。
-XX:+HitachiThreadDumpWithBlockCountスレッド情報にスレッドが処理をブロックした回数,および処理が待ち状態になった回数を出力します。デフォルトの状態では,出力するように設定されています。
-XX:+HitachiOutOfMemoryAbort
-XX:+HitachiOutOfMemoryAbortThreadDump
どちらも設定されている場合は,OutOfMemoryErrorによって強制終了した時に,スレッドダンプを出力します。ただし,J2SEクラスライブラリでCヒープ不足が発生した場合,およびJavaVMの処理中にCヒープ不足が発生した場合は,スレッドダンプを出力しません。
-XX:+HitachiOutOfMemoryAbortThreadDumpWithJHeapProfOutOfMemoryErrorによって強制終了した時に出力されるスレッドダンプに,クラス別統計情報を出力します。デフォルトでは出力されません。
(b) 日立固有のJavaVMログ取得の設定

日立固有のJavaVMログを取得するための設定について説明します。

日立固有のJavaVMログとは,日立が標準のJavaVMに追加した拡張オプションを使用して取得できるログです。標準のJavaVMよりも,多くのトラブルシュート情報が取得できます。このログファイルを,日立JavaVMログファイルといいます。

日立JavaVMログファイルを取得するためには,usrconf.cfg(Webコンテナサーバ用オプション定義ファイル)のadd.jvm.argキーにJavaVMの起動オプションを指定します。

日立JavaVMログファイルを取得するために指定するオプションを次の表に示します。

表10-31 日立固有のJavaVMログ(日立JavaVMログファイル)を取得するために指定するオプション(サーブレットエンジンモードの場合)

オプション説明
-XX:+HitachiOutOfMemoryStackTrace
-XX:+HitachiVerboseGC
-XX:+HitachiJavaClassLibTrace
三つのオプションのうちどれかを指定している場合に,日立JavaVMログファイルを出力します。
  • -XX:+HitachiOutOfMemoryStackTraceを指定している場合は,例外情報とスタックトレースを日立JavaVMログファイルに出力します。なお,このオプションを指定すると,-XX:+HitachiOutOfMemorySizeおよび-XX:+HitachiOutOfMemoryCauseも同時に指定されます。
  • -XX:+HitachiVerboseGCを指定している場合は,ガーベージコレクションが発生したときに,拡張verbosegc情報を日立JavaVMログファイルに出力します。
  • -XX:+HitachiJavaClassLibTraceを指定している場合は,クラスライブラリのスタックトレースを日立JavaVMログファイルに出力します。

必要に応じて,次の拡張オプションを指定して,日立JavaVMログファイルの出力方法や出力内容を設定してください。

JavaVMのオプションについては,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「18.3 usrconf.cfg(Webコンテナサーバ用オプション定義ファイル)」を参照してください。

(c) 拡張verbosegc機能オプションの設定

ここでは,JavaVMの保守情報(Javaヒープの情報)およびガーベージコレクションのログに拡張verbosegc情報を出力するための設定について説明します。次の表に示すオプションで,拡張verbosegc情報の出力を有効にして,拡張verbosegc情報の出力形式を指定してください。

表10-32 拡張verbosegc情報を出力するために指定するオプション(サーブレットエンジンモードの場合)

オプション説明
-XX:+HitachiVerboseGC拡張verbosegc情報を日立JavaVMログファイルに出力します。
-XX:+HitachiVerboseGCPrintDate拡張verbosegc情報の各行に日付を出力します。
-XX:+HitachiVerboseGCCpuTimeガーベージコレクションの開始から終了までの間で,ガーベージコレクションを実行したスレッドのCPU利用時間を出力します。CPU利用時間は,ユーザモードで費やしたCPU時間とカーネルモードで費やしたCPU時間に分けて出力されます。
-XX:HitachiVerboseGCIntervalTime=<時間間隔(秒)>拡張verbosegc情報の出力間隔を指定します。
-XX:+HitachiVerboseGCPrintCause拡張verbosegc情報に,ガーベージコレクションが発生した要因を出力します。
-XX:+HitachiOutputMilliTime拡張verbosegc情報の各行に日時(ミリ秒まで)を出力します。
-XX:+HitachiCommaVerboseGC拡張verbosegc情報をCSV形式で出力します。
-XX:+HitachiVerboseGCPrintTenuringDistributionSurvivor領域の年齢分布情報を出力します。出力形式や出力情報については,「8.11 Survivor領域の年齢分布情報出力機能」を参照してください。
-XX:+HitachiVerboseGCPrintJVMInternalMemoryJavaVM内部で管理しているヒープ情報を日立JavaVMログファイルに出力します。
-XX:+HitachiVerboseGCPrintThreadCountJavaスレッドの数を監視するために,Javaスレッドの数を日立JavaVMログファイルに出力します。
-XX:+HitachiVerboseGCPrintDeleteOnExitjava.io.File.deleteOnExit()を呼び出したことによってJavaVMが確保した累積のヒープサイズとメソッドの呼び出し回数を,日立JavaVMログファイルに出力します。
注※
HP-UXの場合,このオプションは使用できません。オプションを指定しても無視されます。

拡張verbosegc情報から,そのサーバで必要とするJavaヒープ領域サイズ,Perm領域サイズなどを見積もるための情報を取得できます。

(10) Webアプリケーションのユーザログ出力の設定

ここでは,Webアプリケーションが出力するログを,日立トレース共通ライブラリ形式で出力するための設定方法について説明します。Webアプリケーションのユーザログを出力しない場合は,この設定は不要です。

アプリケーションサーバでは,日立トレース共通ライブラリを使用して,Webアプリケーションが出力するログをアプリケーションサーバの構成ソフトウェアが出力するログと同じ形式(日立トレース共通ライブラリ形式)で出力できます。これによって,システムのログとWebアプリケーションのログを同じ形式で扱うことができるようになり,システム全体のログ運用の信頼性とログ出力の性能を高められます。

Webアプリケーションが出力するログを,日立トレース共通ライブラリ形式で出力する場合は,Webアプリケーションを開発する際に,ログ出力処理を設定する必要があります。また,usrconf.propertiesを編集して,ハンドラからのログの出力先,ログレベル,ログ面数,使用するフィルタ,フォーマッタなどを指定する必要があります。

ユーザログを出力するための設定方法については,マニュアル「Cosminexus アプリケーションサーバ 機能解説 拡張編」の「12. アプリケーションのユーザログ出力」を参照してください。ただし,次の点に注意してください。ただし,サーブレットエンジンモードの場合は,簡易構築定義ファイルではなく,Webコンテナサーバ用のusrconf.propertiesで設定します。設定時には,簡易構築定義ファイルで設定するパラメタを,Webコンテナサーバ用のusrconf.propertiesのキーに読み替えてください。Webコンテナサーバ用のusrconf.propertiesについては,マニュアル「Cosminexus アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「18.4 usrconf.properties(Webコンテナサーバ用ユーザプロパティファイル)」を参照してください。