달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

http://suite.tistory.com/ fs

1. 아파치 쿼리 로그  랭킹  보는 GlanceQry v 0.4  
     
 아파치 로그를 시스템 명령(uniq,sort,cat)를 이용하여 시간별(초단위가능),쿼리등수,전체 쿼리를 분석해내는 프로그램


2. 환경


 - 아파치 로그 시간 포멧이  CLF(common log format) 타입 이어야 한다.
 - 로그 파일에 쿼리 스트링을 URL 인코딩 할것
 - 로그가 \xb5\xf0\xc0\xda\xc0\xce 방식 경우 \x => %로변경 할것

 - 시스템 명령어를 사용하기 때문에 uniq,sort,cat 명령어들이 되는지 본다.
 - 리눅스에서 테스트한 프로그램


3.  설치 방법


 - GlanceQry.tar를 푼다


 가. 디렉토리 구성
   
  * src 소스 디렉토리

   - GlanceQry.h   // 헤더 파일
   - GlanceQry.c   // 메인 소스
   - Makefile   // make 파일
  
  * GlanceQry     // 바이너리
  * config.GlanceQry   // 환경 파일(설정방법은 파일안에 설명해 두었음)
  * README    // 본 문서
     
 나. 참고 사항

  * access_glance.log   //테스트용 아파치 로그
  * GetQryStat.sh    //테스트용

     
4. 구동 방법  
  
 그냥 ./GlanceQry Usage: ./GlanceQry <config_file>     <apache_log_file>     <begin_date_time>  <end_date_time> <result_file>
 인자 설명

 * <config_file>  // 설정파일
 * <apache_log_file> // 아파치 로그 파일
 * <begin_date_time>  // 아파치 로그에서 시작 시간 범위를 찾을 날짜와 시간 (초까지) ex) 20060625000000
 * <end_date_time>  // 아파치 로그에서 끝 시간 범위를 찾을 날짜와 시간 (초까지) ex) 20060625235959
 * <result_file>  // 결과 파일 


 실행 중 에러 발생 경우는 대부분이 아파치 로그위치와 결과 파일위치등 경로 문제 경우가 많다.


5. 샘플 데이터


 - GetQryStat.sh

 access_glance.log 샘플 데이터를 분석하여 result_glance.kwd 파일을 만든다.

 result_glance.kwd 포멧은
  등수 쿼리수 쿼리 

GlanceQry.tar


 ==============================================================
  1       66 개롱역에서 잠실역까지 중국집
  2       11 스카이라이프
  3       11 감사원
  4       10 이대 미용실
   ~~~~
   ~~~
   ~~~~~
  1244    1 가곡 꽃
  1245    1 ㄹㅇㄴㄹㅇㄴ
  TotCnt: 1452
 ===============================================================
  마지막 줄 전체 쿼리수

 참고) 아직 큰데이터를 테스트 해보지 못해서 -.-;; 메모리 부족 현상이 발생 할 수 있을것 같음


 

:
Posted by mastar