nginx日志格式详解

log_format combined '$remote_addr - $remote_user [$time_local] '
'$request "$status" $body_bytes_sent ''"$http_referer" "$http_user_agent" '

 #默认LOG中有'$remote_addr和$remote_user中间 有-

 #其他自定义的LOG
 log_format main '$remote_addr - $remote_user [$time_local] $request '
 '"$status" $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';

 #后端记录真实访问IP
log_format download '$remote_addr - $remote_user [$time_local] '
'"$request" $status $bytes_sent ''"$http_referer" "$http_user_agent" '
'"$http_range" "$sent_http_content_range"';

log_format timelog '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"'
'$request_time $upstream_response_time

说明
$remote_addr 远程地址
$remote_user 远程用户
$time_local 写入普通日志格式的当地时间(服务器时间)
$request 请求的方法和连接
$request_length 请求主体的长度。
$request_time nginx处理请求的时间,单位为毫秒(0.5.19版本后可以使用秒为单位)
$status 应答的状态(代码)
$upstream_response_time 后端处理时间,代理的响应时间
$upstream_status 后端服务器的状态
$upstream_addr : 后端服务器的IP地址和端口
$body_bytes_sent 减去应答头后传送给客户端的字节数,这个变量兼容apache模块mod_log_config的%B参数(在0.3.10前这个变量为$apache_bytes_sent)。
$bytes_sent 传送给客户端的字节数。
$http_referer 跳转$request的链接,就是从那里访问到$request
$http_user_agent 浏览器操作系统信息等
$http_x_forwarded_for 访问用户真实服务器的IP
$http_range ?
$sent_http_content_range ?
$connection,连接数。
$msec,正在写入日志条目的当前时间(精确到百万分之一秒)
$pipe,如果请求为管道的。
$status $upstream_status : 响应的状态码。前端服务器响应状态,后端服务器响应状态
$request_time $upstream_response_time : 关注性能必备!看看前端传输文件的时间,以及后台处理的时间。前者对了解网络状态有益,后者对了解服务性能有益。

$remote_addr $upstream_addr : 用户的IP地址,后端服务的IP地址
$bytes_sent $body_bytes_sent : 发送给用户端的数据量(包含HTTP头和不包含HTTP头)
$bytes_sent $body_bytes_sent : 发送给用户端的数据量(包含HTTP头和不包含HTTP头)
$host $request : 最重要的,搞定具体域名具体URL,不抓瞎。

猜你喜欢

转载自www.cnblogs.com/xuanyuanshi/p/8856224.html