3.6.1 メッセージログ
オンラインの状態を監視するために,次の二つの機能があります。
-
リアルタイム出力機能
-
メッセージログファイルへの出力,および編集出力機能
(1) リアルタイム出力機能
メッセージログファイルに出力されるメッセージログを,リアルタイムに標準出力に出力できます。標準出力に出力するには,ログサービス定義でlog_msg_console=Yと指定します。このとき,メッセージ通番,要求元プロセスのプロセスID,出力要求時の日時などを出力するかどうかを指定できます。
なお,log_msg_consoleオペランドの指定は,オンライン中にlogconコマンドで変更できます。
(2) メッセージログファイルへの出力,および編集出力機能
(a) メッセージログファイルへの出力
OpenTP1は,各システムサービス,MCF,UAPからの出力要求を受けて,メッセージログファイルにメッセージログを出力します。
メッセージログファイルには$DCDIR/spool/dclog1と$DCDIR/spool/dclog2の二つがあります。二つのファイルはラウンドロビン方式で使用され,1世代前のメッセージ情報が保証されます。ファイルが切り替わるときには,その旨のメッセージが出力されます。ファイルを保存する必要がある場合は,上書きされる前にバックアップしてください。
(b) メッセージログ編集出力機能
logcatコマンドを実行すると,メッセージログファイル中のメッセージを標準出力に出力できます。このとき,$DCDIR/spool/dclog1と$DCDIR/spool/dclog2の二つのファイルのメッセージが時間順にマージされ,古いものから順に出力されます。
(c) ログ出力量に関する注意事項
ログの出力量が多い場合には,次に示す弊害が発生するおそれがあります。OpenTP1を運用する際には,障害発生時にメッセージの出力量が激しく上昇しないような注意が必要です。
-
dc_logprint関数およびCBLDCLOG('PRINT')のリターンが遅くなる
これはトランザクション処理時間が延びることを意味し,全体をスローダウンさせる要因になります。
-
ログ出力処理に大量のCPUを消費する
システム定義の指定によってOpenTP1のログ出力以外にOSのsyslogfileやJP1にメッセージを渡すためにCPU消費が上昇する傾向が現れます。
-
運用監視に支障がでる可能性がある
大量のメッセージ出力によって,運用監視をするためにメッセージを収集しているプログラムが処理に追い付けなくなる可能性があります。