awk 处理反算日志流量


每小时的平均流量:

[root@st01 nginx]# awk '{a[substr($4,9,7)]=a[substr($4,9,7)]+$10}END{for(i in a)print i,a[i]*8/3600000000"M/s"}' fm.kxting.log |sort -k1n
2011:00 62.5697M/s
2011:01 34.2174M/s
2011:02 19.8558M/s
2011:03 13.9892M/s
2011:04 11.4172M/s
2011:05 10.0838M/s
2011:06 15.7386M/s
2011:07 30.2059M/s
2011:08 67.3954M/s
2011:09 92.6126M/s
2011:10 102.163M/s
2011:11 111.075M/s
2011:12 110.448M/s
2011:13 114.682M/s
2011:14 113.777M/s
2011:15 71.7846M/s



计算5分钟流量:

zcat  32851_20130622_w3c.gz |awk '{if(substr($4,18,1)<5){a[substr($4,9,9)"0"]+=$10}else{a[substr($4,9,9)"5"]+=$10}}END{for(i in a)print i,(a[i]*8*1.1)/(300*1024*1024)"M/s"}' |sort -k1nr

2013:00:00 278.443M/s
2013:00:05 266.45M/s
2013:00:10 258.629M/s
2013:00:15 248.483M/s
2013:00:20 238.212M/s
2013:00:25 232.164M/s
2013:00:30 221.229M/s
2013:00:35 218.931M/s
2013:00:40 204.019M/s
2013:00:45 192.76M/s
2013:00:50 193.853M/s
2013:00:55 183.54M/s
2013:01:00 170.11M/s
2013:01:05 162.177M/s
2013:01:10 149.272M/s
2013:01:15 136.12M/s
2013:01:20 134.454M/s
2013:01:25 127.052M/s
2013:01:30 124.258M/s
2013:01:35 116.38M/s
2013:01:40 109.385M/s
2013:01:45 112.182M/s
2013:01:50 108.863M/s
2013:01:55 103.543M/s
2013:02:00 96.9904M/s



统计带range下载成功的次数:

#日志格式

hit:1|125.82.85.51|-|[26/Dec/2013:00:00:07 +0800]|GET /df/2/05/1d0.mp3 HTTP/1.1|206|142560|-|stagefright/1.2 (Linux;Android 4.0.3)|-|bytes 0

-5232429/5232430|0.207|-|df.com|njcache01

awk -F'|' '/\|206\|/{split($11,a,"/|-");if((a[3]-a[2])<=2){print $0}}' file |wc -l



时间计算

[root@slave1 ~]# cat cwm1 

2015-08-14 00:01:52,STN,932280,2015-08-14 00:01:58,00441,1,2,0,0,0,-,-,-1,-1,-1,-


 awk -F'[,]' '{split($1,a,/[-,: ]/);split($4,b,/[-: ]/) }END{tstamp1=mktime(a[1]" "a[2]" "a[3]" "a[4]" "a[5]" "a[6]); tstamp2=mktime(b[1]" "b[2]" "b[3]" "b[4]" "b[5]" "b[6]);print tstamp1-tstamp2}' cwm1