사용하기 쉬운 웹서버 로그분석기 GoAccess

| 2018년 5월 29일 | 0 Comments

아파치와 nginx 같은 웹서버들의 로그를 분석해주는 툴인 GoAccess 를 알아보겠습니다. 

GoAccess는 현존하는 거이 모든 웹서버의 로그 분석이 가능하고 터미널 화면과 html 파일등을 통한 웹화면으로 분석결과를 실시간으로 볼수있습니다. 

분석 기능으로는 일자별 방문자정보, 요청 URL 정보 , 방문자별 ip 정보 , 접속자 국가별정보등 

많은 기능을 지원하고있으며 github 에서도 많은 관심을 주고있는 프로젝트이기때문에 개발자들의  지속적인 개선이 이루어지고있는것이 장점입니다. 

GoAccess 를 설치해보겠습니다. 설치시에는 centos 6.9 버전에서 테스트했습니다. 

GoAccess는 yum 설치를 지원하기때문에 간단하게 설치할수있으며 , 최신버전 설치를 하려면 https://goaccess.io/download 에서 다운로드 받아 소스설치할수있습니다. 

  • yum 설치 

      $ yum install epel-release

      $ yum -y install goaccess

 

  • 소스설치

        $ yum install epel-release gcc ncurses-devel glib2-devel GeoIP-devel

      $ wget http://tar.goaccess.io/goaccess-1.1.1.tar.gz
      $ tar -xzvf goaccess-1.1.1.tar.gz
      $ cd goaccess-1.1.1/
      $ ./configure –enable-geoip –enable-utf8
      $ make 
      # make install

 

설치한 후에는 로그 분석을 위하여 설정파일의 내용을 확인하여 사용중인 웹서버에 맞는 로그 포멧을 주석 해제 해야 합니다. 예제는 nginx 기본 로그 포멧을 사용했습니다. 

vi /etc/goaccess.conf

# Apache/NGINX’s log formats below.
time-format %H:%M:%S

# Apache/NGINX’s log formats below.
date-format %d/%b/%Y

# NCSA Combined Log Format
log-format %h %^[%d:%t %^] “%r” %s %b “%R” “%u”

GoAccess 의 설치후  실행은 터미널 모드 , 파일생성 모드 , 실시간 분석 모드 3가지의 모드로 실행가능합니다. 

* 터미널 모드 

# goaccess -f /var/log/nginx/access.log

 

* 파일생성모드 

# goaccess -f /var/log/nginx/access.log -a > /usr/share/nginx/html/report.html

* 실시간 분석 모드 

# goaccess -f access.log -o /usr/share/nginx/html/report2.html –real-time-html –ws-url=host

% 실시간 분석 모드 시에는 GoAccess 가 웹소켓을 이용하여 브라우저와 통신하므로 방화벽 에서 포트허용을 해주어야합니다 .

이로써 GoAccess 의 설치와 실행을 알아보았습니다. 

현존하는 모든 웹서버의 로그를 분석할수있는 강력한도구로써 웹로그 분석시에 큰도움이 될것입니다. 

Category: LINUX, 솔루션/IT기타

About the Author ()