Nginx日志常用分析命令示范(注:日志的格式不同,awk取的項不同。下面命令針對上面日志格式執行)
1)總請求數
wc -l access.log |awk '{print $1}'
2)獨立IP數
awk '{print $1}' access.log|sort |uniq |wc -l
3)每秒客戶端請求數 TOP5
awk '{print $6}' access.log|sort|uniq -c|sort -rn|head -5
4)訪問最頻繁IP Top5
awk '{print $1}' access.log|sort |uniq -c |sort -nr |head -5
5)訪問最頻繁的URL TOP5
awk '{print $7}' access.log|sort |uniq -c |sort -nr |head -5
6)響應大於5秒的URL TOP5
awk '{if ($7 > 5){print $6}}' access.log|sort|uniq -c|sort -rn |head -5
7)HTTP狀態碼(非200)統計 Top5
awk '{if ($11 != 200){print $11}}' access.log|sort|uniq -c|sort -rn|head -5
8)分析請求數大於50000的源IP
cat access.log|awk '{print $NF}'|sort |uniq -c |sort -nr|awk '{if ($1 >50000){print $2}}'