System/OS

[linux] 웹로그분석기(webalizer) 설치 & 팁

by hooni posted Apr 23, 2003
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
제목 : 웹 로그 분석 프로그램 webalizer 
분류 : OS : 한글 솔라리스 2.6 , 알짜리눅스 5.2 
System 관리 - log 
활용예 : 아파치 로그에 적용하기 
최종 수정일 : 2000-02-26 
글 버젼 : 0.2 
글 쓴이 : 김형숙 
Copyright 업슴. 그러나 원문의 인용시 김형숙의 글임을 확인해 주세요. 

-1. 이 프로그램은 알짜 리눅스에서 작동을 확인했습니다. 
지금은 솔라리스에서도 같은 결과를 얻기 위해서 이 문서를 재 작성 했 
습니다. 

Webalizer는 웹로그를 분석해서 웹페이지 형식으로 보여 주는툴 입니다. 

0. 목차 
1. 소프트웨어 요구 사항 
2. Webalizer설치 
3. Webalizer설정 
4. logrotate와 같이 쓰기 


1. 소프트 웨어 
* zlib (http://www.cdrom.com/pub/infozip/zlib) 알짜는 기본(혼자 생각) 
* gd liberay (http://http://www.boutell.com/gd) 알짜는 기본(혼자 생각) 
중요 gd 1.6 이후 버젼에는 gdImageGif 함수가 없기때문에 꼭 gd 1.5 버젼을 설치 해야 한다.
* webalizer (http://www.mrunix.net/webalizer)
* logrotate (레드햇 사이트)

2. 프로그램 구하기 
2.1 zlib 
자세한 정보는 INSTALL 파일 참조 
[root@solar zlib]# ./configure --prefix=/usr/local 
[root@solar zlib]# make all 
[root@solar zlib]# make install 

2.2 gd liberay 
[root@solar gd-1.5]# make all 
모든 실행파일은 /usr/local/bin 
모든 헤드파일은 /usr/local/include 
libgd.a 는 /usr/local/lib 
에 카피해서 넣는다 

2.3 Webalizer 컴파일 하기 
소스를 받아서 컴파일 하면 한글 지원을 할수 있었습니다. 
[root@solar webalizer]# ./configure --prefix=/usr/local/webalizer -- 
with-language=korean 
[root@solar webalizer]# make all 
[root@solar webalizer]# make install 
설치 에러가 나면 직접 카피를 한다. 
위의 configure 에서 prefix=/usr/local/webalizer 
이기에 이 디렉토리가 미리 존재 해야 합니다. 
/usr/local/webalizer 
/usr/local/webalizer/bin 
/usr/local/webalizer/man 
/usr/local/webalizer/man/man1 
이렇게 디렉토리를 만들어 주고서 
make install 
을 합니다. 
그러면.. 어느 파일이 어디로 카피되는지 알수 있습니다. 
이 이후.. /etc/에 가 보시면 
webalizer.conf.sample 이 있습니다. 

3. Webalizer설정 
/etc/webalizer.conf 로 복사해서 편집을 합니다. 

#LogFile /var/lib/httpd/logs/access_log
#로그분석할 로그 파일 
LogFile /usr/local/apache/logs/access_log

#LogType web 
#로그 타입 
LogType web

#OutputDir /var/lib/httpd/htdocs/usage 
#로그분석후 분석 페이지 출력 디렉토리 
OutputDir /usr/local/apache/htdocs/usage

#HistoryName webalizer.hist 
#로그히스토리 파일 
HistoryName webalizer.hist 

#Incremental no 
#이 설정이 중요한데 이전의 모든 분석 결과를 나 름대로 저장해 놓았다가 분석이후의 로그만 분석 하도록 설정 
Incremental yes

#IncrementalName webalizer.curren 
#로그분석의 최근 파일 위의 Incremental yes 의 경우 해당 
IncrementalName webalizer.curren 

#HostName localhost 
#웹 사이트 이름 
HostName Myhome.home 

#분석되어질 페이지 type 에 php3 추가 
PageType php3
#분석되어질 페이지 type 에 php 추가  
PageType php 


필요할때마다 로그분석을 하여도 되지만.. 
cron을 이용해서 매일 분석 하게끔 하여 줄수 있다. 
이 부분은 리눅스 초심자들이 궁금해 할까 적다
3.1알짜 리눅스의 경우 
/etc/cron.daily 디렉토리에 아래와 같은 파일을 생성 하면 webalizer 라는 파일을 생성 하고
그 내용은 
!/bin/sh 
/usr/local/webalizer/bin/webalizer 


3.2 솔라리스의경우 
/var/spool/cron/crontabs/root 
30 15 * * * /usr/local/webalizer/bin/webalizer 추가 
kill -HUP cronpid <==초보을 위해서 cronpid는 ps -ef | grep cron 하면 알수 있다

4. logrotate와 같이 쓰기 
logrotate는 레드햇리눅스에서 로그를 일정 시간마다 압축 보관 관리를 해주는 유틸입니다. 
이 logroate는 솔라리스로 포팅하기위해서는 logrotate를 사용한 아파치 로그 관리를 보기 바람.
그래서 아파치 로그를 이 logrotate가 먼저 cron에서 실행이되면 로그 분석 이후의로그가 사라져 버림.
그렇기에 logrotate를 실행하기 이전에 webalizer가 실행되 게끔 해야 한다 알짜의 경우 cron은 파일의 이름으로 소팅해서 실행하는것으로 보이는데(?? 정확치 않음)
그래서 단순히 webalizer의 이름을 logrotate보다 알파벳 l보다 낮은 이름으 로 하면된다.
k_webalizer 라고 이름을 바꾸면 좋은 예일것 같다 
솔라리스의 경우는 crontab 에서 시간을 지정할수 있기에 한 30분 가량의 여유를 두고 실행하는 것이 좋을것 같다.
그렇지만 그 30분간의 로그는 역시 사라진다.