2017년 3월 15일 수요일

윈도우에서 awstats (웹 통계 수집)을 해보자..

윈도우 운영체제에서 awstats 를 사용하여 IIS 나 아파치의 웹 로그를 통해 통계를 내보자..

준비물
-. perl (링크#3)
-. awstats (링크#4)
-. IIS 또는 아파치, nginx 등등의 awasts가 지원하는 웹애플리케이션 엔진 들..(여기서는 IIS를 사용한다.)

설치 순서 (상세내용은 7번 항목 링크 참고)
1. perl
2. IIS에 *.cgi 모듈 설치 (윈도우 2012 이상일 경우 웹 플랫폼 설치기를 이용하여 추가 설치)
3. IIS에 *.pl (perl) 모듈 설치
4. awstats 설치 및 설정
5. IIS에 awstats 사이트 추가
6. 작업스케쥴에 5분 또는 그 이상의 단위로 데이터 게더링 하도록 설정
7. 관련(링크#1), (링크#2)
링크 1은 perl설치 부터 awstats 기본 설정까지 설명한 블로그
링크 2는 링크 1에서 awstats 구동과 페이지 접속 방법을 좀 더 구체적으로 작성한 블로그


추가적인 작업 또는 설명

1. 하나의 서버에서 여러 사이트를 운영 중일 경우 로그를 모두 취합해서 통계를 내고 싶을 때
-> IIS에서 로그 를 서버 단위로 수집하도록 설정한다.

2. 해당 서버에서 awstats를 운영할 경우 로컬에 로그를 저장 하도록 설정하면 된다.

3. 서버를 로드밸런싱 또는 이중화 되어 있을 경우 한 곳으로 로그를 모으고 싶을 것이다. 이럴 때는 별도의 로그 저장용 서버에 별도로 저장을 하거나 awstats 서버에 로그를 저장 하도록 설정한다.

*주의사항 1
  : IIS에서는 원격지에 로그를 저장 하고자 할 경우 서버간에는 Active Directory로 묶여져 있어야 된다. 별도로 자격증명을 추가 하거나 네트워크 드라이브 연결 하듯이 IP주소로 지정 할 경우 로그가 저장 되지 않는다)
예) \\10.1.1.100\logs\web (x) -> \\awstats\logs\web (o) 이런식으로 AD DNS에 등록된 호스트명으로 접근 하도록 설정한다.

*주의사항 2
  : 별도로 운영하는 awstats서버가 AD 멤버가 아닐 경우 로그파일을 커맨드라인 또는 작업스케쥴로는 읽어 올 수 있으나, 웹페이지에서 수동 업데이트 할 경우 권한 문제로 읽어 올 수 없다.

4. IIS로그는 "사이트"와 "서버" 단위로 로그를 저장 할 수 있다. 사이트 단위로 분리해서 awstats를 구성하고 싶을 경우 "사이트" 단위로 로그를 저장하도록 하고, 해당 서버에서 운영하는 모든 사이트의 로그를 수집 하고 싶을 경우 "서버" 단위로 저장하도록 한다.

사이트 단위로 할 경우 W3SVC[n] 형태로 폴더가 생성된다. awstats는 하나의 로그 파일만 읽어서 통계를 내기 때문에 사이트 단위로 할 경우 사이트 각각의 awstats config 파일을 생성해야 하는 번거로움이 있다. 물론 필요에 따라 이렇게 운영해야 할 수도 있다.

서버 단위로 할 경우 W3SVC 폴더만 생성되며 모든 사이트의 로그는 이 폴더 안에 로그 파일에 저장된다.

5. 로그 생성시 로그 형식은 "W3C" 타입으로 하고, 저장 주기는 "매일" 또는 "매월" 단위로 한다.