ip访问次数统计 nginx_Linux分析Nginx日志统计IP访问次数的shell脚本
平時運維遇到最多的就是nginx的日志分析了,要時常做系統監控,檢查IP的訪問次數是否有異常,防止惡意訪問。
假設我的nginx日志如下:
.......
211.253.43.23 - - [03/Jun/2019:11:41:02 +0800] "GET
211.253.43.23 - - [03/Jun/2019:11:41:25 +0800] "POST
211.253.43.23 - - [03/Jun/2019:11:41:25 +0800] "GET
211.253.43.23 - - [03/Jun/2019:11:41:26 +0800] "GET
39.100.41.229 - - [03/Jun/2019:11:41:56 +0800] "GET
39.100.41.229 - - [03/Jun/2019:11:41:56 +0800] "GET
211.253.43.23 - - [03/Jun/2019:11:41:56 +0800] "POST
211.253.43.23 - - [03/Jun/2019:11:41:57 +0800] "GET
39.100.41.229 - - [03/Jun/2019:11:42:00 +0800] "POST
211.253.43.23 - - [03/Jun/2019:11:42:00 +0800] "GET
211.253.43.23 - - [03/Jun/2019:11:42:08 +0800] "POST
211.253.43.23 - - [03/Jun/2019:11:42:11 +0800] "GET
211.253.43.23 - - [03/Jun/2019:11:42:11 +0800] "GET
211.253.43.23 - - [03/Jun/2019:11:42:12 +0800] "GET
......
下面是各種統計訪問次數的shell代碼:
1.2019年8月6日期間訪問次數最多的7個IP:
[root@hostname ~]# cat nginx.log | grep '03/Jun/2019' | awk '{print $1}'| sort | uniq -c | sort -k 1 -nr | head -7
2597 211.253.43.23
64 39.100.41.229
19 118.112.56.37
15 223.72.99.60
10 118.112.58.225
9 182.148.58.232
6 116.236.146.22
#
2.2019年8月6日期間訪問次數大于等于10次的所有IP地址:
[root@hostname ~]# cat nginx.log | grep '03/Jun/2019' | awk '{print $1}'| sort | uniq -c | awk '{if ($1 > 10) print $2}' | sort -nr
223.72.99.60
211.253.43.23
118.112.56.37
39.100.41.229
3.日志文件中訪問次數最多的10個請求(日志每行GET后面的內容)例如 /s?defs=ascii&project=linux-3.18.6,注意不允許有空行,不包含 /robots.txt,.js,.css,*.png 這類靜態文件、圖片等訪問。
[root@hostname ~]# cat nginx.log | grep "GET" | grep -Ev 'txt|js|png|css ' | awk '{ print $7}'| sort | uniq -c | sort -k 1 -n -r | head -11 | awk 'NR>1 {print $2}' >output3.txt
**暫無數據**
4.日志文件中訪問狀態為 404 的所有訪問請求地址:
[root@hostname ~]# cat nginx.log | grep "404" | grep -Ev 'txt|js|png|css ' | awk '{print $7}' | sort | uniq -c |awk '{print $2}' >output4.txt
**暫無數據**
總結
以上是生活随笔為你收集整理的ip访问次数统计 nginx_Linux分析Nginx日志统计IP访问次数的shell脚本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言密码锁程序,急求C语言电子密码锁程
- 下一篇: linux如何判断网线插入_“Linux