Hitachi

Cosminexus V11 BPM/ESB基盤 サービスプラットフォーム システム構築・運用ガイド


7.7.23 gRPCアダプタ実行時の障害対策

この項では,gRPCアダプタの運用時に発生する障害に対して取得できる情報の種類について説明します。

gRPCアダプタに関する障害情報には次の種類があります。

ここでは,これらの障害情報について説明します。

〈この項の構成〉

(1) メッセージログ(gRPCアダプタ)

メッセージログのJ2EEサーバの稼働ログに,gRPCアダプタで発生した各種情報がメッセージとして出力されます。

メッセージログについては,「7.4.1 メッセージログ」を参照してください。

メッセージログの出力レベルは,gRPCアダプタ実行環境プロパティファイルのadpgrpc.config.messagelog.levelプロパティで変更できます。gRPCアダプタ実行環境プロパティファイルについては,マニュアル「サービスプラットフォーム リファレンス」の「6.19.1 gRPCアダプタ実行環境プロパティファイル」を参照してください。

(2) メソッドトレース(gRPCアダプタ)

メソッドトレースは,二次情報としてgRPCアダプタが独自に取得します。保守員が障害解析のために使用します。

メソッドトレースの出力に失敗した場合は次のように動作します。

以降にgRPCアダプタのメソッドトレースについて説明します。

(a) 出力形式

メソッドトレースの出力形式を次の図に示します。

図7‒179 メソッドトレースの出力形式

[図データ]

(b) 出力される内容

メソッドトレースに出力される内容を次の表に示します。

表7‒253 メソッドトレースに出力される項目(gRPCアダプタ)

項目

内容

番号

メソッドトレースの出力通番が表示されます。

日付

メソッドトレースの取得日付がyyyy/mm/ddの形式で出力されます。

  • yyyy:西暦年

  • mm:月

  • dd:日

時刻

メソッドトレースの取得時刻がhh:mm:ss.SSSの形式で出力されます。

  • hh:時

  • mm:分

  • ss:秒

  • SSS:ミリ秒

ローカル時刻でミリ秒単位の時刻を示します。

製品ID

製品を特定するための識別子として,gRPCアダプタを示す「ADPGRPC」が表示されます。

pid

プロセスを識別するためのIDが出力されます。

tid

スレッドを識別するためのIDが出力されます。

ID

空白

種別

トレース取得ポイントの種別が出力されます。

  • BGN:メソッドの開始

  • END:メソッドの終了

  • CAL:メソッドの呼び出し

  • RET:メソッドの戻り

  • THR:例外のthrow

  • CTH:例外のcatch

  • DBG:デバッグ情報

クラス名

トレースを取得するクラス名が出力されます。

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サーバ用オプション定義ファイル)」を参照してください。

メソッドトレースのトレースファイル名を次に示します。

表7‒254 メソッドトレースのトレースファイル名(gRPCアダプタ)

トレースファイルの出力モード

トレースファイル名

ラップアラウンドモードの場合

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アダプタのデータトレースについて説明します。

(a) 出力形式

データトレースの出力形式を次に示します。

図7‒180 データトレースの出力形式(gRPCアダプタ)

[図データ]

(b) 出力される内容

データトレースに出力される内容を次の表に示します。

表7‒255 データトレースに出力される項目(gRPCアダプタ)

項目

内容

番号

データトレースの出力通番が表示されます。

日付

データトレースの取得日付がyyyy/mm/ddの形式で出力されます。

  • yyyy:西暦年

  • mm:月

  • dd:日

時刻

データトレースの取得時刻がhh:mm:ss.SSSの形式で出力されます。

  • hh:時

  • mm:分

  • ss:秒

  • SSS:ミリ秒

ローカル時刻でミリ秒単位の時刻を示します。

製品ID

製品を特定するための識別子として,gRPCアダプタを示す「ADPGRPC」が表示されます。

pid

プロセスを識別するためのIDが出力されます。

tid

スレッドを識別するためのIDが出力されます。

ID

空白

オペレーション名

リクエストで呼び出されたオペレーション名が出力されます。

出力種別

トレースの取得ポイントの種別が出力されます。

  • CAL:gRPCサービスへ送信するメッセージ※1

  • RET:gRPCサービスから返却されたメッセージ※1

メッセージ情報

