日志格式
log_format access '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
统计Nginx服务器流量
awk '{sum +=$6} END{print sum/1024/1024"M"}' access.log
统计最多访问的100个ip及次数
cut -d ' ' -f1 access.log | sort | uniq -c | sort -rn | head -n 100
统计最多访问的100个url及次数
cut -d ' ' -f4 access.log | sort | uniq -c | sort -rn | head -n 100
查看某个时间段的日志
awk '$4 >= "[15/Jan/2016:19:30:00" && $4<="[15/Jan/2016:21:30:59" {print }' access.log
统计不同ip的访问次数
awk '{a[$1]++}END{for(i in a)print i,a[i]}' access.log
统计不同user-agent的访问次数
awk -F '"' '{print $6}' access.log | awk -F ' ' '{a[$1]++}END{for(i in a)print i,a[i]}'
awk 'BEGIN{total=0}{if($1>=1490012700 && $1<1490013000) total+=$5}END{print total/1024/1024/300*8}' access.log