본문 바로가기

IT/프로젝트 및 실습

python을 이용한 웹서버 로그 처리하기





다음 프로젝트는 서적 '초보자를 위한 파이썬 200제'를 기반으로한 포스팅입니다.




IT시대에서 많은 사람들은 인터넷 익스플로러나 크롬 등과 같은 인터넷 웹브라우저를 이용하여 웹서버에 접속하여 다양한 콘텐츠를 제공받습니다.


웹서버는 웹브라우저의 요청에 대해 필요한 작업을 수행하고 HTML 페이지를 구성한 후 웹브라우저로 응답합니다.


이때 웹서버는 웹브라우저의 요청에 대한 응답 내용을 요약하여 접근로그(access log)파일에 기록합니다.



아파치 웹서버에서는 접근로그의 파일을 다음과 같은 형식의 로그로 저장합니다.


127.0.0.1 - - [01/Oct/2016:13:55:36 +0900] "GET /apache_pb.gif HTTP/1.0" 200 2326


각 형식의 요소는 다음과 같이 분리됩니다.

Host : 127.0.0.1

ident : -

Authuser : -

Date : [01/Oct/2016:13:55:36 +0900]

Request : "GET /apache_pb.gif HTTP/1.0"

Statues : 200

Bytes : 2326


 



그럼 순차적으로


다음과 같은 정보를 이용해 웹서버 로그를 분석하고 


파이썬을 이용하여 다음과 같은 처리를 해보겠습니다.




① 아파치 웹서버가 기록한 접근로그(access_log)를 처리하여 웹사이트 방문자가 본 총페이지 뷰를 계산






② 웹서버의 접근로그(access_log)를 처리하여 웹 사이트에 방문한 고유 방문자 수를 계산



 



③ 총 서비스 용량 계산


 




④ 사용자별 서비스 용량 계산





코드에 자세한 주석을 달아 놓았습니다.


참고하시면 도움이 될 듯 합니다.