강좌

HOME > 강좌 >
강좌| 리눅스 및 오픈소스에 관련된 강좌를 보실 수 있습니다.
 
AccessWatch 설치 및 운용
조회 : 5,200  


 

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

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

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

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

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

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

 

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

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

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

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

두 기록하도록 한다.

 

 

                 

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

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

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

 

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

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

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

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

 

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

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

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

 

 

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

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

있다.

                 tar xvfz accesswatch-2_02_tar.gz

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

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

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

음과 같다.

        

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

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

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

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

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

 

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

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 #####################

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

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

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

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

 

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

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

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

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

 

대부분 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 순으로 실행되며 에러없이

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

   

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

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

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

 

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

 

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

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

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

       

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

 

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

 

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

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

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

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

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

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

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

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

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

         

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

 

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

 

       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

 

 

               2. aw-parser에 대한 옵션

  

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

 

         -l 옵션 (Access Log)

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

 

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

 

        -e 옵션 (Erase data files)

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

 

        예) aw-parser -e

 

 

               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

 

              4. 추천옵션

 

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

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

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

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

 

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

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

 

 

 

 

               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      

 

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

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

 

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

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

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

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

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

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

 

 

         ① Summary

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

 

  

 

        ⓐ 총 hit 건수

        ⓑ 총 access 건수

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

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

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

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

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

 

 

                 ② Pages

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

     

 

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

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

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

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

 

                 ③ Domains

             

 

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

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

 

 

                 ④ Hosts

 

 

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

보여준다.

 

 

                 ⑤ Hourly

 

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

        ⓑ 시간당 평균 Hit 수

        ⓒ 시간당 최대 Hit 수

        ⓓ 일평균 Hit 수

 

 

                 ⑥ Days

 

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

        ⓑ 일평균 Hit 수

        ⓒ 일별 최고 Hit 수

        ⓓ 일별 최저 Hit 수


[원글링크] : https://www.linux.co.kr/home2/board/subbs/board.php?bo_table=lecture&wr_id=509


이 글을 트위터로 보내기 이 글을 페이스북으로 보내기 이 글을 미투데이로 보내기

 
박성수
파파
헐렁고수