Linux

GoAccess - 아파치 로그 분석

스마트큐브 2018. 3. 22. 09:08


톰캣 엑세스 로그툴을 검색하다가 

GoAccesss아파치로그뷰어 란 툴이 있다는 사실을 알게되었다. 

참고 링크

GoAccess  설치 과정 

설치 환경 

CentOS 6.8 


홈페이지에서 안내하는것처럼 정말 딱 요롷게...  설치 할려고 했지만. ..라이브러리 에러가 생긴다. 

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


그래서 아래와 같이 2개 라이브러리 설치! 

우선 epel 저장소 추가

yum install geoip-devel

yum install ncurses ncurses-devel




그리고 난 톰캣 access 로그 파일 분석을 목적으로 하고 있으니 해당 로그파일 포맷에 맞춰서 
/usr/local/etc/goaccess.conf 
다음 3개 항목에 주석을 풀어줘야한다. 
아래 % 즉 specifiers 에 대해서는  https://goaccess.io/man#options 여길 참조해보면 된다. 


그리고 단일 파일을 파싱하기 위해서 명령어를 사용해보았다. 

goaccess -f  localhost_access_log.2017-11-30.txt

그럼 요렇게 빡!


내가 만약 텍스트로 이렇게 이쁘게 할려면 개 빡셀듯.. -_-;; 

하지만 난 가독성 좋은 html 을 선택하겠어!


goaccess -f  localhost_access_log.2017-11-30.txt  > log.html

위명령어랑 같은데  꺽쇠로 html 파일로 보내면 

그럼 이렇게 이쁘게 나타남 


그리고 여러 로그파일을 동시에 분석하려면 아래와 같이 사용 

즉 파이프 명령어 앞의 결과가   "-"  뒤에 명령어의 input 으로 들어간다고 생각하면된다. 

처음엔 단순하게   goaccess localhost_access_log.*.gz 이렇게 되겠지 싶었는데 안된다. ㅠㅠ 

그래서 아래처럼 사용하니 성공! 

zcat localhost_access_log.*.gz | goaccess  - > log.html


상세 사용은 https://goaccess.io/man 페이지 참조 



*총평 

좀 아쉬운 부분은 UI 는 화려한데 정작 나에게 필요한 기능이 부족한 느낌이랄까?  

해당 통계항목을 클릭하면 자동으로 필터링되어서 해당 목록들이 보였으면 좋으련만.

살짝  UI 는 안이쁘지만  awstat 이 나에게는 더 적합한거 같다.