강좌
클라우드/리눅스에 관한 강좌입니다.
기타 분류

AccessWatch 설치 및 운용

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

icon01.gif title03.gif

 

 Accesswatch를 설치하기 전에 먼저 압축된 파일을 다운부터 받아야 한다.

이 파일을 정식으로 배포하는 곳은 ACCESS WATCH라는 곳으로 홈페이지

주소는 www.accesswatch.com 이다. accesswatch의 최신 버전은 현재 2.02

로 얼마전에 업그레이드 되어 배포하기 시작했다.  참고로 밝혀 둘 것은 이

프로그램은 쉐어웨어(shareware)이며, 국내에 있는 950여개의 WSP 업체중

로그분석을 제공하는 업체에서는 거의 대부분 이 프로그램을 사용하고 있다.

 

먼저 www.accesswatch.com으로 접속하여 "New version! Download

AccessWatch version 2.02now."  라고 되어 있는 부분을 클릭하여 보자. 그럼 다

음과 같이 다운로드 받기전에 간단한 입력사항이 나온다.  사이트에 관한 사

항과 사용목적에 관한 것으로 하나라도 빠지면 다운로드 할수 없으므로 모

두 기록하도록 한다.

 

 

awdown.gif

                 

  사이트가 없다면 2번째와 3번째는 모두 "none"으로 입력하고 마지막의 "

license agreement"에는 반드시 "yes"를 해준다. 그리고 맨 아래에 있는 "

Download AccessWatch"라는 버튼을 클릭하면 다운을 받을 수가 있다.

icon01.gif title04.gif

 

  다운받은 소스파일을 ftp를 이용해서 홈디렉토리로 전송하도록 한다.

물론 다운받은 곳이 웹서버라면 전송할 필요가 없겠지만,  서버관리를 한다고 해서 콘솔에서 바로 작업을 한다고는 볼 수 없다.  

 만약 이 작업을 개인 계정을 가진 일반 사용자가 아니라 서버운용자 라면 "/usr/local"이라는 디렉토리에 전송하기 바란다.

대부분 UNIX나 LINUX등에서는 응용 소프트웨어를 별도로 가져와 설치할 때는 대부분 "/usr/local"이라는 디렉토리 이하를 사용하는 것이 표준이므로 다운받은 파일을 이 디렉토리로 옮겨 놓도록 한다.

icon01.gif title05.gif

 

    어떤 디렉토리를 사용해도 관계는 없으나 홈페이지의 기본디렉토리인

public_html 바로 밑에 다운 받은 파일을 전송하는 것이 좋다. 다음은 텔넷

으로 로그인 한 다음 압축을 풀어준 것이다.

 uncompress.gif

 

  압축을 풀때에는 위의 그림과 같이 "gzip -d" 로 풀어준 다음 "tar xvf"로

풀어 주어야 한다. 참고로 다음과 같이 이 두가지를 한꺼번에 작업할 수도

있다.

                 tar xvfz accesswatch-2_02_tar.gz

 tar 명령어에 z 옵션을 추가로 주게되면 gzip으로 압축된 것을 먼저 풀고 난

후에 tar로 묶여진 것을 풀어준다.  aw라는 디렉토리에 모두 압축해제되어

들어가게 된다. 이 디렉토리에 설치된  파일들에 대해서 간략히 살며보면 다

음과 같다.

awdirlist.gif

        

aw-parser : 로그분석을 위한 파싱작업을 위한 스크립트

aw-report : 파싱된 내용을 html문서로 만들어 config파일에서 지정된 디렉토리

에 저장해 주는 스크립트.(예 $reportBase = "/home/sspark/public_html/aw/report")

cfg : 환경설정 파일을 저장하고 있는 디렉토리

report : 분석결과를 저장하기 위한 디렉토리(/home/sspark/public_html/aw/report)

icon01.gif title06.gif

 

  다음으로 작업해야 할 것은 환경파일의 설정을 해주어야 한다. 이 파일은

aw/cfg/accesswatch.cfg라는 파일로 로그파일의 위치와 사이트에 관한 정보

등 몇가지를 지정해줘야 로그분석을 정확히 할 수 있다. 이에 대한 설명은

주석으로 붙여 놓았다.

 

# AccessWatch 사용자 환경설정정보 파일  ###

#  이들 옵션에 대한 것들은 아래사이트를 참조한다.

#      <URL:http://accesswatch.com/help/>

#

#     온라인 상(http://www.accesswatch.com/license/)에서 license등록을 할 수있으며

#     AccessWatch를 사용하는 클라이언트 또는 도메인네임 각각을 등록해야 한다.

#

#

##########################################################

#####             사이트 정보 기록                   #####

##########################################################

 

$accessLog = "/home/sspark/public_html/aw/access_log";

# 로그파일의 위치 정확히 파일이름(access_log)까지 정확히 지정해 주어야한다.

# 일반적으로는  /usr/local/lib/httpd/logs/access_log 또는

#               /usr/local/apache/logs/access_log 이며

#  만약 모른다면 서버 관리자나에게 문의하거나 또는

#  다음의 명령어(find)로 확인을 할 수 있다.

#  "$find / -name access_log -print"

#

$DNSlookups = 0;  

# access_log에 hostname(도메인) 대신에 IP address가 기록되었다면 '1'로 셋팅한다.

 

$defaultPage = "index.html";

# 디렉토리만 지정했을때 찾게될 기본 문서를 지정한다.

 

$includeURL = ".*";

 

$compressdata = 1;

$compresscommand    = "gzip -9fc";

$catcompresscommand = "gunzip -c";  

$compresssuffix     = "gz";         

# gzip/gunzip이 시스템에 설치되어 있지 않다면 $compressdata = 0 로 설정한다.

# gzip이 path로 잡혀있지 않다면 절대경로로 명령을 지정해야 한다.

# 예를 든다면 eg "/usr/local/bin/gzip"

 

$excludeURL = ".gif|.jpg|.jpeg|.xbm";

# 분석하는 도중 count하지 않을 파일타입을 지정한다.

# 예를 들어 페이지 안에 있는 이미지파일(*.gif, *.jpg등)은

# 카운터에서 빼려고 할때 지정하는 옵션이다.

 

$reportBase = "/home/sspark/public_html/aw/report";

# 분석결과가 저장될 위치, 결과를 웹으로 보고자 할 때 이 디렉토리까지 지정해서 보게된다.

 

$siteName  = "sitename(manualand)";

# "사이트 이름"으로 분석결과를 웹으로 보여줄 때 맨 왼쪽상단에 사이트이름을 보여주게 된다.

 

$siteBaseURL = "http://www.manualand.co.kr";

# 사이트의 기본 URL

 

$orgname   = "orgname(MANUAL LAND)";

# "기관이름(회사이름)"으로 결과페이지에서 기관이름으로 사용하게 된다.

 

$orgdomain = "orgdomain(manualand.co.kr)";

# "기관 도메인"

 

$excludeHosts = "";

# access_log파일중 access된 것에서 제외할 호스트들을 나열한다.

 

#####        프로그램 옵션              #####

 

$maxPagesToList = -1;             # sets the maximum number of entries in

$maxDomainsToList = -1;           # the corresponding tables. Set to -1 to

$maxHostsToList = 15;             # show all entries (may be *big*!), or

$maxRefsToList = 10;              # 0 to hide the table completely.

$maxAgentsToList = 15;

 

# 분석결과에서 볼 수 있는 각 항목들의 최대 수치를 지정한다.

# 제한없이 모두 수용하려면 "-1"로 셋팅하고

# 해당 항목을 제외(숨김)하려면 "0"으로 셋팅한다.

 

 

$customFooter = <<EOM;

<!-- START custom footer -->

# 여기에는 각 페이지마다 보여줄 꼬릿말을 지정한다.

<!-- END   custom footer -->

EOM

1;

###############################################################################

########### End - AccessWatch Custom Configuration #####################

###############################################################################

icon01.gif title07.gif

  환경설정을 맞게 했다면 이제 본격적인 로그 분석작업을 해 보자.  cron에 대해서 아시는 분이라면

이 작업은 system에서 cron으로 정기적으로 작업을
하게 해 두는 것이 좋으나 일단 여기서는

로그 분석작업을 어떻게 하는 것
인가를 수작업으로 해보도록 하자.

 

  작업에 앞서 aw-parser와 aw-report파일을 열어서 perl의 경로를 맞게 설정해 줘야 한다.

Accesswatch 프로그램은 perl로 프로그램 되어 있으며 시스
템에 perl의 경로를 확인하여 aw-parser와

aw-report파일을 vi등으로 열어서
반드시 perl경로를 맞추어야만 동작한다. 만약 perl의 경로를 모른다면

다음
과 같이 확인 할 수 있다.

perlpath.gif

 

대부분 perl의 경로는 /usr/bin/perl 또는 /usr/local/bin/perl 이렇게 되어 있다.

거의 대부분의 UNIX계열 시스템이나 LINUX에서는 이렇게 설정되어 있
을 것이다.  

참고로 이런 방법 외에도 다음과 같은 방법으로 perl의 경로를
확인할 수 있다.

 

         whereis perl

         find / -name perl -print

 

  이제 aw-parser파일과 aw-report파일을 열어서 첫 번째 행에 있는 perl의 실행경로를 수정해 주기 바란다.

이제 perl의 경로를 맞추었다며 parsing을
하고 그 다음 reporting을 하는 작업을 하면 된다.

