Nginx 訪問日志分析


0:Nginx日志格式配置

# vim nginx.conf
##
        # Logging Settings
        ##
        log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent $request_body "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for" "$request_time"';

        access_log /var/log/nginx/access.log access;

1:統計PV數

(1)統計所有的PV數

cat access.log | wc –l

(2)統計當天的PV數

cat access.log | sed -n /`date "+%d\/%b\/%Y"`/p |wc -l

(3)統計指定某一天的PV數

cat access.log | sed -n '/20\/Aug\/2017/p' | wc -l

如果要是獲取某一天的則修改日期即可。

2:獲取訪問IP數

cat access.log | awk '{print $1}' | sort -k1 -r | uniq | wc -l

3:獲取每分鍾的請求數量

通過cat、awk等Linux腳本工具,輸出成csv文件,然后用excel打開,生成柱狀圖。

cat access.log | awk '{print substr($4,14,5)}' | uniq -c | awk '{print $2","$1}' | sort -k1 | awk '{print $2","$1}' > access.csv

4:查看日志中訪問次數最多的前10個IP

cat access.log.1 |cut -d ' ' -f 1 | sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 10

5:查看日志中訪問次數超過1000次的前10個IP

 cat access.log.1 |cut -d ' ' -f 1 | sort |uniq -c | sort -nr | awk '{if($1>1000) print $0 }' | head -n 10 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM