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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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	domain		ip	avg	max	min"
}{
  count[$1"	"$3]+=1;
  sum[$1"	"$3]+=$2;
  if (max[$1"	"$3] < $2){
    max[$1"	"$3] = $2
  };
  if (min[$1"	"$3] == ""){
    min[$1"	"$3] = $2
  };
  if (min[$1"	"$3] > $2){
    min[$1"	"$3] = $2
  }
}END{
  for (i in count){
    print count[i]"	"i"	"sum[i]/count[i]"	"max[i]"	"min[i];
  }
}‘ /tmp/access.log

执行效果
技术分享图片

以上是关于awk 统计特定pv和响应时间的最大最小平均值的主要内容,如果未能解决你的问题,请参考以下文章