- 论坛徽章:
- 0
|
本帖最后由 ljwd1000 于 2012-11-22 16:38 编辑
需求,统计出每个小时出现的访问状态(nginx状态码:例如,200,302,502,504等)次数,要求输出结果格式为:
时间 状态 次数
日志文件格式类似如下,但是nginx的log并没有我贴出的这么整齐- 10.150.82.151 - - [22/Nov/2012:03:02:45 +0900] "POST /m/gashapon/free/1/?signed=1&t=1353524557.0 HTTP/1.1" 302 0 "-" "DoCoMo/2.0 SH06A3(c500;TB;W24H14)" "116.93.151.35" 0.095
- 10.150.82.152 - - [22/Nov/2012:03:02:45 +0900] "POST /m/gashapon/free/1/?signed=1&t=1353524557.0 HTTP/1.1" 302 0 "-" "DoCoMo/2.0 SH06A3(c500;TB;W24H14)" "116.93.151.35" 0.095
- 10.150.82.122 - - [22/Nov/2012:04:02:45 +0900] "POST /m/gashapon/free/1/?signed=1&t=1353524557.0 HTTP/1.1" 200 0 "-" "DoCoMo/2.0 SH06A3(c500;TB;W24H14)" "116.93.151.35" 0.095
- 10.150.82.157 - - [22/Nov/2012:04:02:45 +0900] "POST /m/gashapon/free/1/?signed=1&t=1353524557.0 HTTP/1.1" 502 0 "-" "DoCoMo/2.0 SH06A3(c500;TB;W24H14)" "116.93.151.35" 0.095
- 10.150.82.153 - - [22/Nov/2012:06:02:45 +0900] "POST /m/gashapon/free/1/?signed=1&t=1353524557.0 HTTP/1.1" 504 0 "-" "DoCoMo/2.0 SH06A3(c500;TB;W24H14)" "116.93.151.35" 0.095
- 10.150.82.156 - - [22/Nov/2012:06:02:45 +0900] "POST /m/gashapon/free/1/?signed=1&t=1353524557.0 HTTP/1.1" 502 0 "-" "DoCoMo/2.0 SH06A3(c500;TB;W24H14)" "116.93.151.35" 0.095
复制代码 我写个大概的,不知道如何去精确取得状态码这一列- awk '{split($4,a,":|\\[");time=a[2]":"a[3];for(i=1;i<=NF;i++){if($i==502||$i==504){num[time"\t"$i]++}}}END{for(i in num)print i,num[i]}'
复制代码 |
|