awk如何分析web日志

本篇文章为大家展示了awk如何分析web日志,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

小编主要讲的是通过awk分析日志,快捷得到执行时间。

一、web日志文件格式

代码如下:


222.83.181.42 - - [09/Oct/2010:04:04:03 +0800] GET /pages/international/tejia.php HTTP/1.1 "200" 15708 "-" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Sicent; WoShiHoney.B; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)" "-" 0.037</p> <p>按照空格分隔的话,最后一个字段[0.037] 是页面执行时间,第7个字段 是页面访问地址。

二、执行代码

代码如下:


awk 'BEGIN{
print "Enter log file:";
getline logs;
#logs="/var/log/nginx/access.log-20101008";
OFMT="%.3f"; </p> <p>while(getline < logs)
{
   split($7,atmp,"?");
   aListNum[atmp[1]]+=1;
   aListTime[atmp[1]]+=$NF;
   ilen++;
}
close(logs);
print "\r\ntotal:",ilen,"\r\n======================================\r\n";
for(k in aListNum)
{
   print k,aListNum[k],aListTime[k]/aListNum[k] | "sort -r -n -k3";
} </p> <p>}'

结果:

awk如何分析web日志

性能:

awk如何分析web日志

422780条日志,统计完成速度是:5秒左右。

上述内容就是awk如何分析web日志,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。