보고서 서버 HTTP 로그

보고서 서버 HTTP 로그 파일은 보고서 서버가 처리하는 모든 HTTP 요청과 응답을 기록으로 유지합니다. 요청 오버플로와 시간 제한 오류는 보고서 서버에 도달하지 않으므로, 로그 파일에 기록되지 않습니다.

HTTP 로깅은 기본적으로 사용 설정되어 있지 않습니다. 설치한 프로그램에서 이 기능을 사용하려면 ReportingServicesService.exe 구성 파일을 수정해야 합니다.

로그 정보 보기

로그는 ASCII 텍스트 파일입니다. 아무 텍스트 편집기나 사용해도 파일을 볼 수 있습니다. 보고서 서버 HTTP 로그 파일은 IIS의 W3C 확장 로그 파일에 해당하며 유사한 필드를 사용하므로 기존 IIS 로그 파일 뷰어를 사용하여 보고서 서버 HTTP 로그 파일을 읽을 수 있습니다. 다음 표에 HTTP 로그 파일에 관한 자세한 정보를 기재했습니다.

로그 파일 정보 설명
파일 이름 기본적으로, 파일 이름은 ReportServerService_HTTP_\<timestamp>.log입니다. ReportingServicesService.exe.config 파일의 HttpTraceFileName 특성을 수정하면 파일 이름의 접두사를 사용자 지정할 수 있습니다. 타임스탬프는 UTC(Coordinated Universal Time)를 기반으로 합니다.
파일 위치 파일은 \Microsoft SQL Server\<SQL Server Instance>\Reporting Services\LogFiles에 있습니다.
파일 형식 파일은 EN-US 형식이며 이것은 ASCII 텍스트 파일입니다.
파일 만들기 및 보존 HTTP 로그 파일은 구성 파일에서 로그를 사용하도록 설정하고, 서비스를 다시 시작한 다음 보고서 서버가 HTTP 요청을 처리하면 만들어집니다. 설정을 구성했지만 로그 파일이 표시되지 않는 경우, 보고서를 열거나 보고서 서버 애플리케이션(예: 웹 포털)을 시작하세요. 이렇게 하면 HTTP 요청이 생성되어 파일이 만들어집니다.

로그 파일의 새 인스턴스는 각 서비스를 다시 시작하고, 이후 보고서 서버에 HTTP 요청이 발생하면 만들어집니다.

기본적으로 추적 로그는 32MB로 제한되며 14일 후 삭제됩니다.

보고서 서버 HTTP 로그에 대한 구성 설정

보고서 서버 HTTP 로그를 구성하려면 메모장을 사용해 ReportingServicesService.exe.config 파일을 수정하세요. 구성 파일은 \Program Files\Microsoft SQL Server\MSSQL.n\Reporting Services\ReportServer\Bin 폴더에 있습니다.

HTTP를 사용 설정하려면 RStrace.config 파일의 ReportingServicesService.exe 섹션에 http:4를 추가해야 합니다. 여타 모든 HTTP 로그 파일 항목은 선택 사항입니다. 다음 예시에는 모든 설정을 포함하였습니다. 따라서 RStrace 섹션에 이 섹션 전체를 붙여 넣은 다음 필요 없는 설정을 삭제하면 됩니다.

   <RStrace>  
         <add name="FileName" value="ReportServerService_" />  
         <add name="FileSizeLimitMb" value="32" />  
         <add name="KeepFilesForDays" value="14" />  
         <add name="Prefix" value="tid, time" />  
         <add name="TraceListeners" value="debugwindow, file" />  
         <add name="TraceFileMode" value="unique" />  
         <add name="HttpTraceFileName" value="ReportServerService_HTTP_" />  
         <add name="HttpTraceSwitches" value="date,time,clientip,username,serverip,serverport,host,method,uristem,uriquery,protocolstatus,bytesreceived,timetaken,protocolversion,useragent,cookiereceived,cookiesent,referrer" />  
         <add name="Components" value="all:3,http:4" />  
   </RStrace>  

로그 파일 필드

다음 표에 로그에서 사용 가능한 필드를 설명했습니다. 필드 목록은 구성 가능하므로 HTTPTraceSwitches 구성 설정을 통해 포함할 필드를 지정할 수 있습니다. 기본 열은 HTTPTraceSwitches를 지정하지 않으면 로그 파일에 해당 필드가 자동으로 포함되는지 아닌지 지정합니다.

필드 설명 기본값
HttpTraceFileName 이 값은 선택 사항입니다. 기본값은 ReportServerServiceHTTP_입니다. 다른 파일 명명 규칙을 사용하고자 하는 경우 다른 값을 지정하면 됩니다. 예를 들어 로그 파일을 중앙 위치에 저장하는 경우, 서버 이름을 포함하도록 선택할 수 있습니다.
HttpTraceSwitches 이 값은 선택 사항입니다. 이것을 지정하는 경우, 로그 파일에서 사용되는 필드를 쉼표로 구분된 형식을 사용하도록 구성할 수 있습니다. 아니요
날짜 활동이 발생한 날짜입니다. 아니요
Time 작업이 발생한 시간입니다. 아니요
ClientIp 보고서 서버에 액세스하는 클라이언트의 IP 주소입니다.
UserName 보고서 서버에 액세스한 사용자의 이름입니다. 아니요
ServerIp 연결에 사용된 IP 주소입니다. 아니요
ServerPort 연결에 사용된 포트 번호입니다. 아니요
호스트 호스트 헤더 내용입니다. 아니요
메서드 클라이언트가 호출한 작업 또는 SOAP 메서드입니다.
UriStem 액세스된 리소스입니다.
UriQuery 리소스에 액세스하는 데 사용된 쿼리입니다. 아니요
ProtocolStatus HTTP 상태 코드입니다.
BytesReceived 서버가 받은 바이트 수입니다. 아니요
TimeTaken 인스턴트 HTTP.SYS가 요청 데이터를 반환할 때부터 서버가 마지막 전송을 마칠 때까지의 시간이며(밀리초 단위), 네트워크 전송 시간은 제외합니다. 아니요
ProtocolVersion 클라이언트가 사용한 프로토콜 버전입니다. 아니요
UserAgent 클라이언트가 사용한 브라우저 유형입니다. 아니요
CookieReceived 서버가 수신한 쿠키의 내용입니다. 아니요
CookieSent 서버가 보낸 쿠키의 내용입니다. 아니요
Referrer 클라이언트가 방문한 이전 사이트입니다. 아니요