Windows Azure PaaS(Platform as a Service) 컴퓨팅 진단 데이터
문제를 해결해야 하는 경우 가장 중요한 사항 중 하나는 사용할 수 있는 진단 데이터입니다. 로그 또는 기타 진단 정보를 찾을 위치를 모르는 경우 문제 해결을 위해 시행착오 또는 산탄총 접근 방식을 사용해야 할 수 있습니다. 로그에 액세스할 수 있는 경우 전문 분야 내에 있지 않더라도 문제를 진단할 가능성이 높아질 수 있습니다.
이 문서에서는 Azure PaaS(Platform as a Service) 컴퓨팅 환경에서 사용할 수 있는 데이터에 대해 설명합니다. Windows PaaS VM(가상 머신)에서 이 데이터를 쉽게 수집하는 방법을 설명합니다.
다음 섹션에는 Windows PaaS VM의 문제를 해결할 때 가장 일반적으로 사용되는 데이터 원본이 포함되어 있습니다. 섹션은 중요도(로그를 사용하여 문제를 진단하는 빈도)에 따라 대략적으로 정렬됩니다.
Windows Azure 이벤트 로그
Windows Azure 이벤트 로그에는 Azure 런타임의 주요 진단 출력이 포함됩니다. 로그는 다음과 같은 이벤트에 대한 정보를 기록합니다.
- 역할 시작 및 중지
- 시작 작업
OnStart
시작 및 중지OnRun
시작하다- 크래시
- 재활용
Windows Azure 이벤트 로그를 보려면 다음을 수행합니다.
시작 메뉴에서 이벤트 뷰어 검색한 다음 해당 앱을 선택합니다.
탐색 창에서 애플리케이션 및 서비스 로그를 확장한 다음, Windows Azure를 선택합니다.
이 진단 원본은 Azure 역할이 올바르게 시작되지 않도록 하는 가장 일반적인 몇 가지 문제의 원인을 식별하는 데 도움이 됩니다. 여기에는 시작 작업 실패 및 충돌 또는 OnRun
충돌 OnStart
등이 포함됩니다. 이벤트 뷰어 역할 진입점 코드(예: WebRole.cs 또는 WorkerRole.cs)를 실행하는 Azure 런타임 호스트 프로세스에서 충돌을 캡처하고 호출 스택을 제공합니다.
애플리케이션 이벤트 로그
Azure 및 온-프레미스 서버 모두에서 표준 문제 해결에 애플리케이션 이벤트 로그를 사용할 수 있습니다. 이러한 로그에서 w3wp.exe 관련 오류를 찾을 수 있습니다.
애플리케이션 이벤트 로그를 보려면 다음을 수행합니다.
시작 메뉴에서 이벤트 뷰어 검색한 다음 해당 앱을 선택합니다.
탐색 창에서 Windows 로그를 확장한 다음 애플리케이션을 선택합니다.
앱 에이전트 런타임 로그
앱 에이전트 런타임 로그는 C:\Logs\AppAgentRuntime.log 있으며 WindowsAzureGuestAgent.exe 실행 파일에 의해 작성됩니다. 로그에는 게스트 에이전트 및 VM 내에서 발생하는 이벤트에 대한 정보가 포함됩니다. 이 이벤트 정보에는 다음 범주가 포함되지만 이에 국한되지는 않습니다.
- 방화벽 구성
- 역할 상태 변경
- 재활용
- 재부팅
- 상태 변경
- 역할 중지 및 시작
- 인증서 구성
이 로그는 역할에 시간이 지남에 따라 발생하는 이벤트에 대한 간략한 개요를 가져오는 데 유용합니다. 이는 하트비트를 로깅하지 않고 역할에 대한 주요 변경 내용을 기록하기 때문입니다. 게스트 에이전트가 역할을 올바르게 시작할 수 없는 경우(예: 잠긴 파일이 디렉터리 정리를 방해하는 경우) 이 로그에 기록된 이벤트가 표시됩니다.
앱 에이전트 하트비트 로그
앱 에이전트 하트비트 로그는 C:\Logs\WaAppAgent.log 있으며 WindowsAzureGuestAgent.exe 실행 파일에 의해 작성됩니다. 호스트 부트스트래퍼에 대한 상태 프로브에 대한 상태 정보가 포함됩니다.
게스트 에이전트 프로세스는 패브릭에 상태(예: Ready
또는 Busy
)를 보고합니다. 따라서 이 로그가 보고하는 상태는 관리 포털에 표시되는 상태와 동일합니다. 로그는 VM 내에서 역할의 현재 상태를 확인하거나 이전의 상태를 확인하는 데 유용합니다. "내 웹 사이트가 어제 오전 10시에서 오전 11시 30분까지 다운되었습니다"와 같은 문제 설명을 제공하여 하트비트 로그를 사용하여 해당 시간 동안 역할의 상태를 확인하는 데 도움을 줄 수 있습니다.
호스트 부트스트래퍼 로그
호스트 부트스트래퍼 로그는 C:\Resources\WaHostBootstrapper.log 있습니다. 여기에는 캐싱 또는 RDP(원격 데스크톱 프로토콜)와 같은 플러그 인을 포함하여 시작 작업에 대한 항목이 포함됩니다. 로그에는 역할 진입점 코드( WaIISHost.exe 실행되는 WebRole.cs 코드)를 실행하는 호스트 프로세스에 대한 상태 프로브도 포함됩니다.
로그 파일은 호스트 부트스트래퍼를 다시 시작할 때마다 생성됩니다. 즉, 크래시, 재활용, VM 다시 시작 또는 업그레이드와 같은 이벤트로 인해 역할이 재활용될 때마다 다시 시작됩니다. 이렇게 하면 로그를 사용하여 역할이 재활용된 빈도 또는 시기를 쉽게 확인할 수 있습니다.
로그 인터넷 정보 서비스
IIS(인터넷 정보 서비스) 로그는 C:\Resources\Directory\<DeploymentID>에 있습니다.<RoleName>. DiagnosticStore\LogFiles\Web. 이러한 로그는 Azure 및 온-프레미스 서버 모두에서 표준 문제 해결에 사용됩니다.
IIS 로그는 "내 웹 사이트가 어제 오전 10시에서 오전 11시 30분까지 다운되었습니다."와 같은 시나리오에서 종종 간과됩니다. 중단에 대해 Azure를 비난하는 것은 당연한 일입니다. ("내 사이트가 2주 동안 정상적으로 작동했기 때문에 문제는 Azure여야 합니다!") 그러나 IIS 로그는 종종 그렇지 않은 것으로 표시됩니다. 가동 중단 직전에 응답 시간이 증가했음을 확인할 수 있습니다. 또는 IIS에서 성공하지 못하는 상태 코드가 반환된 것을 확인할 수 있습니다. 이러한 코드는 Azure가 아닌 웹 사이트 자체(즉, w3wp.exe 실행되는 ASP.NET 코드)에서 발생한 문제를 나타냅니다.
성능 카운터
성능 카운터를 보려면 시작 메뉴를 선택하고 성능 카운터를 검색한 다음 성능 모니터 선택합니다. 이 앱은 MMC(Microsoft Management Console)에 대한 스냅인입니다. 또는 Windows Azure WAD(진단 확장)를 설치하고 구성합니다.
성능 카운터는 Azure 및 온-프레미스 서버 모두에서 표준 문제 해결에 사용됩니다. WAD를 미리 설정하는 경우 과거에 발생한 문제를 해결하기 위해 중요한 성능 카운터가 있는 경우가 많습니다(예: "내 웹 사이트가 어제 오전 10시에서 오전 11시 30분까지 다운되었습니다.").
특정 성능 카운터를 수집하는 문제 외에도 WAD에서 수집하는 성능 카운터의 가장 일반적인 용도는 지정된 순서대로 다음 항목을 찾는 것입니다.
일반 성능 카운터 항목
항목이 없는 기간
다음 표의 상태 중 하나입니다.
시스템 상태 설명 일반 항목의 재개 VM이 실행되지 않았을 수 있는 시나리오 100% CPU 사용량 웹 사이트 코드 자체의 무한 루프 또는 기타 논리 문제
로그 HTTP.SYS
HTTP.SYS 로그는 D:\Windows\System32\LogFiles\HTTPERR에 있습니다. 이러한 로그는 Azure 및 온-프레미스 서버 모두에서 표준 문제 해결에 사용됩니다.
IIS 로그의 경우와 마찬가지로 HTTP.SYS 로그는 종종 간과됩니다. 그러나 호스트된 서비스 웹 사이트가 응답하지 않는 문제를 해결하려고 할 때 중요합니다. 종종 이 문제는 IIS가 들어오는 요청의 볼륨을 처리할 수 없기 때문에 발생합니다. 이 원인에 대한 증거는 일반적으로 HTTP.SYS 로그에 나타납니다.
IIS 실패 요청 로그 파일
"IIS 실패 요청" 로그 파일은 C:\Resources\Directory\DeploymentID>에 있습니다.<<RoleName>. DiagnosticStore\FailedReqLogFiles. 이러한 로그는 Azure 및 온-프레미스 서버 모두에서 표준 문제 해결에 사용됩니다.
기본적으로 이러한 로그 파일은 Windows Azure에서 설정되지 않습니다. 거의 사용되지 않습니다. 그러나 IIS 또는 ASP.NET 관련된 문제를 해결하는 경우 FREB(실패한 요청 이벤트 버퍼링) 추적을 켜는 것이 좋습니다. FREB 추적은 이러한 문제에 대한 자세한 정보를 제공할 수 있습니다.
Windows Azure 진단 테이블 및 구성
Windows Azure WAD(진단 확장)에 대한 테이블 및 구성은 C:\Resources\Directory\<DeploymentID>에 있습니다.<RoleName>. DiagnosticStore\Monitor. 이러한 항목은 WAD 데이터의 로컬 VM 캐시를 나타냅니다.
WAD는 다음 단계를 수행합니다.
구성한 데이터를 캡처합니다.
VM의 사용자 지정 .tsf 파일에 데이터를 저장합니다.
지정한 예약된 전송 기간에 따라 데이터를 스토리지로 전송합니다.
아쉽게도 데이터는 사용자 지정 .tsf 형식이므로 WAD 데이터의 콘텐츠는 제한적입니다. 그러나 WAD가 제대로 작동하지 않는 경우 문제를 해결하는 데 유용한 진단 구성 파일이 포함되어 있습니다. Configuration 폴더에서 이름이 config.xml 파일을 찾습니다. 이 파일에는 WAD에 대한 구성 데이터가 포함됩니다. WAD가 제대로 작동하지 않는 경우 이 파일을 확인하여 WAD가 구성될 것으로 예상하는 방식을 반영하는지 확인합니다.
Windows Azure 캐싱 로그 파일
Windows Azure 캐싱 로그 파일은 C:\Resources\Directory\DeploymentID>에 있습니다.<<RoleName>. DiagnosticStore\AzureCaching. 이러한 로그에는 Windows Azure 역할 기반 캐싱에 대한 자세한 정보가 포함되어 있습니다. 로그는 캐싱이 예상대로 작동하지 않는 문제를 해결하는 데 도움이 될 수 있습니다.
WaIISHost 로그
WaIISHost 로그는 C:\Resources\Directory\DeploymentID>에 있습니다.<<RoleName>. DiagnosticStore\WaIISHost.log. WaIISHost.exe 프로세스의 정보를 포함합니다. 이 프로세스는 WebRoles에 대한 역할 진입점 코드(WebRole.cs)가 실행되는 위치입니다. 이 정보의 대부분은 이 문서에 설명된 다른 로그(예: Windows Azure 이벤트 로그)에도 포함되어 있습니다. 그러나 경우에 따라 여기에서 더 유용한 정보를 찾을 수 있습니다.
IISConfigurator 로그
IISConfigurator 로그는 C:\Resources\Directory\DeploymentID>에 있습니다.<<RoleName>. DiagnosticStore\IISConfigurator.log. IISConfigurator 프로세스에 대한 정보가 포함되어 있습니다. 이 프로세스는 서비스 정의 파일에 정의한 모델을 기반으로 웹 사이트의 실제 IIS 구성을 수행하는 데 사용됩니다. 프로세스는 거의 실패하거나 오류가 발생하지 않습니다. 그러나 IIS 또는 w3wp.exe 서비스에 대해 올바르게 설정되지 않은 것 같으면 이 로그를 확인할 수 있습니다.
역할 구성 파일
역할 구성 파일은 C:\Config\<DeploymentID>에 있습니다.<RoleName>.<버전>.xml. 여기에는 역할의 구성에 대한 정보(예: 다음 항목)가 포함됩니다.
ServiceConfiguration.cscfg 파일에 정의된 설정
로컬 리소스 디렉터리
DIP(동적 IP) 및 VIP(가상 IP)에 대한 IP 주소 및 포트
인증서 지문
부하 분산 장치 프로브
기타 인스턴스는
역할 구성 파일은 런타임 생성 정보를 포함하지 않는다는 측면에서 역할 모델 정의 파일과 유사합니다. 그러나 서비스가 예상대로 구성되었는지 확인하는 것이 유용할 수 있습니다.
역할 모델 정의 파일
역할 모델 정의 파일은 E:\RoleModel.xml 또는 F:\RoleModel.xml 있습니다. Azure 런타임에 따라 서비스를 정의하는 방법에 대한 정보가 포함되어 있습니다.
파일에는 각 시작 작업에 대한 항목과 다음 특성을 포함하여 태스크가 실행되는 방법에 대한 정보가 포함됩니다.
- 배경
- 환경 변수
- 위치
웹 역할에 대해 사이트> 요소가 정의되는 방법<도 확인할 수 있습니다.
역할 모델 정의 파일에는 런타임 생성 정보가 포함되지 않지만 Azure가 예상대로 서비스를 실행하고 있는지 확인하는 데 도움이 될 수 있습니다. 이 확인은 개발 컴퓨터에 특정 버전의 서비스 정의가 있지만 빌드 및 패키지 서버가 다른 버전의 서비스 정의 파일을 사용하는 경우에 종종 도움이 됩니다.
ETL 파일 정보
C:\Logs 폴더에는 RuntimeEvents_<Iteration.etl> 및 WaAppAgent_<Iteration.etl> 파일이 포함됩니다. 이러한 ETL(이벤트 추적 로그) 파일은 Windows Azure 이벤트 로그, 게스트 에이전트 로그 및 기타 로그에 있는 정보의 컴파일을 포함하는 ETW(Windows용 이벤트 추적) 추적입니다. 이 파일은 Azure VM에서 가장 중요한 로그 데이터를 편리하게 컴파일합니다. 파일이 ETL 형식이므로 정보를 사용하려면 몇 가지 추가 단계를 수행해야 합니다. 즐겨 찾는 ETW 보기 도구가 있는 경우 언급된 많은 로그 파일을 무시할 수 있습니다. 대신 이러한 두 ETL 파일의 정보만 볼 수 있습니다.
다음 단계
자세한 정보
도움을 요청하십시오.
질문이 있거나 도움이 필요한 경우 지원 요청을 생성하거나Azure 커뮤니티 지원에 문의하세요. Azure 피드백 커뮤니티에 제품 피드백을 제출할 수도 있습니다.