nginx の $time_local ログ変数は具体的に何を意味するのでしょうか?

nginx の $time_local ログ変数は具体的に何を意味するのでしょうか?

かなり長時間続くリクエスト(最大10秒)のnginxログを読んでいます。ログ形式では、変数を使用して$time_local時間を記録しています。しかし、これはリクエストが行われた時間を意味しますか?開始またはそれが終了した? 長時間実行されているリクエストの場合、これらはかなり異なる時間であり、ngx_http_log_module ドキュメントこれを説明します。

答え1

変数に$time_localは、ログ エントリが書き込まれた時刻が含まれます。

HTTP リクエスト ヘッダーが読み取られると、nginx は関連する仮想サーバー構成を検索します。仮想サーバーが見つかった場合、リクエストは次の 6 つのフェーズを経ます。

  • サーバー書き換えフェーズ
  • 位置フェーズ
  • ロケーション書き換えフェーズ(リクエストを前のフェーズに戻すことができます)
  • アクセス制御フェーズ
  • try_files フェーズ
  • 対数位相

ログ フェーズは最後のフェーズであるため、$time_local変数はリクエストの開始よりも終了に近くなります。

関連情報