美文网首页中间件
统计Nginx访问量最高的IP

统计Nginx访问量最高的IP

作者: KN郑某某 | 来源:发表于2019-10-29 17:45 被阅读0次

    日志格式

    文件名称是 nginx_access.log

    106.38.241.73 - - [29/Oct/2019:03:51:15 +0800] "GET /web/notice/20160524/568.html HTTP/1.1" 200 23333 "-" "Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)"
    106.38.241.73 - - [29/Oct/2019:03:51:44 +0800] "GET /web/notice/20180704/1465.html HTTP/1.1" 200 25232 "-" "Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)"
    183.136.190.62 - - [29/Oct/2019:03:52:06 +0800] "GET / HTTP/1.1" 200 4535 "-" "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/35.0.1916.153 Safari/537.36"
    106.38.241.73 - - [29/Oct/2019:03:52:10 +0800] "GET /web/notice/20160926/809.html HTTP/1.1" 200 31855 "-" "Sogou web spider/4.0(+http://www.sogou.com/docs/help/webmasters.htm#07)"
    

    执行命令

    $ awk '{print $1}' nginx_access.log | sort | uniq -c | sort -nr -k1 | head -n 100
    

    命令解释:

    awk '{print $1}' nginx_access.log

    获取 nginx_access.log第一列,就是 IP

    sort

    第一个sort,IP 按照字母序正序排列,这是一个归类过程,便于下面命令的执行

    uniq -c

    按照相同项归类,遇到不同的项就生成新类别,所以需要前面的sort。最终生成的格式如下是 数量 IP的格式,如: 3 106.38.241.73

    sort -k1 -nr

    根据第一列排序(k1),按照数字序(-n)逆序(-r)排。

    head -n 100

    从头开始输出结果,输出前面的100行,类似的命令还有tail

    相关文章

      网友评论

        本文标题:统计Nginx访问量最高的IP

        本文链接:https://www.haomeiwen.com/subject/wapgvctx.html