awk 统计特定pv和响应时间的最大、最小、平均值

今天有朋友向我请教对一个access log文件里按URL+IP进行pv和响应时间统计,顺便写了个awk脚本,在此分享一下

access log格式
第一列为域名,第二列为响应时间 第三列为用户ip

www.baidu.com 1 1.1.1.1
www.baidu.com 1 2.2.2.2
www.baidu.com 3 1.1.1.1
www.baidu.com 1 1.1.1.1
www.baidu.com 1 1.1.1.1
www.baidu.com 5 1.1.1.1
www.baidu.com 1 2.2.2.2
www.baidu.com 1 2.2.2.2
www.google.com 2 2.2.2.2
www.google.com 1 2.2.2.2
www.google.com 2 2.2.2.2
www.google.com 3 2.2.2.2
www.google.com 2 2.2.2.2
www.google.com 4 1.1.1.1
www.google.com 2 1.1.1.1
www.google.com 2 1.1.1.1
www.google.com 5 1.1.1.1

脚本内容

#!/bin/awk

awk 'BEGIN{
  print "count\tdomain\t\tip\tavg\tmax\tmin"
}{
  count[$1"\t"$3]+=1;
  sum[$1"\t"$3]+=$2;
  if (max[$1"\t"$3] < $2){
    max[$1"\t"$3] = $2
  };
  if (min[$1"\t"$3] == ""){
    min[$1"\t"$3] = $2
  };
  if (min[$1"\t"$3] > $2){
    min[$1"\t"$3] = $2
  }
}END{
  for (i in count){
    print count[i]"\t"i"\t"sum[i]/count[i]"\t"max[i]"\t"min[i];
  }
}' /tmp/access.log

执行效果
awk 统计特定pv和响应时间的最大、最小、平均值

转载于:https://blog.51cto.com/4988084/2157387

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值