根据访问日志统计排名前几的访问ip

    维护的一个应用,统计PV/UV的时候,发现有天的访问超出其他天一大截,感觉是被攻击了,或者是被爬虫抓取。因此需要统计一些ip,让PE分析一下这些攻击ip为何被封掉。
    根据访问日志统计排名前几的访问ip,一条AWK便能完成:
    cat xxx-access_log |awk '{++S[$3]}  END{for(a in S) if(S[a] > 2000) print a,S[a]}' |sort -nr -k2
    解释一下:ip是每行的第三个字段(以空格分隔),根据第三个字段构造一个数组,最后将数组输出,输出时,根据第二个字段做个倒排序。这样便能得到访问量排名前几的ip

你可能感兴趣的:(awk)