webalizer 설치
컨텐츠 정보
- 17,744 조회
- 12 추천
- 목록
본문
1. webalizer 설치
webalizer를 사용하기 위해서는 기본적으로 gd라이브러리가 설치되어 있어야 한다. 이는 웹상에 통계 결과를 그림(그래프)으로 출력하기 위해서 필요한 라이브러리이다. gd 그래픽 라이브러리는 http://www.boutell.com/gd 에서 구할 수 있다.
webalizer는 webalizer의 홈페이지인 http://www.mrunix.net/webalizer/ 에서 구할 수 있다. 바로 다운받고자 한다면 다음의 ftp 사이트를 이용하면 된다.
ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.01-06-src.tgz
ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.01-06-linuxelf-bin.tgz
레드햇 리눅스 패키지를 구하고 싶다면 powertools에서 찾아보면 된다. 다음은 레드햇 영문판의 powertools에서 webalzier-2.01-06을 찾을 수 있다. webalizer는 여러 언어를 지원하는데 기본이 영어로 설정되어 있다. 만약 한글을 보고 싶다면 소스 RPM을 다운받아 webalizer.spec에서 $configure --enable-dns --with-language=korean와 같이 --with-language=korean을 추가해 주고 리빌드해야 한다.
webalizer 홈페이지에서 직접 소스를 다운받을 경우엔 압축을 풀고 다음과 같은 순서로 컴파일을 하면 된다.
(--enable-dns는 꼭 필요한 것은 아니다.)
#./configure --with-language=korean --enable-dns
#make
#make install
특히 ./configure 할 때 몇가지 옵션을 설정할 필요가 있다. 옵션에 대해 자세한 도움말은 ./configure --help을 통해 볼 수 있다.
2. webalizer 사용
2-1. webalizer 명령의 사용
webalizer의 사용은 webalizer라는 명령어를 통해 로그를 통해 통계를 내고 그 결과를 지정된 디렉토리에 출력 해주는 것으로 그 사용은 단순하다.
webalizer [옵션] [로그파일]
-------------------------------------------------------------------------------------
[표-1] webalizer의 일부 옵션
-F type : 로그 파일의 형식(clf | ftp | squid)을 결정한다. 일반적으로 웹서버의 로그 파일인 common log format(clf)와 wu-ftpd의 xferlog format의 ftp, squid의 로그 파일 format인 ftp 세 가지 방식을 지원한다. 기본값은 clf이다.
-c 파일 : 설정 파일을 지정한다. 한 머신에서 여러 개의 webalzier를 통해 각기 통계를 만들고 싶다면 설정 파일을 따로 두어 실행할 수 이따.
-o 경로 : 로그 분석에 대한 통계 결과를 출력할 경로(디렉토리)를 지정한다
-h : webalizer의 도움말을 본다.
-------------------------------------------------------------------------------------
webalzier만을 실행한 경우엔 기본적으로 /etc/webalizer.conf 라는 설정에 따라 로그의 통계를 내고 그 출력을 만들어 낸다. 만약 여러 로그에 대해 서로 다른 출력을 만들어 내고 싶다면 각각에 대해 설정 파일을 따로 만들어 webalizer -c somehost.conf와 같이 실행할 수 있다. 그 외에도 webalizer /var/lib/httpd/logs/access_log 등과 같이 특정 로그를 직접 지정해 줄 수 있다. 이처럼 webalizer에 대한 옵션 및 사용법에 대한 것은 webalizer -h를 사용해 더 자세히 확인할 수 있다.
로그 분석에 대한 통계를 주기적으로 웹으로 출력하기 위해서는 webalizer를 반복적으로 실행할 필요가 있다. 이를 위해 webalizer를 cron에 등록해 놓으면 편리하다. rpm으로 설치한 경우엔 /etc/cron.daily에 00webalizer라는 것이 만들어 진다. 00webalizer의 내용은 다음과 같다.
#!/bin/bash
#update access statistices for the web site
/usr/bin/webalizer
exit 0
만약 소스를 통해 직접 설치했거나 cron에 직접 등록하길 원한다면 root에서 crontab -e를 통해 등록시킬 수 있다. 예를 들어 0시 0분에 webalizer를 실행하고 싶다면 다음과 같이 등록한다.
00 00 * * * /usr/bin/webalizer
그 외에 서로 다른 로그 파일에 대해 webalizer를 이용하고 싶다면 webalizer -c 설정파일을 이용하면 될 것이다. fst의 웹 서버와 ftpd에 대한 두 개의 로그 파일에 대해 webalizer를 이용하고자 할 때 fst-web.conf와 fst-ftpd.conf로 두 개의 설정 파일을 만들어 사용하면 된다. 이를 다음과 같이 cron에 등록시키면 된다.
00 00 * * * /usr/bin/webalizer -c /etc/webalizer/conf/fst-web.conf
00 00 * * * /usr/bin/webalizer -c /etc/webalizer/conf/fst-ftpd.conf
2-2. webalizer의 설정 파일
webalizer를 rpm으로 설치한 경우라면 설정파일의 sample 파일인 webalizer.conf가 /etc에 설치된다. 만약 소스를 가지고 설치한 경우라면 소스 디렉토리에 보면 sample.conf라는 파일이 있는데 이것이 webalizer.conf와 동일한 파일이다. 이 파일을 보면 설정파일에서 사용할 수 있는 다양한 지시자에 대한 상세한 주석이 있다. 이들중 몇 개의 지시자에 대해서 소개하기로 한다.
다음은 fst의 www.fst.or.kr의 webalizer 설정파일의 예다. 보는 바와 같이 설정 파일은 복잡하지 않으며 몇 개의 지시자만으로 충분하다는 것을 알 수 있다.
LogFile /var/log/httpd/www.fst.or.kr-access_log
LogType clf
OutputDir /var/www/html/fst/usage
Incremental yes
HostName www.fst.or.kr
PageType htm*
PageType cgi
HideSite 198.126.*
HideURL *.gif
HideURL *.GIF
HideURL *.jpg
HideURL *.JPG
HideURL *.png
HideURL *.PNG
HideURL *.ra
HideURL *.css
IgnoreURL /~*
IgnoreURL /board/*
설정 파일에서 가장 중요한 지시자로는 LogFile, LogType, OutputDir, HostName이다. 이들에 대해서는 반드시 설정되어야 한다. 그 외의 지시자들은 부가적인 기능을 명시하는 것이다. 위 예에서 사용된 지시자에 대해 정리하면 <표-2>와 같다.
-------------------------------------------------------------------------------------
표-2. webalizer 설정 파일의 지시자
LogFile : 로그 파일의 경로 및 파일을 지정한다.
LogType : 로그 파일의 형식을 지정한다. clf, ftp, squid 가 있으며 기본값은 clf이다.
OutputDir : webalizer로 분석된 결과를 저장할 경로를 지정한다.
Incremental : 이 설정을 yes로 해야 전체적인 로그를 볼 수 있다.
PageType : 웹 페이지라고 말하는 것으로 htm*과 cgi로 지정하는 것이 일반적이다.
HideSite : 로그 파일에서 지정한 사이트에 대해서는 통계에서 숨긴다.(count 결과는 포함)
HideUrl : 로그 파일에서 지정한 URL에 대해서는 통계에서 숨긴다.(count 결과는 포함)
IgnoreURL : 통계에서 지정한 URL에 대해서는 무시한다.(count 결과도 무심된다.)
-------------------------------------------------------------------------------------
3. 다양한 로그 파일들
리눅스 시스템은 다양한 로그를 남긴다. 특히 서버와 관련된 로그 파일은 관리에 있어서 대단히 중요한 역할을 한다. 예를 들어 서버에 불법 침입자가 들어온 경우 이를 쉽게 파악할 수 있는 것이 로그 파일을 통해서이다. 또한 어떤 문제점을 해결하는데 있어서 로그 파일은 중요한 역할을 담당한다.
리눅스의 로그 파일은 /var/log 에 위치하며 일반적으로 텍스트 형식으로 저장되어 있어 간단한 문서 편집기나 cat 또는 less 명령어를 통해 그 내용을 볼 수 있다. 그러나 일부 로그 파일의 경우엔 텍스트 형식이 아닌데, btmp와 wtmp가 바로 그것인데 이들은 각각 lastb와 last라는 명령어를 통해 그 내용을 확인할 수 있다.
로그 파일은 일정 주기로 정리할 필요가 있다. 그렇지 않다면 어느 순간엔 로그 파일에 파일 시스템을 모두 차지하는 상황이 발생할 수 있다. 일반적으로 이러한 문제를 해결하기 위하여 리눅스에는 logrotate라는 프로그램을 사용한다. 이를 이용하면 주기적으로 로그 파일을 삭제 정리한다. 레드햇 리눅스의 경우엔 /etc/logrotate.conf라는 설정 파일이 있으며 이를 통해 logrotate를 설정할 수 있다. 아래는 logrotate.conf의 내용으로 그 의미를 보면 기본적으로 주단위로 4번에 걸쳐 로그 파일을 rotate 시키고 이후엔 삭제 정리하도록 한다. 그리고 에러에 대해선 root에게 알리도록 한다. 단 wtmp와 xferlog의 경우엔 한 달에 한번만 rotate 시키도록 한다. 그 밖에 /etc/logrotate.d에 있는 것들을 logrotate.conf에 읽어들여 실행하도록 하고 있다.
#see "man logrotate" for details
#rotate log files weekly
weekly
#keep 4 week worth of backlogs
rotate 4
#send errors to root
errors root
#create new(empty) log files after rotatinig old ones create
#uncommont this if you want your log files compressed
#compress
#RPM packages drop log rotation information into this directory include /etc/logrotate.d
#no packages own lastlog or wtmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}
#system-specific logs may be configured here
/var/log/xferlog {
monthly
rotate 1
}
webalizer를 사용하기 위해서는 기본적으로 gd라이브러리가 설치되어 있어야 한다. 이는 웹상에 통계 결과를 그림(그래프)으로 출력하기 위해서 필요한 라이브러리이다. gd 그래픽 라이브러리는 http://www.boutell.com/gd 에서 구할 수 있다.
webalizer는 webalizer의 홈페이지인 http://www.mrunix.net/webalizer/ 에서 구할 수 있다. 바로 다운받고자 한다면 다음의 ftp 사이트를 이용하면 된다.
ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.01-06-src.tgz
ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.01-06-linuxelf-bin.tgz
레드햇 리눅스 패키지를 구하고 싶다면 powertools에서 찾아보면 된다. 다음은 레드햇 영문판의 powertools에서 webalzier-2.01-06을 찾을 수 있다. webalizer는 여러 언어를 지원하는데 기본이 영어로 설정되어 있다. 만약 한글을 보고 싶다면 소스 RPM을 다운받아 webalizer.spec에서 $configure --enable-dns --with-language=korean와 같이 --with-language=korean을 추가해 주고 리빌드해야 한다.
webalizer 홈페이지에서 직접 소스를 다운받을 경우엔 압축을 풀고 다음과 같은 순서로 컴파일을 하면 된다.
(--enable-dns는 꼭 필요한 것은 아니다.)
#./configure --with-language=korean --enable-dns
#make
#make install
특히 ./configure 할 때 몇가지 옵션을 설정할 필요가 있다. 옵션에 대해 자세한 도움말은 ./configure --help을 통해 볼 수 있다.
2. webalizer 사용
2-1. webalizer 명령의 사용
webalizer의 사용은 webalizer라는 명령어를 통해 로그를 통해 통계를 내고 그 결과를 지정된 디렉토리에 출력 해주는 것으로 그 사용은 단순하다.
webalizer [옵션] [로그파일]
-------------------------------------------------------------------------------------
[표-1] webalizer의 일부 옵션
-F type : 로그 파일의 형식(clf | ftp | squid)을 결정한다. 일반적으로 웹서버의 로그 파일인 common log format(clf)와 wu-ftpd의 xferlog format의 ftp, squid의 로그 파일 format인 ftp 세 가지 방식을 지원한다. 기본값은 clf이다.
-c 파일 : 설정 파일을 지정한다. 한 머신에서 여러 개의 webalzier를 통해 각기 통계를 만들고 싶다면 설정 파일을 따로 두어 실행할 수 이따.
-o 경로 : 로그 분석에 대한 통계 결과를 출력할 경로(디렉토리)를 지정한다
-h : webalizer의 도움말을 본다.
-------------------------------------------------------------------------------------
webalzier만을 실행한 경우엔 기본적으로 /etc/webalizer.conf 라는 설정에 따라 로그의 통계를 내고 그 출력을 만들어 낸다. 만약 여러 로그에 대해 서로 다른 출력을 만들어 내고 싶다면 각각에 대해 설정 파일을 따로 만들어 webalizer -c somehost.conf와 같이 실행할 수 있다. 그 외에도 webalizer /var/lib/httpd/logs/access_log 등과 같이 특정 로그를 직접 지정해 줄 수 있다. 이처럼 webalizer에 대한 옵션 및 사용법에 대한 것은 webalizer -h를 사용해 더 자세히 확인할 수 있다.
로그 분석에 대한 통계를 주기적으로 웹으로 출력하기 위해서는 webalizer를 반복적으로 실행할 필요가 있다. 이를 위해 webalizer를 cron에 등록해 놓으면 편리하다. rpm으로 설치한 경우엔 /etc/cron.daily에 00webalizer라는 것이 만들어 진다. 00webalizer의 내용은 다음과 같다.
#!/bin/bash
#update access statistices for the web site
/usr/bin/webalizer
exit 0
만약 소스를 통해 직접 설치했거나 cron에 직접 등록하길 원한다면 root에서 crontab -e를 통해 등록시킬 수 있다. 예를 들어 0시 0분에 webalizer를 실행하고 싶다면 다음과 같이 등록한다.
00 00 * * * /usr/bin/webalizer
그 외에 서로 다른 로그 파일에 대해 webalizer를 이용하고 싶다면 webalizer -c 설정파일을 이용하면 될 것이다. fst의 웹 서버와 ftpd에 대한 두 개의 로그 파일에 대해 webalizer를 이용하고자 할 때 fst-web.conf와 fst-ftpd.conf로 두 개의 설정 파일을 만들어 사용하면 된다. 이를 다음과 같이 cron에 등록시키면 된다.
00 00 * * * /usr/bin/webalizer -c /etc/webalizer/conf/fst-web.conf
00 00 * * * /usr/bin/webalizer -c /etc/webalizer/conf/fst-ftpd.conf
2-2. webalizer의 설정 파일
webalizer를 rpm으로 설치한 경우라면 설정파일의 sample 파일인 webalizer.conf가 /etc에 설치된다. 만약 소스를 가지고 설치한 경우라면 소스 디렉토리에 보면 sample.conf라는 파일이 있는데 이것이 webalizer.conf와 동일한 파일이다. 이 파일을 보면 설정파일에서 사용할 수 있는 다양한 지시자에 대한 상세한 주석이 있다. 이들중 몇 개의 지시자에 대해서 소개하기로 한다.
다음은 fst의 www.fst.or.kr의 webalizer 설정파일의 예다. 보는 바와 같이 설정 파일은 복잡하지 않으며 몇 개의 지시자만으로 충분하다는 것을 알 수 있다.
LogFile /var/log/httpd/www.fst.or.kr-access_log
LogType clf
OutputDir /var/www/html/fst/usage
Incremental yes
HostName www.fst.or.kr
PageType htm*
PageType cgi
HideSite 198.126.*
HideURL *.gif
HideURL *.GIF
HideURL *.jpg
HideURL *.JPG
HideURL *.png
HideURL *.PNG
HideURL *.ra
HideURL *.css
IgnoreURL /~*
IgnoreURL /board/*
설정 파일에서 가장 중요한 지시자로는 LogFile, LogType, OutputDir, HostName이다. 이들에 대해서는 반드시 설정되어야 한다. 그 외의 지시자들은 부가적인 기능을 명시하는 것이다. 위 예에서 사용된 지시자에 대해 정리하면 <표-2>와 같다.
-------------------------------------------------------------------------------------
표-2. webalizer 설정 파일의 지시자
LogFile : 로그 파일의 경로 및 파일을 지정한다.
LogType : 로그 파일의 형식을 지정한다. clf, ftp, squid 가 있으며 기본값은 clf이다.
OutputDir : webalizer로 분석된 결과를 저장할 경로를 지정한다.
Incremental : 이 설정을 yes로 해야 전체적인 로그를 볼 수 있다.
PageType : 웹 페이지라고 말하는 것으로 htm*과 cgi로 지정하는 것이 일반적이다.
HideSite : 로그 파일에서 지정한 사이트에 대해서는 통계에서 숨긴다.(count 결과는 포함)
HideUrl : 로그 파일에서 지정한 URL에 대해서는 통계에서 숨긴다.(count 결과는 포함)
IgnoreURL : 통계에서 지정한 URL에 대해서는 무시한다.(count 결과도 무심된다.)
-------------------------------------------------------------------------------------
3. 다양한 로그 파일들
리눅스 시스템은 다양한 로그를 남긴다. 특히 서버와 관련된 로그 파일은 관리에 있어서 대단히 중요한 역할을 한다. 예를 들어 서버에 불법 침입자가 들어온 경우 이를 쉽게 파악할 수 있는 것이 로그 파일을 통해서이다. 또한 어떤 문제점을 해결하는데 있어서 로그 파일은 중요한 역할을 담당한다.
리눅스의 로그 파일은 /var/log 에 위치하며 일반적으로 텍스트 형식으로 저장되어 있어 간단한 문서 편집기나 cat 또는 less 명령어를 통해 그 내용을 볼 수 있다. 그러나 일부 로그 파일의 경우엔 텍스트 형식이 아닌데, btmp와 wtmp가 바로 그것인데 이들은 각각 lastb와 last라는 명령어를 통해 그 내용을 확인할 수 있다.
로그 파일은 일정 주기로 정리할 필요가 있다. 그렇지 않다면 어느 순간엔 로그 파일에 파일 시스템을 모두 차지하는 상황이 발생할 수 있다. 일반적으로 이러한 문제를 해결하기 위하여 리눅스에는 logrotate라는 프로그램을 사용한다. 이를 이용하면 주기적으로 로그 파일을 삭제 정리한다. 레드햇 리눅스의 경우엔 /etc/logrotate.conf라는 설정 파일이 있으며 이를 통해 logrotate를 설정할 수 있다. 아래는 logrotate.conf의 내용으로 그 의미를 보면 기본적으로 주단위로 4번에 걸쳐 로그 파일을 rotate 시키고 이후엔 삭제 정리하도록 한다. 그리고 에러에 대해선 root에게 알리도록 한다. 단 wtmp와 xferlog의 경우엔 한 달에 한번만 rotate 시키도록 한다. 그 밖에 /etc/logrotate.d에 있는 것들을 logrotate.conf에 읽어들여 실행하도록 하고 있다.
#see "man logrotate" for details
#rotate log files weekly
weekly
#keep 4 week worth of backlogs
rotate 4
#send errors to root
errors root
#create new(empty) log files after rotatinig old ones create
#uncommont this if you want your log files compressed
#compress
#RPM packages drop log rotation information into this directory include /etc/logrotate.d
#no packages own lastlog or wtmp -- we'll rotate them here
/var/log/wtmp {
monthly
create 0664 root utmp
rotate 1
}
#system-specific logs may be configured here
/var/log/xferlog {
monthly
rotate 1
}
관련자료
-
링크
댓글 0
등록된 댓글이 없습니다.