如何在 Nginx 中记录请求的开始时间

如何在 Nginx 中记录请求的开始时间

正如所述这个答案,Nginx 访问日志中的 $time_local 变量表示时间结束请求(或接近)。

那么,有没有什么方法可以记录开始时间Nginx 访问日志中某个请求的具体信息?

我在 Google 上搜索过,但就是找不到任何实现这一点的参考资料。拜托!这对于 Web 服务器来说不是一个非常简单的功能吗?不要告诉我从 $time_local 中减去 $request_time...

答案1

我知道这是一个老问题,但我认为它值得更新,因为 nginx>1.2.5(截至 2017 年 7 月 nginx 稳定1.13)这现在很简单

在日志中使用

start_time="$msec"

或者添加标题:

add_header X-Request-Start $msec

或代理

proxy_set_header X-Request-Start $msec

答案2

嗯,有一个针对 nginx 的补丁(https://gist.github.com/rkbodenner/318681#comment-610856) 将请求开始时间显示为变量。

我认为这对你的情况可能有用。

答案3

您可以将$msec和写入$request_time日志并使用$msec-$request_time作为解析的开始时间。

相关内容