针对nats的access.log日志文件的分析任务,
1、指定域名下,分析各个状态码请求数量/请求比例
2、指定域名下,分析C段ip的请求数 top10
3、指定域名下,分析C段ip的流量 top10
4、按域名统计 流量 top10
5、按域名统计 平均下载速率 (KB/s)
6、按域名统计 5分钟粒度带宽 (fKbps)
目前这些内容处于一个没啥思路的状态,能否提供具体方法,或者针对上述小项的命令行,感谢了
针对nats的access.log日志文件的分析任务,
1、指定域名下,分析各个状态码请求数量/请求比例
2、指定域名下,分析C段ip的请求数 top10
3、指定域名下,分析C段ip的流量 top10
4、按域名统计 流量 top10
5、按域名统计 平均下载速率 (KB/s)
6、按域名统计 5分钟粒度带宽 (fKbps)
目前这些内容处于一个没啥思路的状态,能否提供具体方法,或者针对上述小项的命令行,感谢了
1. 分析指定域名下各个状态码请求数量/请求比例
cat access.log | grep "指定域名" | awk '{print $9}' | sort | uniq -c | sort -rn
2. 分析指定域名下,C段IP的请求数 Top 10
cat access.log | grep "指定域名" | awk '{print $1}' | cut -d'.' -f1,2,3 | sort | uniq -c | sort -rn | head -10
3. 分析指定域名下,C段IP的流量 Top 10
cat access.log | grep "指定域名" | awk '{ip[$1]+=$10} END {for (i in ip) print i, ip[i]}' | sort -k2 -rn | head -10
4. 按域名统计流量 Top 10
awk '{domain[$11]+=$10} END {for (d in domain) print d, domain[d]}' access.log | sort -k2 -rn | head -10
5. 按域名统计平均下载速率 (KB/s)
awk '{speed[$11]+=$10; count[$11]++} END {for (d in speed) print d, (speed[d]/count[d])/1024 " KB/s"}' access.log
6. 按域名统计5分钟粒度带宽 (fKbps)
awk '{time=strftime("%Y-%m-%d %H:%M", $4); domain[$11][time]+=$10} END {for (d in domain) for (t in domain[d]) print d, t, (domain[d][t]*8)/(5*60) " Kbps"}' access.log