統計nginx訪問ip,並按照訪問次數進行排序

需求:

統計niginx的訪客ip,並排列出訪客訪問次數,進行排序

nginx訪問日誌格式

182.96.12.70 - - [17/Jan/2020:02:58:45 +0000] "GET / HTTP/1.1" 502 166 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0"
182.96.12.70 - - [17/Jan/2020:02:58:45 +0000] "GET / HTTP/1.1" 502 166 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0"
182.96.12.70 - - [17/Jan/2020:02:58:45 +0000] "GET / HTTP/1.1" 502 166 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:64.0) Gecko/20100101 Firefox/64.0"

思路:

先提取訪客的 ip,awk提取

cat access.log |awk '{print1}'

格式如下:

[root@cloud ~]# cat access.log |awk '{print1}'
223.166.74.72
119.39.46.77
110.167.94.116
71.6.202.253
115.192.187.161
134.119.218.243
184.105.247.196
87.2.28.156
[root@cloud ~]# 

對所展示的ip進行統計操作

[root@cloud ~]# cat access.log |awk '{print1}'|sort|uniq -c
      2 157.55.39.27
      1 159.203.201.155
      8 163.177.13.2
      1 164.68.112.178
      1 171.34.179.184
      1 175.152.111.112
      4 175.184.164.59
     84 182.138.137.127
    158 182.138.158.156
    334 182.138.158.183
    250 182.138.158.67
      2 18.219.233.44
      6 182.254.52.17
      7 182.96.12.70
      1 183.192.179.16
      1 184.105.247.196
      2 185.156.177.234
      1 185.234.217.19
      1 189.170.29.183

上面的是沒有排序的,加上sort-rn命令即可排序

[root@cloud ~]# cat 1.log | awk '{print$1}' |sort|uniq -c|sort -rn
    334 182.138.158.183
    250 182.138.158.67
    158 182.138.158.156
     84 182.138.137.127
     16 36.32.3.46
     10 123.245.24.149
      8 163.177.13.2
      7 182.96.12.70
      6 39.100.240.14
      6 39.100.231.247
      6 39.100.158.86
      6 39.100.113.213
      6 182.254.52.17
      5 134.119.189.29

通過上面的命令即可完成統計

如果需要展示前5名的ip,只需要加上 head -5 即可

[root@cloud ~]# cat 1.log | awk '{print$1}' |sort|uniq -c|sort -rn|head -5
    334 182.138.158.183
    250 182.138.158.67
    158 182.138.158.156
     84 182.138.137.127
     16 36.32.3.46
[root@cloud ~]# 

附上一些資料

awk命令詳解
https://www.runoob.com/linux/linux-comm-awk.html

sort命令詳解
https://www.runoob.com/linux/linux-comm-sort.html

uniq命令詳解
https://www.runoob.com/linux/linux-comm-uniq.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章