nginx日志分析

日志格式

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
原文地址:https://www.cnblogs.com/metasequoia/p/5144254.html