7.7.23 gRPCアダプタ実行時の障害対策
この項では,gRPCアダプタの運用時に発生する障害に対して取得できる情報の種類について説明します。
gRPCアダプタに関する障害情報には次の種類があります。
-
メッセージログ
-
メソッドトレース
-
データトレース
-
性能解析トレース
-
例外ログ
-
gRPC通信ログ
ここでは,これらの障害情報について説明します。
- 〈この項の構成〉
(1) メッセージログ(gRPCアダプタ)
メッセージログのJ2EEサーバの稼働ログに,gRPCアダプタで発生した各種情報がメッセージとして出力されます。
メッセージログについては,「7.4.1 メッセージログ」を参照してください。
メッセージログの出力レベルは,gRPCアダプタ実行環境プロパティファイルのadpgrpc.config.messagelog.levelプロパティで変更できます。gRPCアダプタ実行環境プロパティファイルについては,マニュアル「サービスプラットフォーム リファレンス」の「6.19.1 gRPCアダプタ実行環境プロパティファイル」を参照してください。
(2) メソッドトレース(gRPCアダプタ)
メソッドトレースは,二次情報としてgRPCアダプタが独自に取得します。保守員が障害解析のために使用します。
メソッドトレースの出力に失敗した場合は次のように動作します。
-
トレースの初期化に失敗した場合,メソッドトレースは出力されませんが,gRPCアダプタの開始処理は続行されます。
-
運用中にメソッドトレースの出力に障害が発生した場合,それ以降のメソッドトレースの取得は中止されますが,処理は続行されます。
以降にgRPCアダプタのメソッドトレースについて説明します。
(a) 出力形式
メソッドトレースの出力形式を次の図に示します。
(b) 出力される内容
メソッドトレースに出力される内容を次の表に示します。
項目 |
内容 |
---|---|
番号 |
メソッドトレースの出力通番が表示されます。 |
日付 |
メソッドトレースの取得日付がyyyy/mm/ddの形式で出力されます。
|
時刻 |
メソッドトレースの取得時刻がhh:mm:ss.SSSの形式で出力されます。
ローカル時刻でミリ秒単位の時刻を示します。 |
製品ID |
製品を特定するための識別子として,gRPCアダプタを示す「ADPGRPC」が表示されます。 |
pid |
プロセスを識別するためのIDが出力されます。 |
tid |
スレッドを識別するためのIDが出力されます。 |
ID |
空白 |
種別 |
トレース取得ポイントの種別が出力されます。
|
クラス名 |
トレースを取得するクラス名が出力されます。 30文字未満の場合は左詰めされ,足りない文字はスペースで補われます。 |
メソッド名 |
トレースを取得するメソッド名が出力されます。 30文字未満の場合は左詰めされ,足りない文字はスペースで補われます。 |
入出力情報 |
トレースを取得するメソッドの入出力情報(引数や戻り値の値,例外発生時は例外名など),またはスタックトレースが出力されます。 |
CRLF |
レコード終端符号が出力されます。 |
(c) 出力先
gRPCアダプタのメソッドトレースの出力先を次に示します。
<J2EEサーバのログ出力ディレクトリ>\CSCADP\GRPCADP\maintenance\<サービスID>
<J2EEサーバのログ出力ディレクトリ>は,HCSCサーバが動作するJ2EEサーバ用オプション定義ファイル(usrconf.cfg)のejb.server.log.directoryキーで指定します。詳細は,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.2.2 usrconf.cfg(J2EEサーバ用オプション定義ファイル)」を参照してください。
メソッドトレースのトレースファイル名を次に示します。
トレースファイルの出力モード |
トレースファイル名 |
---|---|
ラップアラウンドモードの場合 |
cscadpgrpcmnt_<HCSCサーバ名>_<面数>.log |
シフトモードの場合 |
cscadpgrpcmnt_<HCSCサーバ名>_.log |
メソッドトレースのローテーションは,次のどちらかの条件に合致した際に実行されます。
-
指定したローテーション時刻に達したとき
ローテーション時刻の指定方法は,Application Serverの設定に従います。詳細については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.2.3 usrconf.properties(J2EEサーバ用ユーザプロパティファイル)」を参照してください。
-
指定したファイルサイズに達したとき
また,メソッドトレースの出力情報は,gRPCアダプタ実行環境プロパティファイルの次に示すプロパティで変更できます。gRPCアダプタ実行環境プロパティファイルについては,マニュアル「サービスプラットフォーム リファレンス」の「6.19.1 gRPCアダプタ実行環境プロパティファイル」を参照してください。
-
adpgrpc.config.methodtrace.level=出力レベル
-
adpgrpc.config.methodtrace.filenum=ファイル面数
-
adpgrpc.config.methodtrace.filesize=ファイルサイズ
変更方法の詳細については,マニュアル「サービスプラットフォーム 開発ガイド 受付・アダプタ定義編」の「3.3.17 gRPCアダプタを定義する」のgRPCアダプタ実行環境プロパティファイルの作成に関する説明を参照してください。
(3) データトレース(gRPCアダプタ)
データトレースは,二次情報としてgRPCアダプタが独自に取得します。メッセージの正当性の確認や,障害対策に利用できます。デフォルトではデータトレースは出力されません。
データトレースの出力に失敗した場合は次のように動作します。
-
トレースの初期化に失敗した場合,データトレースは出力されませんが,gRPCアダプタの開始処理は続行されます。
-
運用中にデータトレースの出力に障害が発生した場合,それ以降のデータトレースの取得は中止されますが,処理は続行されます。
以降にgRPCアダプタのデータトレースについて説明します。
(a) 出力形式
データトレースの出力形式を次に示します。
(b) 出力される内容
データトレースに出力される内容を次の表に示します。
項目 |
内容 |
---|---|
番号 |
データトレースの出力通番が表示されます。 |
日付 |
データトレースの取得日付がyyyy/mm/ddの形式で出力されます。
|
時刻 |
データトレースの取得時刻がhh:mm:ss.SSSの形式で出力されます。
ローカル時刻でミリ秒単位の時刻を示します。 |
製品ID |
製品を特定するための識別子として,gRPCアダプタを示す「ADPGRPC」が表示されます。 |
pid |
プロセスを識別するためのIDが出力されます。 |
tid |
スレッドを識別するためのIDが出力されます。 |
ID |
空白 |
オペレーション名 |
リクエストで呼び出されたオペレーション名が出力されます。 |
出力種別 |
トレースの取得ポイントの種別が出力されます。
|
メッセージ情報 |
メッセージ情報※2が出力されます。 |
CRLF |
レコード終端符号が出力されます。 |
- 注※1
-
取得される内容を次に示します。
-
gRPCサービスへ送信するメッセージ
gRPCサービスへ送信する要求メッセージ(gRPCクライアントへのデータ送信前のオブジェクト)が取得されます。
-
gRPCサービスから返却されたメッセージ
gRPCサービスから返却された応答メッセージ(gRPCクライアントから受信したオブジェクト)が取得されます。
-
- 注※2
-
メッセージ内のフィールド「フィールド名:フィールド値」が「,(コンマ)」で区切って出力されます。バイナリデータを出力する場合は,Base64変換した文字列が出力されます。
メッセージ情報の出力例を次に示します。
field1:1,field2:abc,field3:1.25
フィールド値が配列の場合,各々の配列要素が「,(コンマ)」で区切られ,「[ ](角括弧)」で囲まれて出力されます。
field:[1,2,3,4]
フィールド値がメッセージ型の場合,「{ }(波括弧)」で囲まれて出力されます。
field:{subfield1:1,subfield2:2}
フィールド値内の「,[]{}:(コンマ,角括弧,波括弧,コロン)」は,連続2文字にエスケープされます。
例えば,fieldの値が「Taro, Yamada [Student] {male:}」の場合は,次のように出力されます。
field:Taro,, Yamada [[Student]] {{male:}}
(c) 出力先
データトレースの出力先を次に示します。
<J2EEサーバのログ出力ディレクトリ>\CSCADP\GRPCADP\maintenance\<サービスID>
<J2EEサーバのログ出力ディレクトリ>は,usrconf.cfg(J2EEサーバ用オプション定義ファイル)のejb.server.log.directoryキーで変更できます。usrconf.cfgの詳細は,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.2.2 usrconf.cfg(J2EEサーバ用オプション定義ファイル)」を参照してください。
データトレースのトレースファイル名を次に示します。
トレースファイルの出力モード |
トレースファイル名 |
---|---|
ラップアラウンドモードの場合 |
dattrace_<面数>.log |
シフトモードの場合 |
dattrace_.log |
データトレースのローテーションは,次のどちらかの条件に合致した際に実行されます。
-
指定したローテーション時刻に達したとき
ローテーション時刻の指定方法は,Application Serverの設定に従います。詳細については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.2.3 usrconf.properties(J2EEサーバ用ユーザプロパティファイル)」を参照してください。
-
指定したファイルサイズに達したとき
また,データトレースの出力情報は,gRPCアダプタ実行環境プロパティファイルの次に示すプロパティで変更できます。gRPCアダプタ実行環境プロパティファイルについては,マニュアル「サービスプラットフォーム リファレンス」の「6.19.1 gRPCアダプタ実行環境プロパティファイル」を参照してください。
-
adpgrpc.config.datatrace.enabled=出力有無
-
adpgrpc.config.datatrace.filenum=ファイル面数
-
adpgrpc.config.datatrace.filesize=ファイルサイズ
変更方法の詳細については,マニュアル「サービスプラットフォーム 開発ガイド 受付・アダプタ定義編」の「3.3.17 gRPCアダプタを定義する」のgRPCアダプタ実行環境プロパティファイルの作成に関する説明を参照してください。
(4) 性能解析トレース(gRPCアダプタ)
性能解析トレースを取得するには設定が必要です。設定の詳細は,マニュアル「アプリケーションサーバ 機能解説 保守/移行編」の「7. 性能解析トレースを使用した性能解析」を参照してください。
(a) 性能解析トレースの出力形式
性能解析トレースファイルに出力される形式は,J2EEサーバの性能解析トレースと同様です。詳細は,マニュアル「アプリケーションサーバ 機能解説 保守/移行編」の「7.3 Management Serverを利用した性能解析トレースファイルの収集」を参照してください。
(b) 出力される内容
性能解析トレースファイルに出力される内容を次の表に示します。
項目 |
ヘッダ |
内容 |
---|---|---|
イベントID |
Event |
取得ポイントのイベントIDが出力されます。 取得ポイントの詳細は,項目「(c) 性能解析トレースの取得ポイント」を参照してください。 |
リターンコード |
Rc |
取得ポイント種別が出力されます。
|
インターフェース名 |
INT |
クラス名が出力されます。 |
オペレーション名 |
OPR |
メソッド名が出力されます。 |
オプション情報 |
OPT |
取得ポイントごとに異なる情報を16進表記で出力します。 |
ASCII |
OPTの内容を文字列の形で出力します。 |
(c) 性能解析トレースの取得ポイント
性能解析トレースの取得ポイントを次の図に示します。
イベントID,トレース取得ポイント,および性能解析トレース取得レベルを次の表に示します。表の「図中の番号」は上の図の番号と対応しています。
イベントID |
図中の番号 |
トレース取得ポイント |
レベル |
---|---|---|---|
0xAB14 |
1 |
gRPCアダプタの入口 |
B |
0xAB15 |
2 |
gRPCアダプタの出口 |
B |
0xAB16 |
3 |
メッセージ送信時 |
A |
0xAB17 |
4 |
メッセージ受信時 |
A |
(5) 例外ログ(gRPCアダプタ)
トレースの開始以降に発生した例外情報(スタックトレース)を例外ログとして別のファイルに出力します。例外ログでは,出力ファイルのパスと出力レベルは設定しないで,出力ファイルのサイズと面数を設定します。
例外ログの出力に失敗した場合は次のように動作します。
-
ログの初期化に失敗した場合,例外ログは出力されませんが,gRPCアダプタの開始処理は続行されます。
-
運用中に例外ログの出力に障害が発生した場合,それ以降の例外ログの取得は中止されますが,処理は続行されます。
gRPCアダプタの例外ログについて説明します。
(a) 例外ログの出力形式
例外ログの出力形式を次の図に示します。
(b) 出力される内容
例外ログに出力される内容を次の表に示します。
項目 |
内容 |
---|---|
番号 |
例外ログの出力通番が表示されます。 |
日付 |
例外ログの取得日付がyyyy/mm/ddの形式で出力されます。
|
時刻 |
例外ログの取得時刻がhh:mm:ss.SSSの形式で出力されます。
ローカル時刻でミリ秒単位の時刻を示します。 |
製品ID |
製品を特定するための識別子として,gRPCアダプタを示す「ADPGRPC」が表示されます。 |
pid |
プロセスを識別するためのIDが出力されます。 |
tid |
スレッドを識別するためのIDが出力されます。 |
ID |
空白 |
スタックトレース情報 |
スタックトレース情報が出力されます。 |
CRLF |
レコードの終端符号が出力されます。 |
(c) 出力先
例外ログの出力先を次に示します。
<J2EEサーバのログ出力ディレクトリ>\CSCADP\GRPCADP\maintenance\<サービスID>
<J2EEサーバのログ出力ディレクトリ>は,usrconf.cfg(J2EEサーバ用オプション定義ファイル)のejb.server.log.directoryキーで変更できます。usrconf.cfgの詳細は,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.2.2 usrconf.cfg(J2EEサーバ用オプション定義ファイル)」を参照してください。
例外ログのログファイル名を次の表に示します。
ログファイルの出力モード |
ログファイル名 |
---|---|
ラップアラウンドモードの場合 |
cscadpgrpcexp_<HCSCサーバ名>_<面数>.log |
シフトモードの場合 |
cscadpgrpcexp_<HCSCサーバ名>_.log |
例外ログのローテーションは,次のどちらかの条件に合致した際に実行されます。
-
指定したローテーション時刻に達したとき
ローテーション時刻の指定方法は,Application Serverの設定に従います。詳細については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.2.3 usrconf.properties(J2EEサーバ用ユーザプロパティファイル)」を参照してください。
-
指定したファイルサイズに達したとき
また,ログファイルの面数は,gRPCアダプタ実行環境プロパティファイルのadpgrpc.config.exptrace.filenumプロパティで指定します。ログファイルのサイズは,gRPCアダプタ実行環境プロパティファイルのadpgrpc.config.exptrace.filesizeプロパティで指定します。
gRPCアダプタ実行環境プロパティファイルの詳細は,マニュアル「サービスプラットフォーム リファレンス」の「6.19.1 gRPCアダプタ実行環境プロパティファイル」を参照してください。
(6) gRPC通信ログ(gRPCアダプタ・gRPCインバウンドアダプタ共通)
gRPC通信ログには,gRPC(OSS)ライブラリが出力するログメッセージを出力します。gRPC通信ログはgRPCインバウンドアダプタと共通で使用します。
gRPC通信ログ機能の初期化に失敗した場合は,メッセージログにKDEC06512-Eメッセージを出力し,gRPC(OSS)ライブラリログは出力しないで処理を続行します。
gRPC(OSS)ライブラリログの出力障害が発生した場合は,出力処理を中止して処理を続行します。
(a) 出力形式
gRPC通信ログの出力形式を次の図に示します。
(b) 出力される内容
gRPC通信ログに出力される内容を次の表に示します。
項目 |
内容 |
---|---|
番号 |
gRPC通信ログの出力通番が表示されます。 |
日付 |
gRPC通信ログの取得日付がyyyy/mm/ddの形式で出力されます。
|
時刻 |
gRPC通信ログの取得時刻がhh:mm:ss.SSSの形式で出力されます。
ローカル時刻でミリ秒単位の時刻を示します。 |
製品ID |
製品を特定するための識別子として,gRPC通信ログを示す「GRPCCMN」が表示されます。 |
pid |
プロセスを識別するためのIDが出力されます。 |
tid |
スレッドを識別するためのIDが出力されます。 |
ID |
空白 |
種別 |
トレース取得ポイントの種別が出力されます。
|
クラス名 |
gRPC通信ログを取得するクラス名が出力されます。 30文字未満の場合は左詰めされ,足りない文字はスペースで補われます。 |
メソッド名 |
gRPC通信ログを取得するメソッド名が出力されます。 30文字未満の場合は左詰めされ,足りない文字はスペースで補われます。 |
入出力情報 |
gRPC(OSS)ライブラリが出力するログ内容が出力されます。 |
CRLF |
レコード終端符号が出力されます。 |
(c) 出力先
gRPC通信ログの出力先を次に示します。
<J2EEサーバのログ出力ディレクトリ>\CSC\maintenance\grpccmn
<J2EEサーバのログ出力ディレクトリ>は,HCSCサーバが動作するJ2EEサーバ用オプション定義ファイル(usrconf.cfg)のejb.server.log.directoryキーで指定します。詳細は,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.2.2 usrconf.cfg(J2EEサーバ用オプション定義ファイル)」を参照してください。
gRPC通信ログのログファイル名を次に示します。
gRPC通信ログの出力モード |
ログファイル名 |
---|---|
ラップアラウンドモードの場合 |
grpccmn_<HCSCサーバ名>_<面数>.log |
シフトモードの場合 |
grpccmn_<HCSCサーバ名>_.log |
gRPC通信ログのローテーションは,次のどちらかの条件に合致した際に実行されます。
-
指定したローテーション時刻に達したとき
ローテーション時刻の指定方法は,Application Serverの設定に従います。詳細については,マニュアル「アプリケーションサーバ リファレンス 定義編(サーバ定義)」の「2.2.3 usrconf.properties(J2EEサーバ用ユーザプロパティファイル)」を参照してください。
-
指定したファイルサイズに達したとき
gRPC通信ログの採取有無,出力レベル,ファイルサイズ,およびファイル面数は,HCSCサーバランタイム定義ファイルの次に示すプロパティで変更できます。
-
grpc-transporttrace-enabled=gRPC通信ログの採取有無
-
grpc-transporttrace-level=gRPC通信ログの出力レベル
-
grpc-transporttrace-filenum=gRPC通信ログの最大面数
-
grpc-transporttrace-filesize=gRPC通信ログの1面当たりの最大サイズ
HCSCサーバランタイム定義ファイルについては,マニュアル「サービスプラットフォーム リファレンス」の「6.5.6 HCSCサーバランタイム定義ファイル」を参照してください。