IIS 문제 발생 시 원인 분석을 위해 일반적으로 수집 분석하는 자료들에 대해서 아래와 같이 정리하였습니다. 장애 유형에 따라 수집하는 데이터는 달라질 수 있습니다. 마이크로소프트 기술지원 자료를 참조하였습니다.
1. MPSReport Network Edition
가. MPSReport 를 사용하여 데이터를 수집하는 방법에 대해서는 아래 [참고자료]에 링크된 자료를 참조하시면 됩니다.
2. IIS 메타베이스 및 시스템 정보 수집
가. IISDump 유틸리티를 사용하여 정보를 수집합니다.
C:\IISDUMP> IISDump -m -s
위 명령을 수행하면 logs 폴더에 <타임스탬프> 형식의 폴더에 수집된 자료가 저장됩니다.
-m Writes the IIS Metabase to an XML file. For IIS 6 it simply makes a copy of the metabase.xml and mbschema.xml. For IIS 4 and 5 it reads the metabase.bin directly and writes the contents, including the schema to metabase.xml.
-s Gathers module information and writes it to a sysinfo xml file. It processes the modules in the system32 and inetsrv directories, as well as registered components found in CLSID registry key. It also processes modules found in the default set of IIS processes, and/or in processes specified by the ?n, -v, or ?p switches.
3. 암호화 되지 않은 텍스트 형식 메타베이스 수집
C:\> CSCRIPT ADSUTIL.VBS ENUMALL > METABASE.TXT
4. 문제 발생 시점의 웹 서비스 로그
가. 웹 서비스 로그는 기본적으로 %systemroot%system32\LogFiles 폴더에 인스턴스 별로 저장됩니다.
나. 문제가 재현될 경우 원인 분석을 위해 아래 항목들을 추가적으로 로깅할 수 있도록 설정합니다.
- 날짜 ( date )
- 시간 ( time )
- 클라이언트 IP 주소 ( c-ip )
- 사용자 이름 ( cs-username )
- 서비스 이름 ( cs-sitename )
- 서버 IP 주소 ( s-ip )
- 서버 포트 ( s-port )
- 메서드 ( cs-method )
- URI 스템 ( cs-uri-stem )
- URI 쿼리 ( cs-uri-query )
- 프로토콜 상태 ( sc-status )
- Win32 상태 ( sc-win32-status )
- 보낸 바이트 수 ( sc-bytes )
- 받은 바이트 수 ( cs-bytes )
- 걸린 시간 ( time-taken )
- 사용자 에이전트 ( cs(User-Agent) )
5. 문제 발생 시점의 HTTPERR 로그
가. %systemroot%\system32\LogFiles\Httperr 폴더에 저장된 Httperr 로그를 수집 확인합니다.
6. 문제 환경 파악
가. 웹 서비스의 물리적, 논리적 구성
나. 오류 발생 URL
다. 오류 발생 화면 캡쳐
라. 웹 사이트 개발 환경 (.NET Framework를 사용할 경우 버전 확인 등)
[참고자료]
작성자 : Lai Go / 작성일자 : 2009.05.08