Cosminexus V9 BPM/ESB基盤 サービスプラットフォーム システム構築・運用ガイド
コマンドアダプタでは,システムの性能を検証したり,障害の原因を解析したりするための情報が,ログファイルまたはトレースファイルに出力されます。コマンドアダプタで出力されるログおよびトレースの種類を次の表に示します。
表7-181 ログ・トレースの種類(コマンドアダプタの場合)
ログ・トレース | 出力情報 | 説明 |
---|---|---|
メッセージログ | コマンドアダプタで発生した各種情報が,メッセージとして出力されます。 | 稼働情報(起動・停止・障害など)をメッセージとして確認できます。なお,メッセージログの出力先は,アプリケーションサーバおよびサービスプラットフォーム全体で共通のため,システムの稼働状況を一括して確認できます。 |
メンテナンスログ | コマンドアダプタ内部の保守情報として,次の情報が出力されます。
|
内部メソッドの発行時刻およびシーケンスを確認できます。 |
性能解析トレース | サービスプラットフォームシステム全体の性能解析トレース取得ポイントで,次の情報が出力されます。
|
サービスリクエスタから要求を受け付けて,実行結果を返却するまでの一連の処理で出力される性能解析情報を基に,サービスプラットフォームシステムの性能を検証できます。 |
例外ログ | コマンドアダプタで発生した例外情報(スタックトレース)が出力されます。 | コマンドアダプタの例外情報を確認できます。障害要因の解析に利用できます。 |
mngsvrutilコマンドやsnapshotlogコマンドでの採取対象にコマンドアダプタを追加するには,snapshotログ収集対象定義ファイルの修正が必要な場合があります。
サービスプラットフォームが提供するほかのサービスアダプタと同じレベルの収集設定とする場合には,次に示す内容をそれぞれのファイルに追記してください。すでに記述されている場合は修正不要です。
${cosminexus.home}/CC/server/public/ejb/.+/logs/CSCADP/ADPCMD/maintenance/.+/cscadpcmdexp_.*\.log &{ejb.public.directory}/ejb/.+/logs/CSCADP/ADPCMD/maintenance/.+/cscadpcmdexp_.*\.log &{ejb.server.log.directory}/CSCADP/ADPCMD/maintenance/.+/cscadpcmdexp_.*\.log ${cosminexus.home}/CSC/custom-adapter/Command/config/.+ ${cosminexus.home}/CSC/custom-adapter/Command/config/.+/.+ |
${cosminexus.home}/CC/server/public/ejb/.+/logs/CSCADP/ADPCMD/maintenance/.+/cscadpcmdmnt_.*\.log &{ejb.public.directory}/ejb/.+/logs/CSCADP/ADPCMD/maintenance/.+/cscadpcmdmnt_.*\.log &{ejb.server.log.directory}/CSCADP/ADPCMD/maintenance/.+/cscadpcmdmnt_.*\.log |
${cosminexus.home}/CSC/custom-adapter/Command/config/.+ ${cosminexus.home}/CSC/custom-adapter/Command/config/.+/.+ |
メッセージログのJ2EEサーバの稼働ログに,コマンドアダプタで発生した各種情報がメッセージとして出力されます。
メッセージログの出力内容や出力先については,「7.4.1 メッセージログ」を参照してください。
コマンドアダプタが出力するメッセージのうち,どのレベルまでメッセージログに出力するかを設定できます。メッセージの情報種別と,設定値との対応を次に示します。
表7-182 メッセージの情報種別と出力レベルとの対応関係
情報種別 | 出力レベル | ||
---|---|---|---|
0 | 10 | 20 | |
エラーメッセージ
|
○ | ○ | ○ |
警告メッセージ
|
△ | ○ | ○ |
インフォメーションメッセージ
|
△ | △ | ○ |
出力レベルは,コマンドアダプタ実行環境プロパティファイルで設定できます。プロパティキーを次の表に示します。
表7-183 メッセージログの出力レベル設定
設定 | キー | デフォルト値 | 指定可能値 |
---|---|---|---|
メッセージログの出力レベル | adpcmd.log.messagelog.level | 10 | 0 10 20 |
メッセージログの出力先を次に示します。
J2EEサーバ稼働ログの出力先に指定されたパス
J2EEサーバ稼働ログの出力先は,HCSCサーバが動作するJ2EEサーバ用オプション定義ファイル(usrconf.cfg)のejb.server.log.directoryキーで指定します。詳細は,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.4 usrconf.properties(J2EEサーバ用ユーザプロパティファイル)」を参照してください。
メッセージログのログファイル名を次の表に示します。
表7-184 メッセージログのログファイル名
ログファイルの出力モード | ログファイル名 |
---|---|
ラップアラウンドモードの場合 | cjmessage<面数>.log※ |
シフトモードの場合 | cjmessage.log※ |
出力ファイル面数は,HCSCサーバが動作するJ2EEサーバ用ユーザプロパティファイル(usrconf.properties)のejbserver.logger.channels.define.<チャネル名>.filenumキーで指定します。詳細は,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.4 usrconf.properties(J2EEサーバ用ユーザプロパティファイル)」を参照してください。
出力ファイルサイズは,HCSCサーバが動作するJ2EEサーバ用ユーザプロパティファイル(usrconf.properties)のejbserver.logger.channels.define.<チャネル名>.filesizeキーで指定します。詳細は,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.4 usrconf.properties(J2EEサーバ用ユーザプロパティファイル)」を参照してください。
コマンドアダプタの内部メソッド発行の時刻やシーケンスを確認できます。保守員が障害解析のために使用します。
どのレベルまでメンテナンスログに出力するかを設定できます。出力する情報種別と,設定値との対応を次の表に示します。
表7-185 メンテナンスログの出力情報種別と出力レベルとの対応関係
情報種別 | 出力レベル | ||||
---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | |
エラー情報,例外発生原因 | ○ | ○ | ○ | ○ | ○ |
主要外部モジュールのインターフェース情報
|
× | ○ | ○ | ○ | ○ |
外部モジュールのインターフェース情報
|
× | × | ○ | ○ | ○ |
主要なコンポーネント内インターフェース情報 | × | × | × | ○ | ○ |
デバッグ情報 | × | × | × | × | ○ |
出力レベルは,コマンドアダプタ実行環境プロパティファイルで設定できます。プロパティキーを次の表に示します。
表7-186 メンテナンスログの出力レベル設定
設定 | キー | デフォルト値 | 指定可能値 |
---|---|---|---|
メンテナンスログの出力レベル | adpcmd.log.methodtrace.level | 3 | 1 2 3 4 5 |
メンテナンスログの出力形式を次の図に示します。
図7-146 メンテナンスログの出力形式(コマンドアダプタ)
メンテナンスログに出力される内容を次の表に示します。
表7-187 メンテナンスログに出力される内容(コマンドアダプタ)
項目 | 内容 |
---|---|
番号 | メンテナンスログの出力通番が表示されます。 |
日付 | メンテナンスログの取得日付がyyyy/mm/ddの形式で出力されます。
|
時刻 | メンテナンスログの取得時刻がhh:mm:ss.SSSの形式で出力されます。
|
製品ID | 製品を特定するための識別子として,コマンドアダプタを示す「ADPCMD」と,バージョン情報が出力されます。 バージョン情報の形式は次のとおりです。
|
pid | プロセスを識別するためのIDが出力されます。 |
tid | スレッドを識別するためのIDが出力されます。 |
ID,種別 | 表示されません。 |
出力種別 | メンテナンスログの取得ポイント情報(取得位置)が出力されます。
|
クラス名 | メンテナンスログを取得するクラス名が出力されます。 |
メソッド名 | メンテナンスログを取得するメソッド名が出力されます。 |
入出力情報 | メンテナンスログを取得するメソッドの入出力情報またはスタックトレースが出力されます。 |
CRLF | レコードの終端符号が出力されます。 |
メンテナンスログの出力先を次に示します。
<J2EEサーバのログ出力ディレクトリ>/CSCADP/ADPCMD/maintenance/<サービスID>
メンテナンスログのログファイル名を次の表に示します。
表7-188 メンテナンスログのログファイル名(コマンドアダプタ)
ログファイルの出力モード | ログファイル名 |
---|---|
ラップアラウンドモードの場合 | cscadpcmdmnt_<HCSCサーバ名>_<面数>.log |
シフトモードの場合 | cscadpcmdmnt_<HCSCサーバ名>_.log |
なお,ログファイルの面数はコマンドアダプタ実行環境プロパティファイル,またはコマンドアダプタ実行環境共通プロパティファイルのadpcmd.log.methodtrace.filenumプロパティ,ログファイルのサイズはadpcmd.log.methodtrace.filesizeプロパティで指定します。
コマンドアダプタ実行環境プロパティファイルの詳細は,マニュアル「サービスプラットフォーム リファレンス」の「コマンドアダプタ実行環境プロパティファイル」を参照してください。コマンドアダプタ実行環境共通プロパティファイルについては,マニュアル「サービスプラットフォーム リファレンス」の「コマンドアダプタ実行環境共通プロパティファイル」を参照してください。
サービスリクエスタから要求を受け付けて,実行結果を返却するまでの一連の処理で出力される性能解析情報を基に,アプリケーションサーバおよびサービスプラットフォームシステムの性能を検証できます。コマンドアダプタの性能解析トレース取得ポイントでは,コマンドアダプタ固有の情報が出力されます。保守員が性能ボトルネックの解析のために使用します。
性能解析トレースファイルに出力される形式は,J2EEサーバの性能解析トレースと同様です。詳細は,マニュアル「アプリケーションサーバ 機能解説 保守/移行編」の「7.3 Management Serverを利用した性能解析トレースファイルの収集」を参照してください。
性能解析トレースの出力先およびトレースファイル名を次の表に示します。
表7-189 性能解析トレースの出力先およびトレースファイル名
トレースの出力先パス | トレースファイル名 |
---|---|
<環境変数PRFSPOOLの設定ディレクトリ>\utt\prf\<PRF識別子>\dcopltrc※ | prf_<n> |
出力ファイル面数のデフォルトは4面です。出力ファイル面数は,運用管理ポータルまたはcprfコマンドで変更できます。運用管理ポータルの詳細はマニュアル「アプリケーションサーバ 運用管理ポータル操作ガイド」を,cprfコマンドの詳細はマニュアル「アプリケーションサーバ リファレンス コマンド編」を参照してください。
運用管理ポータルでファイルサイズを設定した場合,ファイルサイズのデフォルトは32MBです。cprfコマンドでファイルサイズを設定した場合,ファイルサイズのデフォルトは8MBです。ファイルサイズは,運用管理ポータルまたはcprfコマンドで変更できます。運用管理ポータルの詳細はマニュアル「アプリケーションサーバ 運用管理ポータル操作ガイド」を,cprfコマンドの詳細はマニュアル「アプリケーションサーバ リファレンス コマンド編」を参照してください。
性能解析トレースの取得ポイントを次の図に示します。
図7-147 性能解析トレースの取得ポイント(コマンドアダプタ)
イベントID,トレース取得ポイント,および性能解析トレース取得レベルを次の表に示します。表の「図中の番号」は,図中の番号と対応しています。
表7-190 性能解析トレース取得ポイント(コマンドアダプタ)
イベントID | 図中の番号 | トレース取得ポイント | レベル※1 |
---|---|---|---|
0xab06 | 1 | リクエスト受付時 | 標準 |
0xab08 | 2 | 外部コマンド起動時 | 標準 |
0xab09 | 3 | 外部コマンドプロセス完了時※2 | 標準 |
0xab07 | 4 | レスポンス送信時 | 標準 |
例外ログは,保守用ログと同じタイミングで開始・終了し,例外情報(スタックトレース)を採取してファイルに出力します。例外ログファイルの出力先はコマンドアダプタの保守用ログと同じディレクトリであるため,個別には変更できません。
例外ログに出力される形式を次に示します。
図7-148 例外ログの出力形式(コマンドアダプタ)
例外ログに出力される内容を次の表に示します。
項目 | 内容 |
---|---|
番号 | 例外ログの出力通番が表示されます。 |
日付 | 例外ログの取得日付がyyyy/mm/ddの形式で出力されます。
|
時刻 | 例外ログの取得時刻がhh:mm:ss.SSSの形式で出力されます。
|
製品ID | 製品を特定するための識別子として,コマンドアダプタを示す「ADPCMD」が出力されます。 |
pid | プロセスを識別するためのIDが出力されます。 |
tid | スレッドを識別するためのIDが出力されます。 |
ID | 空白 |
スタックトレース情報 | スタックトレース情報が出力されます。 |
CRLF | レコードの終端符号が出力されます。 |
例外ログの出力先を次に示します。
<J2EEサーバのログ出力ディレクトリ>/CSCADP/ADPCMD/maintenance/<サービスID>
例外ログのログファイル名を次の表に示します。
表7-191 例外ログのログファイル名(コマンドアダプタ)
ログファイルの出力モード | ログファイル名 |
---|---|
ラップアラウンドモードの場合 | cscadpcmdexp_<HCSCサーバ名>_<面数>.log |
シフトモードの場合 | cscadpcmdexp_<HCSCサーバ名>_.log |
なお,ログファイルの面数はコマンドアダプタ実行環境プロパティファイル,またはコマンドアダプタ実行環境共通プロパティファイルのadpcmd.log.exptrace.filenumプロパティで,ログファイルのサイズはadpcmd.log.exptrace.filesizeプロパティで指定します。なお,これらのプロパティはコマンドアダプタ実行環境共通プロパティファイルでも指定できます。
コマンドアダプタ実行環境プロパティファイルについては,マニュアル「サービスプラットフォーム リファレンス」の「コマンドアダプタ実行環境プロパティファイル」を参照してください。コマンドアダプタ実行環境共通プロパティファイルについては,マニュアル「サービスプラットフォーム リファレンス」の「コマンドアダプタ実行環境共通プロパティファイル」を参照してください。
外部コマンドプロセスの標準エラー出力への出力内容を,ログファイルで確認できます。
コマンドアダプタごとに,標準エラー出力ログ機能の有効または無効を設定できます。コマンドアダプタ実行環境プロパティファイルのプロパティキーを次の表に示します。
表7-192 標準エラー出力ログの有効または無効の設定
設定 | キー | デフォルト値 | 指定可能値 |
---|---|---|---|
標準エラー出力ログの有効または無効の設定 | adpcmd.log.stderr.enable | true | true false |
標準エラー出力ログを有効にするには,trueを設定します。
コマンドアダプタごとに,標準エラー出力の内容を読み込む際の文字コードを設定できます。コマンドアダプタ実行環境プロパティファイルのプロパティキーを次の表に示します。
表7-193 標準エラー出力の文字コードの設定
設定 | キー | デフォルト値 | 指定可能値 |
---|---|---|---|
標準エラー出力の文字コードの設定 | adpcmd.log.stderr.charset | UTF-8 | UTF-8 MS932 EUC-JP |
標準エラー出力ログの出力形式を次の図に示します。
図7-149 標準エラー出力ログの出力形式
標準エラー出力ログに出力される内容を次の表に示します。
表7-194 標準エラー出力ログに出力される内容(コマンドアダプタ)
項目 | 内容 |
---|---|
番号 | 標準エラー出力ログの出力通番が表示されます。 |
日付 | 標準エラー出力ログの取得日付がyyyy/mm/ddの形式で出力されます。
|
時刻 | 標準エラー出力ログの取得時刻がhh:mm:ss.SSSの形式で出力されます。
|
製品ID | 製品を特定するための識別子として,コマンドアダプタを示す「ADPCMD」と,バージョン情報が出力されます。 バージョン情報の形式は次のとおりです。
|
pid | プロセスを識別するためのIDが出力されます。 |
tid | スレッドを識別するためのID※が出力されます。 |
ID | 標準エラー出力の内容の場合:空白 外部コマンド起動直後:KDEC81622-Iメッセージ |
標準エラー出力 | 標準エラー出力の内容の場合:
|
CRLF | レコードの終端符号が出力されます。 |
外部コマンドプロセスの標準エラー出力ログの出力先を次に示します。
<J2EEサーバのログ出力ディレクトリ>/CSCADP/ADPCMD/maintenance/<サービスID>
標準エラー出力ログのログファイル名を次の表に示します。
表7-195 標準エラー出力ログのログファイル名(コマンドアダプタ)
ログファイルの出力モード | ログファイル名 |
---|---|
ラップアラウンドモードの場合 | cscadpcmdstderr_<HCSCサーバ名>_<面数>.log |
シフトモードの場合 | cscadpcmdstderr_<HCSCサーバ名>_.log |
なお,ログファイルの面数はコマンドアダプタ実行環境プロパティファイル,またはコマンドアダプタ実行環境共通プロパティファイルのadpcmd.log.exptrace.filenumプロパティで,ログファイルのサイズはadpcmd.log.exptrace.filesizeプロパティで指定します。なお,これらのプロパティはコマンドアダプタ実行環境共通プロパティファイルでも指定できます。
外部コマンドの起動から,タイムアウト待ちの間でJavaの例外が内部で発生した場合,外部コマンドプロセスの強制終了を試みます。
強制終了に成功した場合,メッセージログに警告メッセージ(KDEC81559-W)が出力されます。
強制終了に失敗した場合,メッセージログにエラーメッセージ(KDEC81560-E)が出力されます。この場合,外部コマンドプロセスの状態については,システム運用者が確認する必要があります。
コマンドアダプタでは,1リクエストに対して最大3つのスレッドを生成します。
生成するスレッドとスレッド数を次の表に示します。
表7-196 生成するスレッドとスレッド数
スレッドの用途 | 生成スレッド数 | |
---|---|---|
外部コマンド実行中に必要なスレッド | 2 | |
強制終了用スレッド※1 | プロセスタイムアウト発生時※2 | 1 |
外部コマンドプロセス起動後の例外発生時 | 1 |
条件によってはコマンドアダプタ応答後にスレッドが残留します。そのためJ2EEサーバのリソースが枯渇しないように,適切に対処する必要があります。
発生するメッセージと対処方法を次の表に示します。
表7-197 発生メッセージと残留スレッドへの対処
発生メッセージと条件 | 残留スレッド数 | 対処方法 |
---|---|---|
KDEC81553-Eが発生, かつタイムアウト発生時の外部コマンドプロセス強制終了可否が無効のとき |
2 | 必要に応じて起動したプロセスを停止してください。 |
KDEC81561-Eが発生 | 2 | コマンドプロセスからのサブプロセスをバックグラウンドで起動することは禁止事項です。コマンドアダプタから指定するコマンドの処理を見直してください。 バックグラウンドで実行されているサブプロセスを外部から終了させてください。 |
KDEC81557-Eが発生 | 1 | 起動したプロセスの状態を確認してください。また,必要に応じて起動したプロセスを停止してください。 |
KDEC81560-Eが発生 | 1 | 起動したプロセスの状態を確認してください。また,必要に応じて起動したプロセスを停止してください。 |
コマンドアダプタでは,1リクエストに対して最大3つのファイルディスクリプタを消費します。また,コマンドアダプタ応答後も,外部コマンドプロセスが終了しないかぎりファイルディスクリプタは解放されません。必要に応じて起動したプロセスを停止してください。
ファイルディスクリプタ数の見積もり方法については,「付録J.1 ファイルディスクリプタ数の見積もり」を参照してください。
All Rights Reserved. Copyright (C) 2012, 2019, Hitachi, Ltd.