IIS 8.5의 향상된 로깅

등록일시: 2014-05-26 08:00,  수정일시: 2014-05-26 08:00
조회수: 8,235
이 문서는 IIS 기술을 널리 알리고자 하는 개인적인 취지로 제공되는 번역문서입니다. 이 문서에 대한 모든 저작권은 마이크로소프트에 있으며 요청이 있을 경우 언제라도 게시가 중단될 수 있습니다. 번역 내용에 오역이 존재할 수 있고 주석은 번역자 개인의 의견일 뿐이며 마이크로소프트는 이에 관한 어떠한 보장도 하지 않습니다. 번역이 완료된 이후에도 대상 제품 및 기술이 개선되거나 변경됨에 따라 원문의 내용도 변경되거나 보완되었을 수 있으므로 주의하시기 바랍니다.

IIS 8.5에서는 관리자가 요청 헤더나 응답 헤더, 또는 서버 변수의 값들을 사용자 지정 필드로 선택해서 로그에 기록할 수 있는 옵션이 제공됩니다. (IIS 8.5는 Windows Server 2012 R2와 Windows 8.1에서 지원됩니다.)

호환성

버전 비고
IIS 8.5 IIS 8.5의 향상된 로깅 기능은 IIS 8.5에서만 사용할 수 있습니다.
IIS 8.0
IIS 7.5
IIS 7.0

내용

문제점

기존 버전의 인터넷 정보 서비스(IIS, Internet Information Services)들에서는 로깅을 확장하거나 사용자 지정할 수 있는 기능이 제공되지 않습니다. 대신, 미리 준비된 표준 필드들의 모음 중에서만 제한적으로 필드를 선택할 수 있습니다. 따라서, 제공되는 표준 필드들 외에 다른 필드를 로그에 기록하고자 한다면 사용자 지정 로깅 모듈을 작성해야만 합니다.

해결방법

IIS 8.5에서는 관리자가 요청 헤더나 응답 헤더, 또는 서버 변수의 값들을 사용자 지정 필드로 선택해서 로그에 기록할 수 있는 옵션이 제공됩니다.

단계별 지침

IIS 8.5의 향상된 로깅 구성하기

  1. IIS 관리자를 실행합니다.
  2. 좌측의 연결(Connections) 패인에서 서버 노드나 사이트 노드를 선택한 다음, 로깅(Logging)을 마우스로 더블 클릭합니다. 그러나, 향상된 로깅은 사이트 수준 로깅에서만 사용할 수 있다는 점을 주의하시기 바랍니다. 연결(Connections) 패인에서 서버 노드를 선택한 경우에는 W3C 로깅 필드(W3C Logging Fields) 대화 상자의 사용자 지정 필드(Custom Fields) 영역이 비활성화 됩니다. *
  3. 로그 파일(Log File) 영역의 형식(Format) 필드에서 W3C를 선택한 다음, 필드 선택...(Select Fields...) 버튼을 클릭합니다.
    Select fields
  4. W3C 로깅 필드(W3C Logging Fields) 대화 상자가 나타나면 필드 추가...(Add Field...) 버튼을 클릭합니다. 다시 한 번 강조하지만, 향상된 로깅은 사이트 수준에서만 사용할 수 있다는 점에 주의하시기 바랍니다. 연결(Connections) 패인에서 서버 노드를 선택한 경우에는 이 필드 추가...(Add Field...) 버튼이 비활성화 됩니다. *
    Add custom fields
  5. 사용자 지정 필드 추가(Add Custom Field) 대화 상자에서 필드 이름(Field Name) 입력란에 로그 파일에서 사용자 지정 필드를 식별할 이름을 입력합니다. 단, 필드 이름은 빈 문자열을 포함할 수 없으므로 주의하시기 바랍니다.
  6. 원본 유형(Source Type)을 지정합니다. 선택할 수 있는 값으로는 요청 헤더(Request Header)응답 헤더(Response Header), 또는 서버 변수(Server Variable)가 있습니다. (향상된 로깅은 서버 변수 이름에 소문자가 포함되어 있는 경우, 로그를 기록할 수 없으므로 주의하시기 바랍니다. 서버 변수를 로그에 기록하려면 이름이 대문자로만 구성되어 있어야 합니다).
  7. 로그에 기록할 값을 담고 있는 HTTP 헤더나 서버 변수의 이름인 원본(Source)를 선택합니다 (이 원목의 목록은 직전 과정에서 선택한 원본 유형(Source Type) 항목의 값에 따라 변경됩니다). 또는, 사용자 지정 원본 문자열을 직접 입력할 수도 있습니다. 예를 들어서, "X-FORWARDED-FOR"라는 사용자 지정 HTTP 헤더를 로그에 기록하려면 다음과 같이 이 문자열을 그대로 원본(Source) 입력란에 입력합니다.
    Enter custom source
  8. 확인(OK) 버튼을 클릭합니다.
  9. 계속해서 추가하고자 하는 사용자 지정 필드마다 필드 추가...(Add Field...) 버튼을 클릭해서 동일한 작업을 반복합니다. 또는, 필드 제거(Remove Field) 버튼을 클릭해서 추가한 사용자 지정 필드를 제거하거나, 필드 편집...(Edit Field...) 버튼을 클릭해서 내용을 편집할 수도 있습니다.
  10. 확인(OK) 버튼을 클릭합니다.
  11. 작업(Actions) 패인에서 적용(Apply) 링크 버튼을 클릭해서 새로운 구성을 적용합니다.

IIS는 사용자 지정 필드가 구성되는 즉시, 사용자 지정 필드를 포함하고 있다는 의미로 파일 이름에 "_x"가 추가된 새로운 텍스트 로그 파일을 생성합니다.

그리고, 모든 사용자 지정 필드들의 데이터 크기를 합한 값이 65,536 바이트를 초과할 수 없으므로 주의하시기 바랍니다. 만약, 데이터가 65,536 바이트를 초과하면 IIS가 데이터를 잘라버립니다.

* 두 번씩이나 강조하고 있는 본문의 설명과는 달리 Windows 8.1 환경에서 직접 테스트를 수행해본 결과, 서버 수준 로깅 구성에서도 모든 작업이 정상적으로 이루어졌습니다.

요약

본문에서는 IIS 로그에 사용자 지정 필드들을 기록하도록 IIS를 구성해봤습니다.