log nginx 客户端请求大小_Nginx技巧——在访问日志中记录每个请求的时间

Nginx 预设 log_format 就有支持这个参数,只需要另外设定打开,详细可见:Module ngx_http_log_module

Nginx 记录每个 request 花费时间的设定方式如下:

预设 log_format combined 的格式 (不可使用 combined,预设无法覆盖),预设 combined 的格式如下:

log_format combined '$remote_addr - $remote_user [$time_local] '

'"$request" $status $body_bytes_sent ' '"$http_referer"

"$http_user_agent"' '

需使用另外一个名字,combinedtime 来加入时间参数(名字可自取)

log_format combinedtime '$remote_addr - $remote_user

[$time_local] ' '"$request" $status $body_bytes_sent '

'"$http_referer" "$http_user_agent"' ' elapsed=${request_time}s';

加入后,于每个使用到的 access_log 指定,如下范例:

access_log /var/log/nginx/access.log combinedtime;

设定好后,重新启动 Nginx 即可。

注意:

apache 的 elapsed 是 us

nginx 的 elapsed 是 s

下述摘录自此篇:nginx日志配置

$remote_addr, $http_x_forwarded_for 记录客户端 IP

$remote_user 记录客户端用户名称

$request 记录请求的 URL 和 HTTP Protocol

$status 记录请求状态

$body_bytes_sent 发送给客户端的 Bytes,不包括 Header 的大小;该变数与 Apache mod_log_config 的 "%B" 相容

$bytes_sent 发送给客户端的 总Bytes数

$connection 连接的序列号

$connection_requests 当前通过一个连接获得的请求数量

$msec 日志写入时间。单位为秒,精度是毫秒

$pipe 如果请求是通过HTTP流水线(pipelined)发送,pipe值为"p",否则为"."

$http_referer 记录从哪个页面链接访问过来的

$http_user_agent 记录客户端浏览器相关信息

$request_length 请求的长度(包括请求行,请求头和请求正文)

$request_time 请求处理时间,单位为秒,精度毫秒; 从读入客户端的第一个位元组开始,直到把最后一个字元发送给客户端后进行日志写入为止

$time_iso8601 ISO8601标准格式下的本地时间

$time_local 通用日志格式下的本地时间

来源:Tsung's Blog

原文:http://t.cn/Rf6tTFl

题图:来自谷歌图片搜索

版权:本文版权归原作者所有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值