awk 분석 웹 페이지 실행 시간

2987 단어 awk웹 로그
nginx 로그 설정

  
  
  
  
  1. log_format  main  '$remote_addr - $remote_user [$time_local] $request ' 
  2. '"$status" $body_bytes_sent "$http_referer" ' 
  3. '"$http_user_agent" "$http_x_forwarded_for" $request_time'; 
  4.  
  5. access_log  /var/log/nginx/access.log  main buffer=32k
  、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
    빈 칸 으로 구분 하면 마지막 필드 [0.037] 는 페이지 실행 시간 이 고 7 번 째 필드 는 페이지 접근 주소 입 니 다.
 
실행 코드
  

  
  
  
  
  1. awk 'BEGIN{ 
  2.    print "Enter log file:"; 
  3.    getline logs; 
  4.    logs="/var/log/nginx/access.log-20101008"
  5.    OFMT="%.3f"
  6.    while(getline < logs
  7.    { 
  8.        split($7,atmp,"?"); 
  9.        aListNum[atmp[1]]+=1; 
  10.        aListTime[atmp[1]]+=$NF; 
  11.        ilen++; 
  12.    } 
  13.    close(logs); 
  14.    print "\r
    total:",ilen,"\r\n======================================\r
    "; 
  15.    for(k in aListNum) 
  16.    { 
  17.        print k,aListNum[k],aListTime[k]/aListNum[k] | "sort -r -n -k3"; 
  18.    } 
  19.    }' 

좋은 웹페이지 즐겨찾기