メッセージ情報※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サーバ用オプション定義ファイル)」を参照してください。

データトレースのトレースファイル名を次に示します。

表7‒256 データトレースのトレースファイル名(gRPCアダプタ)

トレースファイルの出力モード

トレースファイル名

ラップアラウンドモードの場合

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) 出力される内容

性能解析トレースファイルに出力される内容を次の表に示します。

表7‒257 性能解析トレースファイルに出力される内容(gRPCアダプタ)

項目

ヘッダ

内容

イベントID

Event

取得ポイントのイベントIDが出力されます。

取得ポイントの詳細は,項目「(c) 性能解析トレースの取得ポイント」を参照してください。

リターンコード

Rc

取得ポイント種別が出力されます。

  • 0:正常終了

  • 1:異常終了

インターフェース名

INT

クラス名が出力されます。

オペレーション名

OPR

メソッド名が出力されます。

オプション情報

OPT

取得ポイントごとに異なる情報を16進表記で出力します。

ASCII

OPTの内容を文字列の形で出力します。

(c) 性能解析トレースの取得ポイント

性能解析トレースの取得ポイントを次の図に示します。

図7‒181 性能解析トレースの取得ポイント(gRPCアダプタ)

[図データ]

イベントID,トレース取得ポイント,および性能解析トレース取得レベルを次の表に示します。表の「図中の番号」は上の図の番号と対応しています。

表7‒258 性能解析トレースの取得ポイント(gRPCアダプタ)

イベントID

図中の番号

トレース取得ポイント

レベル

0xAB14

1

gRPCアダプタの入口

B

0xAB15

2

gRPCアダプタの出口

B

0xAB16

3

メッセージ送信時

A

0xAB17

4

メッセージ受信時

A

(凡例)

A:「標準」であることを示します。

B:「詳細」であることを示します。

(5) 例外ログ(gRPCアダプタ)

トレースの開始以降に発生した例外情報(スタックトレース)を例外ログとして別のファイルに出力します。例外ログでは,出力ファイルのパスと出力レベルは設定しないで,出力ファイルのサイズと面数を設定します。

例外ログの出力に失敗した場合は次のように動作します。

gRPCアダプタの例外ログについて説明します。

(a) 例外ログの出力形式

例外ログの出力形式を次の図に示します。

図7‒182 例外ログの出力形式(gRPCアダプタ)

[図データ]

(b) 出力される内容

例外ログに出力される内容を次の表に示します。

表7‒259 例外ログに出力される内容(gRPCアダプタ)

項目

内容

番号

例外ログの出力通番が表示されます。

日付

例外ログの取得日付がyyyy/mm/ddの形式で出力されます。

  • yyyy:西暦年

  • mm:月

  • dd:日

時刻

例外ログの取得時刻がhh:mm:ss.SSSの形式で出力されます。

  • 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サーバ用オプション定義ファイル)」を参照してください。

例外ログのログファイル名を次の表に示します。

表7‒260 例外ログのログファイル名(gRPCアダプタ)

ログファイルの出力モード

ログファイル名

ラップアラウンドモードの場合

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通信ログに出力される内容を次の表に示します。

表7‒261 gRPC通信ログに出力される項目(gRPCアダプタ・gRPCインバウンドアダプタ共通)

項目

内容

番号

gRPC通信ログの出力通番が表示されます。

日付

gRPC通信ログの取得日付がyyyy/mm/ddの形式で出力されます。

  • yyyy:西暦年

  • mm:月

  • dd:日

時刻

gRPC通信ログの取得時刻がhh:mm:ss.SSSの形式で出力されます。

  • hh:時

  • mm:分

  • ss:秒

  • SSS:ミリ秒

ローカル時刻でミリ秒単位の時刻を示します。

製品ID

製品を特定するための識別子として,gRPC通信ログを示す「GRPCCMN」が表示されます。

pid

プロセスを識別するためのIDが出力されます。

tid

スレッドを識別するためのIDが出力されます。

ID

空白

種別

トレース取得ポイントの種別が出力されます。

  • THR:例外のthrow

  • DBG:デバッグ情報

クラス名

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通信ログのログファイル名を次に示します。

表7‒262 gRPC通信ログのログファイル名(gRPCアダプタ・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サーバランタイム定義ファイル」を参照してください。