다음의 두 명령으로 작업
을 하게 된다.

        

         ./aw-parser

         ./aw-report

 

  이 작업에 대한 실제 예를 들어 보았다. 실행순서는 parsing을 한 후에 reporting 순으로 실행되며 에러없이

진행되어 분석결과저장까지 끝났다면
대부분 다음과 같은 메시지를 보여준다.

parser-report.gif

   

  한가지 주의할 것은 분석하는 로그파일의 위치에 "access_log"파일이 존재해야 한다는 것이다.

만약 Accesswatch의 홈디렉토리와 로그파일의 위치가
다르다면 다음과 같은 옵션으로 로그파일이

존재하는 위치를 절대경로로 지
정해 주면 된다.

 

                ./aw-parser -l /home/sspark/logs/access_log

 

  다음 그림은 분석결과가 들어가 있는 디렉토리를 보여주고 있다.

처음에
Accesswatch를 설치하게되면 이 디렉토리에는 dat와 img라는 디렉토리만 있게 되지만

로그분석후에는 다음 그림에서 보는 바와 같이 index.html파일
들과 몇 개의 파일들이 생겨난다.

reportdir.gif

       

  이제 간단한 분석작업이 끝났다. 이 결과를 다음과 같은 웹브라우즈로 확인해 보도록 하자.

 

        결과보기 : http://www.manualand.co.kr/aw/report

 

  만약 웹브라우즈로 로딩이 되지 않는다면 public_html디렉토리 혹은 report디렉토리에 일반 사용자의

읽기나 실행권한이 없는 경우가 있을 수 있을 수
있으므로 디렉토리 퍼미션을 확인해 보도록 한다.

Accesswatch를 처음으로
설치하여 사용하게 되면 거의 대부분 다음과 같이 permission문제 때문에

석결과를 웹으로 볼 수 없는 경우가 많다.

물론 이 글을 적고있는 필자도 이와 같은 경험을 했었다.

 aw 디렉토리에 대한 permission을 다음과 같이 설
정하도록 한다.

웹에서 보려면 읽기권한(r)과 실행권한(x)가 필요하다.

물론 홈페이지 관리자 외에 다른 누구도 보지 못하게 하려면 hapasswd등의 방법으로 인증창을 띄워서

관리자만 접속해 볼 수 있도록 하는 지혜도 필요할
것이다.

chmodaw.gif

         

  다들 알고 있듯이 위의 방법외에도 "chmod 705 aw"와 같은 방법이 있다.

icon01.gif title08.gif

 

  지금까지 작업한 것은 옵션없이 가장 기본적인 방법으로 분석작업을 한 것이며 aw-parser 작업과 aw-report작업에는 다음과 같은 여러 가지 옵션이 있다. 이들 옵션을 알아두면 다양한 방법으로 작업을 할 수 있다.

 

      icon04.gif 1. accesswatch명령행 옵션           

 

        -v 옵션 (Verbose mode)

  Accesswatch로 로그분석하는 동안 작업내역을 보여준다.

 

        예) aw-parser -v

           aw-report -v

 

         -q 옵션 (Quiet mode)

  특별한 메시지 없이 작업을 끝낸다. 작업내역을 보여주지 않는다.

  

        예) aw-parser -q

          aw-report -q

 

         -c 옵션 (Configuration file)

  accesswatch.cfg 파일을 지정해서 작업할 수 있습니다.

 

        예) aw-parser -c /home/sspark/aw/accesswatch.cfg

            aw-report -c /home/sspark/aw/accesswatch.cfg

 

 

              icon04.gif 2. aw-parser에 대한 옵션

  

 다음 옵션은 parsing작업에 대한 옵션이다.

 

         -l 옵션 (Access Log)

  로그파일을 별도로 지정해서 작업할 수 있다.

 

        예) aw-parser -l /home/sspark/public_html/logs/access_log

 

        -e 옵션 (Erase data files)

  이미 분석되어 있는 통계들을 제거하고 분석결과를 새로 작성한다.

 

        예) aw-parser -e

 

 

              icon04.gif 3. aw-report에 대한 옵션

 

  다음은 보고서를 만들어 내는 작업에 대한 옵션이다.

 

         -o 옵션(Report path)

  분석한 결과를 저장한 Report 디렉토리를 지정할 수 있다.

 

        예) aw-report -o /home/sspark/public_html/aw/report

 

  

         -r 옵션(Report Range)

  분석작업을 할 때 일정기간을 작업기간으로 정해 둘 수 있다. 즉, 분석에

포함할 시작시간과 마지막 시간까지를 지정한다.

   기간지정형식 : YYYYMMDDHH-YYYYMMDDHH

 

  예) aw-report -r 1999090100-19990910

 

             icon04.gif 4. 추천옵션

 

  로그파일의 위치를 지정해서 parsing작업을 하고 결과를 저장할 디렉토리

