일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- windbg
- nonpaged pool
- SQL Server 2012R2 FCI
- Windows Server 2016
- ftp7.5 장애조치 클러스터
- 터키여행
- MSCS on VMWare
- iSCSI target
- windows debugging tool
- cluster node as Domain controller
- Nested VM
- 프로세스 CPU 사용량
- 클러스터
- Windows Server 2008
- Xperf
- FTP7.5
- 작업관리자
- Windows Server 2016 Hyper-v Cluster
- paged pool
- dsquery
- Local TempDB
- Hyper-V
- Session space
- failover cluster
- LiveKD
- windows media service
- 안철수
- windows update
- 인문고전
- SQL Server 2008
- Today
- Total
류짱:Beyond MySelf
HTTP API의 오류 로깅 본문
HTTP API가 기록하는 오류 유형
로그 위치: C:\WINDOWS\system32\LogFiles\HTTPERR 폴더에서 htterr.log
#Version: 1.0
#Date: 2011-03-21 06:24:43
#Fields: date time c-ip c-port s-ip s-port cs-version cs-method cs-uri sc-status s-siteid s-reason s-queuename
2011-03-21 06:24:43 192.168.1.50 1036 192.168.1.50 80 HTTP/1.1 GET / 503 1 ConnLimit DefaultAppPool
2011-04-08 07:03:23 127.0.0.1 1054 127.0.0.1 8800 HTTP/0.0 Invalid - 400 - Verb -
2011-04-08 07:05:30 192.168.1.50 1059 192.168.1.50 8800 HTTP/0.0 Invalid - 400 - Verb -
2011-04-08 07:06:05 192.168.1.50 1060 192.168.1.50 8800 HTTP/0.0 Invalid - 400 - Verb -
2011-04-08 07:07:12 192.168.1.50 1063 192.168.1.50 8800 HTTP/0.0 Invalid - 400 - Verb -
HTTP API는 잘못 처리된 클라이언트에 대한 오류 응답, 연결 시간 초과, 고아 요청 및 삭제된 연결을 기록합니다.
아래의 목록은 HTTP API가 기록하는 오류 유형을 나타냅니다.
· 클라이언트에 대한 응답 HTTP API는 클라이언트에 대한 오류 응답(예: 마지막으로 받은 요청에서 구문 분석 오류로 인해 발생한 400 오류)을 보냅니다. HTTP API는 오류 응답을 보낸 후 연결을 종료합니다.
· 연결 시간 초과 HTTP API가 연결 시간을 초과합니다. 연결 시간이 초과될 때까지도 요청이 계속 보류 중이면 이 요청은 오류 로그에서 연결에 대한 자세한 정보를 제공하는 데 사용됩니다.
· 고아 요청 대기열에 사용자 모드 프로세스로 라우팅되는 요청이 아직 남아 있을 때 프로세스가 예기치 않게 종료됩니다. HTTP API는 오류 로그에 고아 요청을 기록합니다.
특정 오류 형식은 항상 각 오류 행의 마지막 필드로 나타나는 원인 문구 문자열에서 지정됩니다. 아래의 표는 HTTP API 원인 문구를 나타냅니다.
원인 문구 |
설명 |
AppOffline |
"서비스 사용할 수 없음" 오류가 발생했습니다(HTTP 오류 503). 응용 프로그램 오류로 인해 응용 프로그램이 오프라인 상태가 되었기 때문에 서비스를 사용할 수 없습니다. |
AppPoolTimer |
"서비스 사용할 수 없음" 오류가 발생했습니다(HTTP 오류 503). 응용 프로그램 풀 프로세스가 사용 중이어서 요청을 처리할 수 없기 때문에 서비스를 사용할 수 없습니다. |
AppShutdown |
"서비스 사용할 수 없음" 오류가 발생했습니다(HTTP 오류 503). 응용 프로그램이 관리자 정책에 대한 응답으로 자동으로 종료되기 때문에 서비스를 사용할 수 없습니다. |
BadRequest |
요청을 처리하는 동안 구문 분석 오류가 발생했습니다. |
Client_Reset |
요청이 작업자 프로세서에 할당되기 전에 클라이언트와 서버 간 연결이 닫혔습니다. 이 동작의 가장 일반적인 원인은 클라이언트가 서버와의 연결을 미리 닫는 것입니다. |
Connection_Abandoned_By_AppPool |
응용 프로그램 풀의 작업자 프로세스가 핸들을 닫아서 보류 중인 요청의 연결을 끊거나 예기치 않게 종료되었습니다. |
Connection_Abandoned_By_ReqQueue |
응용 프로그램 풀의 작업자 프로세스가 핸들을 닫아서 보류 중인 요청의 연결을 끊거나 예기치 않게 종료되었습니다. Windows Vista 및 Windows Server 2008에만 해당됩니다. |
Connection_Dropped |
서버가 최종 응답 패킷을 전송하기 전에 클라이언트와 서버 간 연결이 닫혔습니다. 이 동작의 가장 일반적인 원인은 클라이언트가 서버와의 연결을 미리 닫는 것입니다. |
Connection_Dropped_List_Full |
클라이언트와 서버 간의 삭제된 연결 목록이 꽉 찼습니다. Windows Vista 및 Windows Server 2008에만 해당됩니다. |
ConnLimit |
"서비스 사용할 수 없음" 오류가 발생했습니다(HTTP 오류 503). 사이트 수준 연결 한계에 도달했거나 초과했기 때문에 서비스를 사용할 수 없습니다. |
Connections_Refused |
커널 NonPagedPool 메모리가 20MB 아래로 떨어지고 http.sys가 새 연결 수신을 중단했습니다. |
사용 안 함 |
"서비스 사용할 수 없음" 오류가 발생했습니다(HTTP 오류 503). 관리자가 응용 프로그램을 오프라인 상태로 만들었기 때문에서 서비스를 사용할 수 없습니다. |
EntityTooLarge |
엔터티가 허용된 최대 크기를 초과했습니다. |
FieldLength |
필드 길이 한계를 초과했습니다. |
Forbidden |
구문 분석 동안 금지된 요소나 시퀀스가 발생했습니다. |
머리글 |
머리글에서 구문 분석 오류가 발생했습니다. |
Hostname |
호스트 이름을 처리하는 동안 구문 분석 오류가 발생했습니다. |
내부 |
내부 서버 오류가 발생했습니다(HTTP 오류 500). |
Invalid_CR/LF |
잘못된 캐리지 리턴이나 줄 바꿈이 발생했습니다. |
LengthRequired |
필수 길이 값이 없습니다. |
N/A |
"서비스 사용할 수 없음" 오류가 발생했습니다(HTTP 오류 503). 메모리 할당 실패 같은 내부 오류가 발생했기 때문에 서비스를 사용할 수 없습니다. |
N/I |
알 수 없는 전송 인코딩으로 인해 "구현되지 않음" 오류가 발생했거나(HTTP 오류 501), "서비스 사용할 수 없음" 오류가 발생했습니다(HTTP 오류 503). |
숫자 |
숫자를 처리하는 동안 구문 분석 오류가 발생했습니다. |
Precondition |
필수 전제 조건이 없습니다. |
QueueFull |
"서비스 사용할 수 없음" 오류가 발생했습니다(HTTP 오류 503). 응용 프로그램 요청 대기열이 꽉 찼기 때문에 서비스를 사용할 수 없습니다. |
RequestLength |
요청 길이 한계를 초과했습니다. |
Timer_AppPool |
서버 응용 프로그램이 대기열에서 가져와 요청을 처리할 때까지 요청이 응용 프로그램 풀 대기열에서 너무 오랫 동안 대기했기 때문에 연결이 만료되었습니다. 이 제한 시간은 ConnectionTimeout입니다. 기본적으로 이 값은 2분으로 설정됩니다. |
Timer_ConnectionIdle |
연결이 만료되어 계속 유휴 상태로 있습니다. 기본 ConnectionTimeout시간은 2분입니다. |
Timer_EntityBody |
요청 엔터티 본문이 도착하기 전에 연결이 만료되었습니다. 요청에 엔터티 본문이 있는 경우 HTTP API는 Timer_EntityBody 타이머를 켭니다. 처음에는 이 타이머의 제한이 ConnectionTimeout 값(보통 2분)으로 설정됩니다. 이 요청에서 다른 데이터 표시가 수신될 때마다 HTTP API는 타이머를 재설정하여 연결에 추가적인 2분(또는 ConnectionTimeout에 지정된 시간)을 더 제공합니다. |
Timer_HeaderWait |
요청에 대한 머리글 구문 분석을 수행하는 데 기본 제한인 2분보다 많이 소요되었기 때문에 연결이 만료되었습니다. |
Timer_MinBytesPerSecond |
클라이언트가 적절한 속도로 응답을 받지 못했기 때문에 연결이 만료되었습니다. 응답 전송 속도가 기본값인 초당 240바이트보다 느려졌습니다. 이 속도는 MinFileBytesPerSec 메타베이스 속성으로 제어할 수 있습니다. |
Timer_ReqQueue |
서버 응용 프로그램이 대기열에서 요청을 가져올 때까지 요청이 응용 프로그램 풀 대기열에서 너무 오랫 동안 대기했기 때문에 연결이 만료되었습니다. 이 제한 시간은 ConnectionTimeout입니다. 기본적으로 이 값은 2분으로 설정됩니다. Windows Vista 및 Windows Server 2008에만 해당됩니다. |
Timer_Response |
예약됨. 현재 사용되고 있지 않습니다. |
URL |
URL을 처리하는 동안 구문 분석 오류가 발생했습니다. |
URL_Length |
URL이 허용되는 최대 크기를 초과했습니다. |
Verb |
동사를 처리하는 동안 구문 분석 오류가 발생했습니다. |
Version_N/S |
지원되지 않는 버전 오류가 발생했습니다(HTTP 오류 505). |
[참고 자료]
BUG: WriteClient API를 사용하여 데이터를 보낼 때 IIS 6.0이 IIS 5.0보다 느리다
http://support.microsoft.com/kb/840875/ko
Troubleshooting HTTP 401 errors in IIS
http://support.microsoft.com/kb/907273/en-us
Select W3C Fields to Log (IIS 7)
http://technet.microsoft.com/en-us/library/cc754702(WS.10).aspx
The HTTP status codes in IIS 7.0 and in IIS 7.5
http://support.microsoft.com/kb/943891/en-us
Additional properties are now available for logging in the Httperr#.log file in IIS 6.0 and IIS 7.0
http://support.microsoft.com/kb/832975/en-us
감사합니다.^^