NGINX结合SHELL统计用户的UV及IP汇总

公司新的需求,怀疑PV和IP的比例不对,看是不是有恶意的东东:

NGINX配置:

 

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_cookie" "$request_time" "$upstream_response_time" "$upstream_cache_status" "$uid"';
set $uid "-";
        if ( $http_cookie ~* "uid=(\S+)(;.*|$)"){
            set $uid $1;
        }    

 

PV前二十位排行榜:

cat test.log|sort|awk '$NF!~/-/ {print $1"," $NF}'|uniq |awk -F  , '{print $1}'|uniq -c|sort -nr|head -20

12     53.27.4.22
1     61.183.86.163
1     61.183.237.146
1     58.255.215.115
1     27.154.152.131
1     223.240.50.192
1     222.94.205.228
1     219.140.69.67
1     218.89.115.155
1     218.28.77.119
1     183.63.212.176
1     183.54.95.254
1     182.107.39.76
1     163.179.53.171
1     14.130.237.192
1     124.207.249.82
1     124.128.87.134
1     124.117.198.63
1     122.224.216.242
1     121.61.112.2

 

公司总的IP数:

cat test.log|sort|awk '$NF!~/-/ {print $1"," $NF}'|uniq |awk -F  , '{print $1}'|uniq -c|sort -nr|wc -l

32

公司总的UV数:

cat test.log|sort|awk '$NF!~/-/ {print $1"," $NF}'|uniq |awk -F  , '{print $1}'|uniq -c|sort -nr|awk 'BEGIN{total=0}{total=total+$1}END{print "UV is:" total}'

UV is:43

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值