一、日志输出格式配置示例
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent $request_length "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"' ' elapsed=${request_time}s';
access_log logs/access9999.log main;
$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 通用日志格式下的本地时间
二、日志切割
直接在nginx.conf中加上如下配置,实现日志按天切割
if ($time_iso8601 ~ "^(\d{4})-(\d{2})-(\d{2})") {
set $year $1;
set $month $2;
set $day $3;
}
access_log logs/${year}_${month}_${day}_access.log main;
三、使用panda分析日志文件(待续)
学习资料: