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 주소나 도메인 이름으로 대체해주세요.
이제 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
'리눅스' 카테고리의 다른 글
ssh 접속 시 no matching key exchange method found 에러 (0) | 2022.02.22 |
---|---|
CentOS 7에 Apache2의 확장 모듈인 Evasive를 설치하는 방법 (0) | 2022.02.09 |
[linux] rpcgen install for centos 8 (0) | 2022.01.27 |
nmap 명령어 (0) | 2022.01.24 |
curl 명령어로 웹사이트 로딩 속도를 테스트하는 방법 (0) | 2022.01.21 |