我如何调整 nginx 以将请求时间写入日志,以便 awstats 可以显示每个请求所花费的时间?
另外,我如何才能在 awstats 中查看按时间排序的请求?
这是当前格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
答案1
正如@Vladimir提到的,要记录请求时间,请log_format
按如下方式编辑您的指令:
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'
' $request_time';
并在配置文件LogFormat
中设置相应的变量:awstats
LogFormat="%host %other %host_r %time1 %methodurl %code %bytesd %refererquot %uaquot %other %extra1"
以下是extra1
部分示例:
ExtraSectionName1="Time to serve requests (seconds)"
ExtraSectionCodeFilter1=""
ExtraSectionFirstColumnTitle1="Number of seconds to serve the request"
ExtraSectionFirstColumnValues1="extra1,(.*)"
ExtraSectionStatTypes1="H"
建筑报告:
awstats.pl -config=model -output -staticlinks > awstats.localhost.html