| 원격 로그분석툴 awstats | 작성일 : 2007/03/10 11:05 |
| 조회수 : 10874 |
|
작성 : 2005. 12. 1. kaien 프로젝트 : 모 사이트 1. 개요 A. 현재 웹 서비스 서버에 대한 웹로그 분석이 필요. 2. 방법 A. 서비스 서버에서 로그분석은 피하고 x.x.x.x 백업서버에서 각 서버의 로그 파일을 가져와서 분석하게 함. B. 분석툴로는 awstats를 사용함. ( http://awstats.sourceforge.net ) 3. 세팅 A. 환경설정 # tar xvfz awstats-6.4.tgz # mv awstats-6.4 /usr/local/awstats # chmod 755 /usr/local/awstats/ # chown -R root.root /usr/local/awstats/ # mkdir /etc/awstats # mkdir /var/lib/awstats B. 인스톨 # cd /usr/local/awstats/tools # ./awstats_configure.pl i. 스크립트가 실행되는데 3가지 정도를 물어본다. 모두 'y'라고 하고 도메인을 적으면 awstats.도메인.conf 형식으로 생성된다. ii. 설정 파일 변경 ( ex ) http://cacti.xxx.com ) 1. vi /etc/awstats/awastats.xxx.com.conf # If there is several log files from load balancing servers : # Example: "/pathtotools/logresolvemerge.pl *.log |" # #LogFile="/var/log/httpd/mylog.log" 이 부분에 삽입한다. LogFilie="/usr/local/apache2/log/cacti.xxx-access-log" # Example: "myintranetserver" # Example: "www.domain.com" # Example: "ftp.domain.com" # Example: "domain.com" # SiteDomain="cacti.xxx.com" # Note: Use space between each value. # Note: You can use regular expression values writing value with REGEX[value]. # Note: You can also use @/mypath/myfile if list of aliases are in a file. # Example: "www.myserver.com localhost 127.0.0.1 REGEX[mydomain\.(net|org)$]" # HostAliases="cacti.xxx.com www.cacti.xxx.com 127.0.0.1 localhost" C. 아파치 httpd.conf 수정 i. 기본적으로 www 로 들어갈 것이다. 그래서 현재 아파치에서 cgi-bin 경로를 수정해줘야된다. Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/" Alias /awstatscss "/usr/local/awstats/wwwroot/css/" Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/" ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/" # # This is to permit URL access to scripts/files in AWStats directory. # <Directory "/usr/local/awstats/wwwroot"> Options None AllowOverride None Order allow,deny Allow from all </Directory> ii. Awstats를 아파치 로그포맷중 하나인 combined 를 지원한다. Common 이였던 로그 형태를 아래와 같이 combined 로 수정한다. CustomLog logs/monitoring.xxx.com-access_log combined env=!not_log D. 다른 웹서버에서 x.x.x.x로 로그 파일을 scp를 이용해서 주기적으로 보낸다. i. 172 웹서버 ( ex. Log.sh) #!/bin/bash scp /usr/local/apache2/logs/xxx-access_log xxx@x.x.x.x:/usr/local/apache2/logs/remote scp /usr/local/apache2/logs/dnplaza-access_log xxx@x.x.x.x:/usr/local/apache2/logs/remote scp /usr/local/apache2/logs/djplaza-access_log xxx@x.x.x.x:/usr/local/apache2/logs/remote scp /usr/local/apache2/logs/hansaem-access_log xxx@x.x.x.x:/usr/local/apache2/logs/remote E. Awstats 에서 분석해야 할 로그들을 스크립트로 작성하여 일괄적으로 분석하게끔 한다. #!/bin/bash /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=cacti.xxx.com /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=xxx.com /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=xxx.co.kr /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=xx.co.kr /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=xx.com /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=xx.com /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=webmail.xxx.com F. 실행을 하게 되면 차례대로 리모트로 가져온 로그화일들을 분석하게 된다. G. 결과물은 http://cacti.xxx.com/awstats/awstats.pl?config=도메인 식으로 URL 경로가 된다. ( ex ) http://cacti.xxx.com/awstats/awstats.pl?config=xxx.com x.x.x.x 모니터링 사이트 monitoring.xxx.com |
|||||||||
|
|