반응형

 

  • GoAccess X-Forwarded-For 웹 로그 파일 분석 방법 

X-Forwarded-For 웹 로그 파일의 경우 아래와 같이 IP가 두개로 출력될 수 있기 때문에 GoAccess에서 LogFormat을 맞춰줄 필요가 있습니다.

10.10.10.10, 20.20.20.20 - - [15/May/2020:10:51:14 +0900] "GET / HTTP/1.1" 403 4897 "-" "curl/7.29.0"

 

LogForamt을 맞춰주는 방법은 비교적 굉장히 간단 합니다. 기존에 사용하던 LogFormat이 --log-format='%h %^[%d:%t %^] "%r" %s %b "%R" "%u" %^' 이거였다면, 가장 앞단의 %h를 %h, 으로 변경만 해주시면 X-Forwarded 에서 IP가 2개로 출력되는 웹로그 파일을 분석할 수 있습니다.

goaccess access_log --log-format='%h %^[%d:%t %^] "%r" %s %b "%R" "%u" %^' --date-format=%d/%b/%Y --time-format=%T

 

위의 예시는 Apache에서 아래와 같은 LogFormat을 사용중일 때 정상적으로 작동 합니다.

LogFormat "%{X-Forwarded-For}i %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined

 

반응형
반응형

 

  • 웹 로그 분석 툴 GoAccess 설치 및 사용 방법

GoAccess는 웹 로그 파일을 기반으로 분석해서 CLI 환경이나 HTML형태로 보고서를 출력해주는 오픈소스 입니다. yum으로 간단하게 설치할 수 있습니다.

yum -y install goaccess

 

로그 파일을 기반으로 분석하기에 사용 환경에 따라 goaccess 실행 시 logformat을 웹로그와 동일하게 맞춰 주어야할 수 있습니다. 터미널에서 실행 커맨드와 UI는 아래와 같습니다.

goaccess access_log --log-format='%h %^[%d:%t %^] "%r" %s %b "%R" "%u" %^' --date-format=%d/%b/%Y --time-format=%T

 

만약 HTML으로 보고서를 출력받고 싶다면 아래와 같이 커맨드를 입력하면 됩니다. HTML을 띄우기 위해 apache가 필요하고, 저의 경우 /var/www/html/report.html 이라는 이름으로 파일을 추출하여 웹로그에서 출력 하였습니다. 브라우저를 띄우고 접속 시 httpd가 실행중인지 확인하고 http://서버IP/report.html 를 입력하여 접속하면 됩니다.

저의 경우 웹로그에 데이터가 없어서 출력되는것이 거의 없습니다.

goaccess access_log --log-format='%h %^[%d:%t %^] "%r" %s %b "%R" "%u" %^' --date-format=%d/%b/%Y --time-format=%T -a > /var/www/html/report.html

 

반응형

+ Recent posts