IIS 로그를 데이터베이스에 저장 하기

Windows의 ODBC를 이용하여 로그를 데이터베이스에 저장할 수 있습니다.
구성을 위해서는 먼저 로그를 저장할 데이터베이스에 아래의 스크립트를 이용하여 테이블을 생성합니다.

주의!!
당연한 이야기겠지만 사용량이 많은 서비스의 경우..
이 방법 보다는 일반적으로 사용하는 파일 로그로 저장하시는게 바람직합니다..
로그를 데이터베이스에 저장하면서 계속되는 Insert 작업으로 인해 데이터베이스에 꽤 많은 부하가 걸리며 IIS의 경우 Apache 처럼 불필요한 로그(그림파일, 스타일시트 등)들을 제외시킬 방법이 없기 때문에 평소 쌓이는 웹로그의 크기를 충분히 고려하셔야 합니다..
테스트 결과에 따르면, 24시간 동안 로그가 1GB 이상 쌓이는 서버에는 사용을 안하시는 게 좋을 듯 합니다. 추가로 이 구성을 완료하신 후 데이터베이스가 죽으면 IIS도 따라 죽습니다..ㅡ.ㅡ;;

CREATE TABLE Weblog (
ClientHost varchar(255),
Username varchar(255),
LogTime datetime,
Service varchar(255),
Machine varchar(255),
Serverip varchar(50),
Processingtime int,
Bytesrecvd int,
Bytessent int,
Servicestatus int,
Win32status int,
Operation varchar(255),
Target varchar(255),
Parameters varchar(255)
)

위 코드를 쿼리 분석기에서 실행한 후..Windows 에서 해당 데이터베이스로의 ODBC 연결을 구성 합니다.
(이 게시물에서는 기본적인 ODBC 연결 구성에 대한 내용은 생략하겠습니다)

다음은..
구성한 ODBC 연결 정보를 IIS 에 로그 속성에 입력하여 구성을 완료합니다.
IIS 관리자를 실행한 후 아래의 그림처럼 기존의 로그 저장 방식에서 ODBC 저장 방식으로 로그 형식을 바꿔줍니다.

이제 우측에 속성 탭을 클릭하여 앞에서 지정해준 ODBC 연결 정보를 입력합니다.

위처럼 구성하면 이제 웹로그는 모두 DB에 저장되며..
해당 웹사이트를 브라우저를 통해 접속한 후 데이터베이스에 로그가 정상적으로 쌓이는지 쿼리를 수행하여 확인하도록 합니다.

이상입니다~~

You may also like...