를 지정해서 reporting 작업을 하는 것이 가장좋다. 즉, 다음과 같이 하면 로

그파일의 위치와 Accesswatch 홈디렉토리, 그리고 결과가 저장될 위치가 같

지 않아도 훌륭하게 운용할 수가 있다.

 

        예)aw-parser -l /home/sspark/logs/access_log

         aw-report -o /home/sspark/public_html/aw/report

 

 

 

 

              icon04.gif 5. 여러개의 분석작업을 한번에 하기

 

  다음은 웹호스팅사업을 하는 분들이 사용하기에 적합한 옵션이다. 하나의

서버에 아파치를 설치하고서 수십개의 도메인으로 웹호스팅 서비스를 하려

할 때 각각의 사용자에 따라서 accesswatch.cfg파일을 별도로 관리하면서 각

각의 accesswatch.cfg파일내에 가입자의 로그디렉토리를 별도로 지정하고 가

입자의 분석결과가 쌓일 곳을 별도로 지정해주면 accesswatch 하나를 설치

하더라고 몇백이 넘는 웹호스팅 가입자들을 모두 따로 분석해 줄 수 있다.  

참고로 웹호스팅 서비스를 하고 있는 서버에는 사용자들에게 필요한 어떤

프로그램을 하나만 설치해 두고 이들 프로그램을 사용자들이 독립적으로 사

용할 수 있도록 링크되어 있거나 환경파일에 알맞게 설정되어 있는 것이 대

부분이다.

  

        aw-parser -c /accesswatch_home_path/user1domain.com.cfg

        aw-report -c /accesswatch_home_path/user1domain.com.cfg

        ....

        aw-parser -c /accesswatch_home_path/user2domain.co.kr.cfg

        aw-report -c /accesswatch_home_path/user2domain.co.kr.cfg      

icon01.gif title09.gif

 

  이제 분석결과를 웹브라우즈로 확인해 보자. Accesswatch의 결과들은 다음과 같은 6개의 항목으로 되어 있다.

각 항목들 사이는 "Previous Page"와 "Next Page"로 이동할 수 있으며 각 항목들을 클릭함으로써 볼 수도 있다.

 

        ● Summary : 통계의 전체적인 요약

        ● Pages     : 각 페이지별 엑세스 건수와 통계

        ● Domains  : 도메인을 통해 국가별 방문정보

        ● Hosts     : 어디로부터 많이 들어왔나에 대한 건수와 통계

        ● Hourly    : 시간대별 접속건수를 막대그래프로 보여준다.

        ● Days    :  일별 접속건수를 막대그래프로 보여준다.

 

 

        icon04.gif ① Summary

Summary 항목에는 다음과 같은 정보들이 있다.

 

re_summary.gif

  

 

        ⓐ 총 hit 건수

        ⓑ 총 access 건수

        ⓒ 각 방문자들이 본 평균 페이지 수

        ⓓ 각 방문자들에게 다운로드 된 평균용량

        ⓔ 전체 방문건수의 유일방문건수에 호스트들의 평균방문건수

        ⓕ orgname에서 지정한 곳으로 부터의 방문건수

        ⓖ 외부네트워크로부터의 방문건수

 

 

                icon04.gif ② Pages

 그림에서 보는 바와 같이 Pages 항목에는 다음과 같은 정보들이 있다.

re_pages.gif

     

 

        ⓐ 분석기간동안의 총 방문 호스트 수

        ⓑ 각 호스트들이 본 평균 페이지 수

        ⓒ 각 호스트들로 다운된 평균용량

        ⓓ 각 페이지 위치에 대한 접속건수와 백분비

 

                icon04.gif ③ Domains

re_domains.gif

             

 

  그림에서 보는 바와 같이 도메인이름 체계에서 1단계에 해당하는 도메인

(com, org, net, kr, jp등)별로 통계건수를 보여준다.

 

 

                icon04.gif ④ Hosts

re_hosts.gif

 

 

  Hosts 항목에서는 방문한 Hosts들의 IP Address와 hit수에 대한 정보를

보여준다.

 

 

                icon04.gif ⑤ Hourly

re_hourly.gif

 

        ⓐ 시간대별 접속건수에 대한 막대그래프 정보

        ⓑ 시간당 평균 Hit 수

        ⓒ 시간당 최대 Hit 수

        ⓓ 일평균 Hit 수

 

 

                icon04.gif ⑥ Days

re_days.gif

 

        ⓐ 일별 접속건수에 대한 막대그래프 정보와 수치정보

        ⓑ 일평균 Hit 수

        ⓒ 일별 최고 Hit 수

        ⓓ 일별 최저 Hit 수

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,278 명
  • 현재 강좌수 :  36,955 개
  • 현재 접속자 :  290 명