goaccess 설치 및 이용
OS : Debian 10 64Bit
goaccess 는 apache, nginx 등의 '실시간 웹서버 로그 분석기' 라고 한다.
명령어 형식으로도 사용이 가능 하고, html 로 뽑아 낼 수도 있다고 한다.
글을 작성 하는 시점에 보니, 1.5.2 버젼 까지 나왔지만 현재 데비안 패키지 리스트에는 올라오지 않았다.
소스 내려 받아서 컴파일 이야 하면 되는데, 서버 사양도 좋지 않고, 의존성 관련된 패키지 설치 하기 귀찮기도 하고, 버젼별로 사용법이 크게 달라지지는 않는것 같고 해서 그냥 패키지 리스트에 있는 1.2 버전을 사용 하기로 하였다.
최신 버젼이 필요한 경우 https://goaccess.io/ 에서 소스를 내려 받아 컴파일 하여 사용 할 수 있다.
1. goaccess 설치
root@freecatz-web:~# apt install goaccess
2. goaccess CLI 에서 실행
root@freecatz-web:~# goaccess -a -f /var/log/nginx/access.log
원하는 날짜 포멧을 선택 하고 스페이스로 선택 한뒤, 엔터키를 누르자.
방향키나 마우스 스크롤을 이용하여 하단의 부분으로 내려 갈 수 있다. 종료 하려면 Q 를 입력 한다.
3. goaccess 명령을 이용하여 html 로 보자
root@freecatz-web:~# vi /etc/goaccess.conf
# 아래의 설정으로 CLI 에서 실행 했을때 나타나는 날짜 포멧 선택을 건너뛸 수 있다.
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
date-format %d/%b/%Y
time-format %H:%M:%S
# 만약 명령어 형식으로만 사용 하고 싶다면 아래의 output-format html 을 주석 처리 하면 된다.
output-format html
root@freecatz-web:~# goaccess -a -f /var/log/nginx/access.log > report.html
해당 html 파일을 브라우저에서 열어 보면 아래와 같이 보인다.
fontawesome-webfont.woff 를 로드 하지 못하여 아이콘이 깨져 보인다. 1.3 버젼에서는 해결이 되었다는 이야기가 있다.