아파치와 nginx 같은 웹서버들의 로그를 분석해주는 툴인 GoAccess 를 알아보겠습니다.
GoAccess는 현존하는 거이 모든 웹서버의 로그 분석이 가능하고 터미널 화면과 html 파일등을 통한 웹화면으로 분석결과를 실시간으로 볼수있습니다.
분석 기능으로는 일자별 방문자정보, 요청 URL 정보 , 방문자별 ip 정보 , 접속자 국가별정보등
많은 기능을 지원하고있으며 github 에서도 많은 관심을 주고있는 프로젝트이기때문에 개발자들의 지속적인 개선이 이루어지고있는것이 장점입니다.
GoAccess 를 설치해보겠습니다. 설치시에는 centos 6.9 버전에서 테스트했습니다.
GoAccess는 yum 설치를 지원하기때문에 간단하게 설치할수있으며 , 최신버전 설치를 하려면 https://goaccess.io/download 에서 다운로드 받아 소스설치할수있습니다.
$ 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 |
설치한 후에는 로그 분석을 위하여 설정파일의 내용을 확인하여 사용중인 웹서버에 맞는 로그 포멧을 주석 해제 해야 합니다. 예제는 nginx 기본 로그 포멧을 사용했습니다.
vi /etc/goaccess.conf # Apache/NGINX’s log formats below. # Apache/NGINX’s log formats below. # NCSA Combined Log Format |
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 의 설치와 실행을 알아보았습니다.
현존하는 모든 웹서버의 로그를 분석할수있는 강력한도구로써 웹로그 분석시에 큰도움이 될것입니다.