[apache] WebAlizer 사용하여 apache log 분석하기

apache log를 분석해서 통계를 내고 싶을때.. webalizer를 이용한다.
전에 좀 급하게.. 간단학 추출할 일이 있어서.. 그냥 쉘스크립트를 써서 접근이 많은 패이지를 찾은적이 있었는데.. (참조:apache log 분석(페이지별 접속수))
이걸 설치하면 좀 더 편할것아서.. 설치해봤다.

1. 설치는 yum으로 설치하니 간단하다.

[root@www ~]# yum install webalizer

2. conf  파일 수정

# vi /etc/webalizer.conf

해서.. 몇가지 수정/확인

LogFile        /usr/local/apache/logs/access_log    # <-- 분석할 apache log 파일 지정 (실행할때 지정할 수도 있다.)
OutputDir      /var/www/usage    # <-- 결과 저장할 위치. 웹에서 보기 위해 나중에 httpd.conf 에서 수정해준다.
Incremental     yes         #  <-- apache_log 파일을 분석할때 기존 자료에 덧붙일껀지.. 현재 log file만 분석할건지 결정.(yes면 기존보존)
IncrementalName /var/lib/webalizer/webalizer.current  # <-- Incremental값이 yes일때 쓴다는데.. 그냥 기본값 그대로 썼다.

나머지는 그냥.. 그대로 놔뒀다.

3. apach 설정

# vi /usr/local/apache/log/httpd.conf

해서 다음 추가

Alias /usage "/var/www/usage"
<Directory "/var/www/usage">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

혹시나 특정 IP에서만 보고싶다면.. 다음과 같이 한다.

Alias /usage "/var/www/usage"
<Directory "/var/www/usage">
    AllowOverride None
    Options None
    Order deny,allow
    Allow from 192.168      # <-- 여기에 접속하고 싶은 ip를 적는다.
    Deny from all               # <-- 나머지는 모조리 막는다.
</Directory>

apache 재시작 (httpd.conf를 적용시키기 위해 재시작한다.

[root@www ~]# /usr/local/apache/bin/apachectl restart

4. webalizer 실행

[root@www ~]# webalizer -c /etc/webalizer.conf

이렇게 하면 webalizer.conf에 지정한 Logfile을 분석한다.
특정 logfile 을 분석하고 싶다면.

[root@www ~]# webalizer -c /etc/webalizer.conf /usr/local/apache/logs/localhost-access.200907

위와 같이 logfiile명을 기록한다.

5. 그외…
apache log를 주기적으로 생성하고, 그와 함께 webalizer를 돌리는 쉘스크립트를 만든다음에..
그걸 crontab 에 걸어두면 괜찮을것 같은데.. 이건 담에 정리해서 추가하든지 하지 뭐.. (귀찮으면 안할 수도 있고..)

Loading

“[apache] WebAlizer 사용하여 apache log 분석하기”에 대한 2개의 댓글

iloveyou 에 응답 남기기응답 취소