Webクライアントとの入出力情報、およびプラグインモジュールとの入出力情報をログ(トレースログ)として出力します。
初期設定では、以下に示す出力先に出力する設定になっています。出力の設定を変更する場合、環境定義ファイル(httpd.conf)を使用して設定します。設定方法については、「3.2.6 トレースログの設定」を参照してください。
トレースログは、以下のファイル(初期値)に出力されます。
(インストールパスはデフォルト)
C:\Interstage\F3FMihs\servers\(Webサーバ名)\logs\tracelog
(インストールパスはデフォルト)
/var/opt/FJSVihs/servers/(Webサーバ名)/logs/tracelog
/var/opt/FJSVihs/servers/(Webサーバ名)/logs/tracelog
ポイント
ログファイルのローテーションが行われる場合、トレースログは以下のファイル(初期値)に変名されます。
tracelog.N
Nは通番です。0から始まる連続の番号であり、新しいファイルの順に、1番目のファイルの通番は「.0」、N番目のファイルの通番は「.(N-1)」となります。
トレースログは、各トレース情報に対して、以下のタイミングで出力されます。
Webクライアントとの入出力情報
TCPコネクション接続時
TCPコネクション切断時
HTTPリクエスト受信時
HTTPレスポンス送信時
プラグインモジュールとの入出力情報
プラグインモジュールの応答処理関数の呼出し時
プラグインモジュールの応答処理関数の復帰時
トレースログとして出力されるログの形式を以下に示します。
[日時][プロセスID][スレッドID]イベント 詳細情報
[日時][プロセスID]イベント 詳細情報
出力形式に対応する各出力項目を以下に示します。
トレース情報の出力日時
「[日/月/西暦:時:分:秒.ミリ秒]」の形式で出力されます。
デーモンプロセスのプロセスID
通信プロセスのプロセスID
通信スレッドのスレッドID
各出力契機におけるトレース内容のフォーマットを以下に示します。
出力契機 | イベント | 詳細情報 |
---|---|---|
TCPコネクション接続時 | conn | WebクライアントまたはプロキシサーバなどのIPアドレス:ポート番号=> |
TCPコネクション切断時 | disc | |
HTTPリクエスト受信時 | recv | 「リクエスト行」 |
HTTPレスポンス送信時 | send | ステータスコード |
プラグインモジュール応答処理関数の呼出し時(注1) | call | モジュールソース名(注2) |
プラグインモジュール応答処理関数の復帰時(注1) | rtn | モジュールソース名(復帰コード) (注2)
|
注1)出力対象となるプラグインモジュールは、Interstage HTTP Serverの提供モジュール以外です。
注2)モジュールソース名は、プラグインモジュールのコンパイル時のソースファイル名です。
参考
トレースログにより、HTTP Keep-Alive機能の接続保持時間を確認できます。出力されたトレースログにおいて、disc(TCPコネクション切断時のイベント)およびsend(HTTPレスポンス送信時のイベント)の日時を確認し、以下の計算式で算出します。
HTTP Keep-Alive機能の接続保持時間 = discの日時 - sendの日時
注)タイムアウト発生時、WebサーバからクライアントへのTCPコネクション切断要求に対して、クライアントからの切断通知を2秒以内に受信できなかった場合、接続保持時間は、KeepAliveTimeoutディレクティブの設定より2秒長くなることがあります。
西暦年が「yyyy」、モジュールソース名が「sample.c」の場合の出力例を以下に示します。
[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 sample.c [04/Mar/yyyy:18:14:12.489][2700][1624]rtn sample.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 sample.c [04/Mar/yyyy:18:14:12.549][2700][1624]rtn sample.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 sample.c [04/Mar/yyyy:18:14:12.559][2700][1588]rtn sample.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 sample.c [04/Mar/yyyy:18:14:12.969][2700][1624]rtn sample.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
[04/Mar/yyyy:19:05:28.086][26042]conn 192.168.1.1:1220=>192.168.1.2:80 [04/Mar/yyyy:19:05:28.086][26042]recv "GET / HTTP/1.1" [04/Mar/yyyy:19:05:28.086][26042]call sample.c [04/Mar/yyyy:19:05:28.086][26042]rtn sample.c(-1) [04/Mar/yyyy:19:05:28.089][26042]send 200 [04/Mar/yyyy:19:05:28.095][26042]recv "GET /fjlogo.gif HTTP/1.1" [04/Mar/yyyy:19:05:28.095][26042]call sample.c [04/Mar/yyyy:19:05:28.095][26042]rtn sample.c(-1) [04/Mar/yyyy:19:05:28.095][26042]send 200 [04/Mar/yyyy:19:05:28.097][26043]conn 192.168.1.1:1221=>192.168.1.2:80 [04/Mar/yyyy:19:05:28.097][26043]recv "GET /interstage.jpg HTTP/1.1" [04/Mar/yyyy:19:05:28.097][26043]call sample.c [04/Mar/yyyy:19:05:28.097][26043]rtn sample.c(-1) [04/Mar/yyyy:19:05:28.099][26042]recv "GET /istage_j.gif HTTP/1.1" [04/Mar/yyyy:19:05:28.099][26042]call sample.c [04/Mar/yyyy:19:05:28.099][26042]rtn sample.c(-1) [04/Mar/yyyy:19:05:28.099][26042]send 200 [04/Mar/yyyy:19:05:28.105][26043]send 200 [04/Mar/yyyy:19:05:44.350][26042]disc [04/Mar/yyyy:19:05:44.350][26043]disc