第 4 章 運用・保守
4.2 ログ
4.2.3 トレースログ
Webクライアントとの入出力情報、およびプラグインモジュールとの入出力情報をログ(トレースログ)として出力します。
トレースログの出力先や出力内容を変更する場合は、環境定義ファイル(httpd.conf)を使用して設定します。設定方法 については、「3.6 トレースログの設定」を参照してください。
■出力先
インストール直後の初期設定では、トレースログは以下のファイルに出力されます。
(インストールパスはデフォルト)
C:\Interstage\F3FMahs\logs\tracelog (インストールパスはデフォルト)
/var/opt/FJSVahs/logs/tracelog
ポイント
ログファイルのローテーションが行われる場合、トレースログは以下のファイル(初期値)に変名されます。
tracelog.N
Nは通番で、0から始まる連続の番号です。新しいファイルの順に、1番目のファイルの通番は「.0」、N番目のファイルの
通番は「.(N-1)」となります。
■出力タイミング
トレースログは、各トレース情報に対して、以下のタイミングで出力されます。
・ Webクライアントとの入出力情報
- TCPコネクション接続時
- TCPコネクション切断時
- HTTPリクエスト受信時
- HTTPレスポンス送信時
・ プラグインモジュールとの入出力情報
- プラグインモジュールの応答処理関数の呼出し時
- プラグインモジュールの応答処理関数の復帰時
■出力形式
トレースログとして出力されるログの形式を以下に示します。
[日時][プロセスID][スレッドID]イベント 詳細情報
■出力項目
出力形式に対応する各出力項目を以下に示します。
日時
トレース情報の出力日時
「[日/月/西暦:時:分:秒.ミリ秒]」の形式で出力されます。
プロセスID
デーモンプロセスのプロセスID
通信プロセスのプロセスID スレッドID
通信スレッドのスレッドID イベント 詳細情報
各出力契機におけるトレース内容のフォーマットを以下に示します。
出力契機 イベント 詳細情報
TCPコネクション接続時 conn WebクライアントまたはプロキシサーバなどのIPアドレス:ポー ト番号=>
着信したWebサーバのIPアドレス:ポート番号
TCPコネクション切断時 disc
HTTPリクエスト受信時 recv "リクエスト行"
エスケープした文字列に変換して出力されます。
HTTPレスポンス送信時 send ステータスコード
プラグインモジュール応 答処理関数の呼出し時
(注1)
call モジュールソース名(注2)
プラグインモジュール応 答処理関数の復帰時
(注1)
rtn モジュールソース名(復帰コード) (注2)
復帰コードには、以下が出力されます。
・ 本モジュールで応答処理を実行していない場合:-1
・ 本モジュールで応答処理を実行した場合:-1以外
注1)出力対象のプラグインモジュールは、Interstage HTTP Server 2.2の提供モジュール以外のモジュールです。
注2)プラグインモジュールのコンパイル時のソースファイル名です。Interstage Servletサービスが提供するWebサー バコネクタのモジュールソース名は、「mod_jk2.c」と出力されます。
参考
トレースログにより、HTTP Keep-Alive機能の接続保持時間を確認できます。出力されたトレースログにおいて、disc(TCP コネクション切断時のイベント)およびsend(HTTPレスポンス送信時のイベント)の日時を確認し、以下の計算式で算出し ます。
HTTP Keep-Alive機能の接続保持時間 = discの日時 - sendの日時
注)タイムアウト発生時、WebサーバからクライアントへのTCPコネクション切断要求に対して、クライアントからの切断通知 を2秒以内に受信できなかった場合、接続保持時間は、KeepAliveTimeoutディレクティブの設定より2秒長くなることがあ ります。
■出力例
西暦年が「yyyy」の場合の出力例を以下に示します。
[04/Mar/yyyy:18:14:12.449][2700][1624]conn 192.168.0.1:2044=>192.168.0.2:80 [04/Mar/yyyy:18:14:12.449][2700][1624]recv "GET / HTTP/1.1"
[04/Mar/yyyy:18:14:12.489][2700][1624]call mod_jk2.c [04/Mar/yyyy:18:14:12.489][2700][1624]rtn mod_jk2.c(-1) [04/Mar/yyyy:18:14:12.489][2700][1624]send 200
[04/Mar/yyyy:18:14:12.549][2700][1624]recv "GET /fjlogo.gif HTTP/1.1"
[04/Mar/yyyy:18:14:12.549][2700][1624]call mod_jk2.c [04/Mar/yyyy:18:14:12.549][2700][1624]rtn mod_jk2.c(-1)
[04/Mar/yyyy:18:14:12.559][2700][1588]conn 192.168.0.1:2045=>192.168.0.2:80 [04/Mar/yyyy:18:14:12.559][2700][1588]recv "GET /interstage.jpg HTTP/1.1"
[04/Mar/yyyy:18:14:12.559][2700][1588]call mod_jk2.c [04/Mar/yyyy:18:14:12.559][2700][1588]rtn mod_jk2.c(-1) [04/Mar/yyyy:18:14:12.579][2700][1624]send 200
[04/Mar/yyyy:18:14:12.939][2700][1588]send 200
[04/Mar/yyyy:18:14:12.969][2700][1624]recv "GET /istage_j.gif HTTP/1.1"
[04/Mar/yyyy:18:14:12.969][2700][1624]call mod_jk2.c [04/Mar/yyyy:18:14:12.969][2700][1624]rtn mod_jk2.c(-1) [04/Mar/yyyy:18:14:13.120][2700][1624]send 200
[04/Mar/yyyy:18:14:30.973][2700][1588]disc [04/Mar/yyyy:18:14:31.214][2700][1624]disc