2012.08.31 23:57
일반적인 서버 장애는 이벤트 로그만 보더라도 그 히스토리가 대략적
보이지만..,
IIS의 자료 수집을 위해서는
먼저 몇가지 툴이 필요합니다.
Log_Parser, MPS_Report 및 경우에 따라 Netmon이라 불리우는 NetMonitor툴그리고 IIS Tracing등 다수의 툴이 있는데..,
상황에 적절한 툴을 사용하는 것이 문제 접근에 유리하다고 생각됩니다.
Log parser
제약적이긴 하지만, IIS의 트러블슈팅을 위해 유심히 살펴봐야할
로그가 HTTPERR로그입니다.
헌데 HTTPERR로그의 용량이 좀 되는 경우 Log Parser를 이용해 일부 필터하여 볼수 있습니다.
하기와 같이 Log Parser의 SQL구문을 필요에 따라 변경하여 사용하는 것을 권장합니다.
Logparser –iw:ON –i:W3C –o:W3C
file:<<SQL 파일 경로>> 오류가 발생한 로그만 추출 SELECT * FROM ex*.log TO
reports\HTTPErrors.log WHERE sc-status
>= 500 AND NOT ( TO_LOWERCASE(cs-uri-stem)
LIKE '%.bmp' OR
TO_LOWERCASE(cs-uri-stem) LIKE '%.gif' OR
TO_LOWERCASE(cs-uri-stem) LIKE '%.jpg' OR
TO_LOWERCASE(cs-uri-stem) LIKE '%.swf' OR
TO_LOWERCASE(cs-uri-stem) LIKE '%.css' OR
TO_LOWERCASE(cs-uri-stem) LIKE '%.vbs' OR
TO_LOWERCASE(cs-uri-stem) LIKE '%.js' OR
TO_LOWERCASE(cs-uri-stem) LIKE '%.htm' OR TO_LOWERCASE(cs-uri-stem)
LIKE '%.html' OR
TO_LOWERCASE(cs-uri-stem) LIKE '%.doc' ) 동적 페이지에 대한 요청만 추출 SELECT * FROM ex*.log TO
reports\DynamicRequest.log WHERE NOT ( TO_LOWERCASE(cs-uri-stem)
LIKE '%.bmp' OR
TO_LOWERCASE(cs-uri-stem) LIKE '%.gif' OR TO_LOWERCASE(cs-uri-stem)
LIKE '%.jpg' OR
TO_LOWERCASE(cs-uri-stem) LIKE '%.swf' OR
TO_LOWERCASE(cs-uri-stem) LIKE '%.css' OR
TO_LOWERCASE(cs-uri-stem) LIKE '%.vbs' OR
TO_LOWERCASE(cs-uri-stem) LIKE '%.js' OR
TO_LOWERCASE(cs-uri-stem) LIKE '%.htm' OR
TO_LOWERCASE(cs-uri-stem) LIKE '%.html' OR
TO_LOWERCASE(cs-uri-stem) LIKE '%.doc' ) |
MPS레포트에는 여러가지 버전이 있는데요.. 그중에서 IIS를 해결하기 위해서는 Networks버젼을 사용합니다.
MPS레포트에는 앞서 설명한
이벤트로그 를 포함하여 COM+구성요소, 다이나믹 디스크
정보 및 systeminfo와 유사한 내용을 포함하여, 굉장히 많은 자료가 있는데요..,
여기에서 APP error, APP popup, APP
hang, IIS CTLS와 실행중인 서비스 항목 COM+에서 IIS서버스와 관련된 오류 내용등을 확인할수 있습니다.
Network Monitor(이하 Netmon)은 현 3.4까지
발표되었습니다.
IIS 자체가 네트워크 프로토콜을 사용하는 서비스 임으로.., 네트워크 적인 요소를 무시할 수 없습니다.
보통 사이트에 위협을 가하는 해킹, 바이러스, 백도어등 문제 증상을 확인 하고, Hex Details의 정보를
가지고 패킷정보를 분석해주는 툴입니다.
보통 HTTP를 필터링하고 응답이 정확히 왔는지, 그 응답은 IIS서버를 통해 왔는지 등을 확인 가능합니다.
DebugDiag
앞서 설명한바와 같이 예기치 않게 서비스가 종료될 경우 커널 메모리의 덤프를 받아야합니다.
그외에도 Debug Diagnostics은 높은 CPU를 사용하는 서비스, 응답 없는 서비스를 덤프로 받을수 있습니다.
그리고 문제가 발생되면, 자동으로 덤프를 뜨게 되는데요..,
지속적으로 같은 현상이 발생된다면, 수동으로도 가능합니다.
Tools -> Create IIS Hang Dump