nginx日志参数及含义

参数含义

$remote_addr,$http_x_forwarded_for  #记录客户端IP地址
$remote_user   #记录客户端用户名称
$request       #记录请求的URL和HTTP协议
$status        #记录请求状态
$body_bytes_sent  #发送给客户端的字节数,不包括响应头的大小;该变量与Apache模块mod_log_config李的“%B”参数兼容
$bytes_sent    #发送给客户端的总字节数
$connection    #连接到序列号
$connection_requests #当前通过一个链接获得的请求数量
$msec       #日志写入时间,单位为秒精度是毫秒。
$pipe       #如果请求是通过HTTP流水线(pipelined)发送,pipe值为“p”,否则为".".
$http_referer  #记录从那个页面链接访问过来的
$http_user_agent  #记录客户端浏览器相关信息
$request_length   #请求的长度(包括请求行,请求头和请求正文)。
$request_time #请求处理时间,单位为秒,精度毫秒;从读入客户端的第一个字节开始,知道把最后一个字符发送给客户端后进行日志写入位置。
$time_iso8601 ISO8601标准格式下的本地时间
$time_local  #通用日志格式下的本地时间

原生格式

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
	          '$status $body_bytes_sent $bytes_sent $request_length "$http_referer" '
	          '"$http_user_agent" $http_x_forwarded_for '
	          '"$upstream_addr" "$upstream_status" "$upstream_response_time" "$request_time"';

改造成json格式

log_format main '{"@timestamp": "$time_local", '
                '"remote_addr": "$remote_addr", '
                '"referer": "$http_referer", '
                '"request": "$request", '
                '"status": $status, '
                '"bytes": $body_bytes_sent, '
                '"agent": "$http_user_agent", '
                '"upstream_addr": "$upstream_addr",'
                '"upstream_status": "$upstream_status",'
                '"up_resp_time": "$upstream_response_time",'
                '"request_time": "$request_time"'
                ' }';
posted @ 2021-11-03 17:23  哈喽哈喽111111  阅读(1202)  评论(0编辑  收藏  举报