본문으로 바로가기

[Ubuntu] 우분투 서버모니터링 - Awstats

category 리눅스/Ubuntu 2013. 8. 2. 01:00

우분투에서 Awstats를 이용하여 서버정보를 얻어 보겠습니다.

Awstats 설치

awstats 패키지 설치

sudo apt-get install awstats

awstats 구조

  • /etc/awstats/ : 설정파일 루트 디렉토리
  • /usr/share/awstats/
  • /var/lib/awstats/ : 분석이 끝난 자료를 정리해둔 파일
  • /etc/cron.d/awstats : cron job 에 등록될 내용이 저장되어 있다.
  • /usr/lib/cgi-bin/awstats.pl : 실제 실행 파일(cron 에서 매일 실행하거나, 웹에서 보여줄때 모두 사용된다.)

Awstats 설정

1. 가상호스트를 사용한다면 가상호스트별 설정파일을 만들어 주어야 한다.

기본 설정파일을 복사해 새로운 설정파일을 만든다.

sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.uzuro.com.conf

위에서는 /etc/awstats/awstats.도메인.conf과 같은 방식으로 설정파일을 만들었다.


2. 복사한 파일을 수정한다.

로그파일의 위치는 각자의 로그파일위치를 적용한다.

로그포맷의 값은 설정파일의 주석을 읽고 적당한 값을 적용한다. ( 우분투의 경우 1 )

sudo vi /etc/awstats/awstats.uzuro.com.conf

  LogFile="/var/www/uzuro.com/logs/access.log"
  LogFormat=1
  SiteDomain="uzuro.com"
  HostAliases="www.uzuro.com localhost 127.0.0.1"
  DNSLookup=0

awstats는 한글을 지원한다.

Lang="ko"


3. 로그파일을 업데이트한다.

sudo /usr/lib/cgi-bin/awstats.pl -config=uzuro.com -update

Apache 설정

awstats.conf 파일을 만들고 그 안에 아래의 내용을 적용한다. 만약, 특정 가상호스트만을 사용하고 싶다면 해당 가상호트에 아래의 내용을 적용하면 된다.

sudo vi /etc/apache2/conf.d/awstats.conf

  Alias /awstatsclasses "/usr/share/awstats/lib/"
  Alias /awstats-icon/ "/usr/share/awstats/icon/"
  Alias /awstatscss "/usr/share/doc/awstats/examples/css"
  ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
  ScriptAlias /awstats/ /usr/lib/cgi-bin/
  Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

Apache(아파치) 재시작

sudo service apache2 restart

접속하기

http://사이트도메인/awstats/awstats.pl

플러그인 사용

설정파일은 /etc/awstats/awstats.도메인명.conf 이다.

튤팁 활성화

LoadPlugin="tooltips"

GeoIP 활성화

GeoIP와 GeoLiteCity를 이용하여 국가별/도시별 접속자를 알아낸다.

GeoIP 설치

sudo apt-get install libgeoip1 libgeoip-dev libgeo-ip-perl

GeoLiteCity 설치

wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gzip -d GeoLiteCity.dat.gz 
sudo mv GeoLiteCity.dat /usr/share/GeoIP/
sudo chown root.root GeoLiteCity.dat

GeoIP를 활성화 시키기 위해서 다음 라인을 활성화 시켜고, GeoIP.dat 파일 경로를 적어준다.

LoadPlugin="geoip GEOIP_STANDARD /usr/share/GeoIP/GeoIP.dat"

GeoIP 아래에 아래와 같은 플러그인이 있는데 경로명 마지막에 GeoIPCity.dat을 GeoLiteCity.dat 으로 변경한다.

LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/share/GeoIP/GeoIPCity.dat"

cron 등록

자동적으로 정해진 시간에 업데이트 하도록 cron을 설정한다.

sudo vi /etc/crontab

  0 0/3 * * * www-data /usr/lib/cgi-bin/awstats.pl -config=yourdomain.ext -update > /dev/null