본문 바로가기

리눅스

CentOS 8에서 Webalizer를 설치하는 방법

728x90

CentOS 8에서 Webalizer를 설치하는 방법

Webalizer는 웹 서버 로그를 분석하고 웹 사이트 트래픽을 시각화하는 데 사용되는 오픈 소스 웹 로그 분석 도구입니다. Webalizer는 다양한 유형의 웹 서버 로그를 지원하며, 다양한 시간 범위 및 요약 수준으로 웹 사이트 트래픽을 분석할 수 있습니다. Webalizer는 또한 웹 사이트 트래픽의 원천을 분석하고, 가장 인기 있는 웹 페이지를 식별하고, 각 웹 페이지의 평균 다운로드 시간을 계산할 수 있습니다.

 

Webalizer를 사용하려면 먼저 웹 서버 로그를 Webalizer의 데이터베이스에 저장해야 합니다. Webalizer는 다양한 방법으로 웹 서버 로그를 가져올 수 있습니다. 가장 일반적인 방법은 Webalizer를 웹 서버에 설치하고 웹 서버 로그를 Webalizer의 데이터베이스로 자동으로 전송하는 것입니다. Webalizer를 설치하지 않고도 웹 서버 로그를 Webalizer의 데이터베이스로 가져올 수도 있습니다.

 

Webalizer의 데이터베이스에 웹 서버 로그가 저장되면 Webalizer를 사용하여 웹 사이트 트래픽을 분석할 수 있습니다. Webalizer의 인터페이스는 매우 직관적이므로 웹 사이트 트래픽을 분석하는 데 어려움이 없습니다. Webalizer는 다양한 유형의 보고서를 생성할 수 있습니다. 가장 일반적인 보고서는 웹 사이트의 전체 트래픽을 요약하는 월별 보고서입니다. Webalizer는 또한 특정 웹 페이지의 트래픽을 분석하는 보고서를 생성할 수 있습니다.

 

Webalizer는 웹 사이트 트래픽을 분석하는 데 매우 유용한 도구입니다. Webalizer를 사용하면 웹 사이트 트래픽의 원천을 분석하고, 가장 인기 있는 웹 페이지를 식별하고, 각 웹 페이지의 평균 다운로드 시간을 계산할 수 있습니다. 이 정보를 사용하여 웹 사이트의 성능을 개선하고 웹 사이트 트래픽을 증가시킬 수 있습니다.

 

Webalizer를 사용하면 다음과 같은 이점이 있습니다.

  • 무료 및 오픈 소스 소프트웨어입니다.
  • 사용하기 쉽고 사용자 친화적인 인터페이스를 제공합니다.
  • 다양한 웹 서버 로그를 지원합니다.
  • 월별 보고서, 시간별 보고서, 개별 페이지에 대한 자세한 보고서 등 다양한 보고서를 생성할 수 있습니다.
  • 고도로 사용자 정의할 수 있습니다.
  • 확장 가능하여 많은 양의 데이터를 처리할 수 있습니다.

무료이고 사용하기 쉬운 웹 로그 분석 도구를 찾고 있다면 Webalizer는 좋은 선택입니다.

테스트 환경

$ cat /etc/redhat-release
CentOS Linux release 8.2.2004 (Core)

$ getconf LONG_BIT
64

 

1. EPEL 저장소 설치

sudo dnf install epel-release

 

2. Webalizer 설치

sudo dnf install -y webalizer
  • Webalizer 명령어의 주요 옵션 설명
    • -c <config_file>: 지정된 구성 파일을 사용하여 Webalizer를 실행합니다.
    • -d: 디버그 모드로 실행하여 추가 디버그 정보를 표시합니다.
    • -F <log_format>: 사용자 정의 로그 형식을 지정합니다.
    • -N <name>: 보고서에 표시될 웹 사이트의 이름을 지정합니다.
    • -o <output_dir>: 보고서 파일을 저장할 디렉토리를 지정합니다.
    • -r <report_file>: 이전에 생성된 보고서 파일을 다시 생성합니다.
    • -s <start_date>: 보고서의 시작 날짜를 지정합니다.
    • -e <end_date>: 보고서의 종료 날짜를 지정합니다.
    • -q: 실행 중에 사용자 입력을 요구하지 않고 실행을 완료합니다.
    • -p: 출력을 PDF 형식으로 생성합니다.
    • -x <exclude_file>: 지정된 파일에 나열된 IP 주소 또는 호스트를 제외합니다.
    • -C: 표준 출력 대신 보고서를 압축된 형식으로 생성합니다.
    • -T <template_file>: 사용자 정의 HTML 템플릿 파일을 지정합니다.
    • -h: 도움말과 사용법을 표시합니다.
  • webalizer 버전 정보
$ webalizer -V
Webalizer V2.23-08 (Linux 4.18.0-193.28.1.el8_2.x86_64 x86_64) English
Copyright 1997-2013 by Bradford L. Barrett

 

3. Webalizer 구성

Webalizer는 Apache의 액세스 로그 파일을 읽어 웹 사이트 통계를 생성합니다. 기본적으로, /var/log/httpd/access_log 경로에 있는 메인 Apache 액세스 로그 파일을 분석하도록 설정되어 있습니다. 원하는 대로 Webalizer 구성 파일인 /etc/webalizer.conf를 편집하여 필요한 설정인 LogFile, OutputDir, Hostname 등을 수정할 수 있습니다.

cd /docker-container/docker-nginx/html
mkdir {serv-01,serv-02,serv-03,serv-04,serv-05,serv-06}
vim serv-01/webalizer.conf
LogFile /tmp/access.log

OutputDir /docker-container/docker-nginx/html/serv-01

HistoryName /docker-container/docker-nginx/html/serv-01/webalizer.hist

Incremental yes
IncrementalName	/docker-container/docker-nginx/html/serv-01/webalizer.current

ReportTitle sangchul.kr Usage Statistics for

HostName serv-01

ReallyQuiet yes

PageType	htm*
PageType	cgi
PageType        php
PageType        shtml
DNSCache        /docker-container/docker-nginx/html/serv-01/dns_cache.db
DNSChildren	10
Quiet		yes
FoldSeqErr	yes
CountryGraph	yes
HideURL		*.gif
HideURL		*.GIF
HideURL		*.jpg
HideURL		*.JPG
HideURL		*.png
HideURL		*.PNG
HideURL		*.ra
SearchEngine	yahoo.com	p=
SearchEngine	altavista.com	q=
SearchEngine	google.com	q=
SearchEngine	eureka.com	q=
SearchEngine	lycos.com	query=
SearchEngine	hotbot.com	MT=
SearchEngine	msn.com		MT=
SearchEngine	infoseek.com	qt=
SearchEngine	webcrawler	searchText=
SearchEngine	excite		search=
SearchEngine	netscape.com	search=
SearchEngine	mamma.com	query=
SearchEngine	alltheweb.com	query=
SearchEngine	northernlight.com  qr=

Webalizer를 사용하여 새로운 구성 파일을 생성하는 명령

webalizer -c /docker-container/docker-nginx/html/serv-01/webalizer.conf

 

4. Webalizer 보고서 생성

구성 파일을 업데이트한 후, 다음 명령을 사용하여 Webalizer 보고서를 생성합니다.

(Webalizer를 사용하여 이전에 생성된 보고서를 다시 생성하는 명령)

webalizer -r http://www.sangchul.kr -n www.sangchul.kr -o /docker-container/docker-nginx/html/serv-01 /tmp/access.log

이 명령은 액세스 로그 파일을 분석하고 통계 보고서를 생성합니다. 보고서 파일은 구성 파일에서 지정한 OutputDir에 저장됩니다.

 

5. Webalizer 보고서 접근

생성된 보고서는 웹 브라우저를 통해 접근할 수 있습니다. 기본적으로 보고서는 /var/www/html 디렉토리에 저장됩니다. 다음 URL을 사용하여 접근할 수 있습니다: your_server_ip를 실제 서버의 IP 주소나 도메인 이름으로 대체해주세요.

출처-https://linuxreviews.org/Webalizer

이제 CentOS 8에 Webalizer를 성공적으로 설치하고 구성했습니다. 웹 사이트의 액세스 로그를 분석하고 생성된 통계 보고서를 확인할 수 있습니다.

webalizer.sh 스크립트 생성

vim webalizer.sh
#!/bin/bash

yesterday=$(date --date="-1 day" +"%Y%m%d")
confDir=/docker-container/docker-nginx/html
webServerNames=(
  "serv-01"
  "serv-02"
  "serv-03"
  "serv-04"
  "serv-05"
  "serv-06"
)

for serverName in "${webServerNames[@]}"; do
  echo "Hostname: $serverName"
  zcat "/logs/access/$serverName-www.sangchul.kr-access-$yesterday.log.gz" > /tmp/access.log
  webalizer -c "$confDir/$serverName/webalizer.conf"
  rm -f /tmp/access.log
done

docker rm -f nginx-webalizer

docker run -d -p 8080:80 --rm -v /docker-container/docker-nginx/html:/usr/share/nginx/html:ro --name nginx-webalizer nginx
chmod +x /docker-container/docker-nginx/webalizer.sh
crontab -e
###webalizer
10 09 * * *	/bin/bash /docker-container/docker-nginx/webalizer.sh > /dev/null 2>&1

 

728x90