Microsoft AZ-140: 모니터링, 진단 및 문제 해결 — 학습 가이드
다음의 일부입니다: Microsoft Azure Virtual Desktop Specialty AZ-140 — 학습 가이드. 검증된 답안으로 연습하기: Microsoft 시험 허브, 또는 다음에서 시간 제한 모의고사 풀기: ExamRoll.io.
개요
Azure Virtual Desktop(AVD)의 모니터링, 진단 및 문제 해결은 리소스 수준 플랫폼 로그, 게스트 내 원격 측정 데이터, 분석을 결합하여 문제를 조기에 감지하고, 근본 원인을 신속하게 격리하며, 사용자 경험을 검증합니다. 견고한 아키텍처는 Azure Monitor, Log Analytics, Azure Monitor Agent, 데이터 수집 규칙, 큐레이팅된 통합 문서를 사용하며, 서비스 상태 및 사용자에게 영향을 미치는 상황에 대한 사전 예방적 경고를 설정합니다. 이 섹션에서는 모니터링 파이프라인을 설계하고, 진단을 활성화하며, 세션 호스트에서 올바른 데이터를 수집하고, Kusto Query Language(KQL)로 분석하며, 클라이언트 연결, AVD 에이전트 오류, FSLogix 프로필 문제, 리소스 병목 현상 등 가장 일반적인 운영 문제에 대응하는 방법을 설명합니다.
AVD Insights를 위한 Azure Monitor 및 Log Analytics 아키텍처
Azure Virtual Desktop Insights는 Azure Monitor 통합 문서와 Log Analytics를 기반으로 구축된 솔루션으로, AVD 플랫폼 리소스 로그와 게스트 OS 원격 측정 데이터를 상호 연관시켜 상태, 용량 및 사용자 경험 뷰를 제공합니다. 그 효과는 두 가지 데이터 평면에 따라 달라집니다.
- 진단 설정을 통해 AVD 리소스(호스트 풀, 작업 영역, 애플리케이션 그룹 및 AVD 서비스)에서 수집되는 플랫폼/리소스 로그.
- Azure Monitor Agent(AMA)와 데이터 수집 규칙(DCR)을 통해 세션 호스트에서 수집되는 게스트 원격 측정 데이터. 여기에는 Windows 이벤트 로그와 성능 카운터가 포함됩니다.
작업 영역 아키텍처 및 설계 고려 사항:
- 중앙 집중식 작업 영역 vs. 랜딩 존별 작업 영역: 지역적으로 가까운 단일 작업 영역은 쿼리, 경고 및 거버넌스를 단순화합니다. 매우 큰 규모의 환경이나 엄격한 데이터 주권 요구 사항이 있는 경우 여러 작업 영역을 사용하는 것이 정당화될 수 있습니다. 지연 시간과 비용 때문에 불필요한 지역 간 데이터 수집은 피해야 합니다.
- 데이터 보존 및 비용: 조사 기간 및 규제 요구 사항에 맞춰 보존 기간을 설정합니다. 일반적인 운영 데이터 보존 기간은 30-90일이며, 장기 보존을 위해 스토리지에 보관합니다. 적절한 경우에만 기본 로그를 활성화하십시오. AVD 진단 로그는 쿼리 성능을 위해 분석 로그로 사용하는 것이 가장 좋습니다.
- 다중 테넌트/다중 구독: Azure Monitor의 리소스 중심 액세스 및 Azure RBAC를 사용하여 운영 팀에 범위가 지정된 쿼리 권한을 부여합니다. 필요한 경우 SIEM을 위해 로그를 Event Hubs로 스트리밍합니다.
- 종속성 가시성: VM insights를 활성화하거나 성능 카운터를 수집하여 CPU, 메모리, 디스크, 네트워크 데이터를 AVD 세션 및 연결 데이터와 상호 연관시킵니다.
AVD Insights 통합 문서는 진단 설정과 게스트 내 원격 측정 데이터 모두에 의존합니다. 둘 중 하나라도 누락되면 시각화가 불완전해집니다.
진단 활성화 및 원격 측정 데이터 수집
AVD 리소스의 진단 설정
다음 각 리소스 유형에 대해 진단 설정을 활성화하고 Log Analytics 작업 영역으로 보냅니다. 선택적으로 장기 보존을 위해 스토리지에 보관하고 외부 분석을 위해 Event Hubs로 스트리밍할 수 있습니다.
- 호스트 풀: Connection, HostRegistration, Checkpoint, Management, Error, NetworkData와 같은 범주를 활성화합니다. 이러한 로그는 연결 시도, 에이전트 등록 상태 변경, 세션 체크포인트, 관리 작업을 캡처합니다.
- 애플리케이션 그룹 및 작업 영역: Management 및 Error를 활성화하여 피드 게시, 할당, 구성 변경을 캡처합니다.
- AVD 서비스 수준 로그: 사용 가능한 경우 Error 및 Management를 활성화하여 테넌트와 관련된 서비스 작업에 대한 가시성을 확보합니다.
세션 호스트의 Azure Monitor Agent 및 DCR
- 에이전트 선택: Azure Monitor Agent(AMA)를 사용합니다. 레거시 Log Analytics 에이전트(MMA)는 더 이상 사용되지 않으므로 중복과 혼동을 피하기 위해 제거해야 합니다.
- 데이터 수집 규칙(DCR): 다음을 수집하도록 DCR을 작성합니다.
- Windows 이벤트 로그:
- Microsoft-Windows-RemoteDesktopServices-RdpCoreTS/Operational
- Microsoft-Windows-TerminalServices-LocalSessionManager/Operational
- Microsoft-Windows-TerminalServices-RemoteConnectionManager/Operational
- Microsoft-FSLogix-Apps/Operational and Admin
- System 및 Application (핵심 OS, 네트워킹, VSS, SMB, 스토리지 및 프로필 이벤트용)
- 성능 카운터:
- Processor(_Total)% Processor Time
- System\Processor Queue Length
- Memory\Available MBytes, Memory\Committed Bytes
- LogicalDisk(_Total)\Avg. Disk sec/Read, Avg. Disk sec/Write, Disk Transfers/sec, Free Megabytes
- Network Interface(*)\Bytes Total/sec, Output Queue Length
- Terminal Services\Active Sessions, Inactive Sessions, Total Sessions
- RemoteFX Graphics(*)\Frames Skipped/Second (server, network, client)
- 호스트 활성 상태를 위한 Heartbeat (AMA에 의해 활성화됨).
- Windows 이벤트 로그:
- 범위 및 거버넌스: DCR을 호스트 풀의 리소스 그룹에 할당하거나 태그를 사용하여 동적 VM 범위에 할당합니다. 중복 데이터와 과도한 비용을 방지하기 위해 동일한 카운터나 이벤트 채널을 수집하는 DCR이 겹치지 않도록 합니다.
- VM insights: 선택적으로 VM insights를 활성화하여 큐레이팅된 성능 및 종속성 뷰를 볼 수 있습니다. 이는 또한 더 풍부한 성능 추세 분석을 위해 InsightsMetrics를 채웁니다.
운영 분석 및 문제 해결 기법
통합 문서 및 대시보드
- AVD Insights 통합 문서를 사용하여 연결 성공/실패율, 세션 분포, 호스트 등록 상태, 세션 호스트 성능 등 선별된 개요를 확인합니다. 비즈니스 단위 또는 호스트 풀에 대한 사용자 지정 통합 문서를 만들어 SLA에 부합하는 주요 성능 지표(예: 최초 장애 감지 시간, 로그온 지속 시간 프록시, 세션 밀도)를 추적합니다.
일반적인 조사를 위한 Kusto 쿼리
- 단계 및 메시지별 연결 실패:
AzureDiagnostics
| where Category == "Connection"
| extend p = parse_json(Properties)
| summarize Attempts = count(), Failures = countif(tostring(p.Status) != "Success")
by FailureStage = tostring(p.FailureStage),
FailureMessage = tostring(p.FailureMessage)
| order by Failures desc
- 호스트별 세션 수 및 용량 압박:
Perf
| where ObjectName == "Terminal Services" and CounterName in ("Active Sessions","Total Sessions")
| summarize Avg=count(), AvgValue=avg(CounterValue) by bin(TimeGenerated, 5m), Computer, CounterName
- 에이전트 등록 상태:
AzureDiagnostics
| where Category == "HostRegistration"
| extend p = parse_json(Properties)
| summarize Latest = arg_max(TimeGenerated, tostring(p.RegistrationState), tostring(p.Details))
by ResourceId
| where Latest_RegistrationState != "Registered"
- 높은 CPU 사용량 감지:
Perf
| where ObjectName == "Processor" and CounterName == "% Processor Time" and InstanceName == "_Total"
| summarize AvgCPU = avg(CounterValue) by Computer, bin(TimeGenerated, 5m)
| where AvgCPU > 85
- FSLogix 오류:
Event
| where Source == "Microsoft-FSLogix-Apps"
| project TimeGenerated, Computer, EventID, RenderedDescription
| order by TimeGenerated desc
연결 진단 및 일반적인 클라이언트 문제
- 검증 단계:
- 피드 검색: 작업 영역을 검색하려면 인터넷 액세스와 성공적인 Azure AD 인증이 필요합니다. 조건부 액세스 또는 시간 불일치로 인해 토큰 획득이 차단될 수 있습니다. 디바이스 규정 준수 정책과 NTP 동기화를 확인하십시오.
- 브로커 및 게이트웨이 협상: 방화벽과 프록시를 통해 AVD 서비스 엔드포인트로의 아웃바운드 TCP 443이 허용되는지 확인합니다. SSL 검사는 WebSocket 연결을 끊을 수 있으므로 AVD 엔드포인트를 가로채기에서 제외하십시오.
- RDP 전송: 공용 또는 관리형 네트워크에 대해 RDP Shortpath가 활성화된 경우, 설계된 대로 UDP 3390을 허용해야 합니다. 차단되면 클라이언트는 TCP로 대체되어 사용자 환경이 저하될 수 있습니다.
- 증상 및 원인:
- 잦은 연결 끊김 또는 낮은 비디오 품질: UDP 차단 또는 높은 패킷 손실. QoS 및 WAN 용량을 확인하고 실시간 트래픽의 우선순위를 지정하십시오.
- “사용 가능한 리소스 없음”: 호스트 등록 실패 또는 용량 소진. 에이전트 상태 및 세션 제한을 확인하십시오.
- 느린 로그온: 프로필 컨테이너 연결 지연, GPO 처리 또는 프로필 경로에 대한 바이러스 백신 실시간 검사.
Windows 이벤트 로그, 원격 데스크톱 구성 요소 및 AVD 에이전트
- 주요 서비스: Remote Desktop Services (TermService), Remote Desktop Services Infrastructure Agent (RdAgent), Remote Desktop Agent Loader (RDAgentBootLoader).
- 디스크의 에이전트 로그: C:\ProgramData\Microsoft\RDInfra\RDAgent\Logs 및 C:\ProgramData\Microsoft\RDInfra\RDAgentBootLoader\Logs.
- 관련 이벤트 채널:
- RdpCoreTS/Operational: 전송 및 프로토콜 오류.
- TerminalServices-LocalSessionManager/Operational: 세션 수명 주기.
- TerminalServices-RemoteConnectionManager/Operational: 연결 권한 부여 및 중개.
- 에이전트 등록 문제 해결:
- DNS, 시간 동기화, 아웃바운드 443을 확인합니다.
- 세션 호스트가 AVD 서비스 엔드포인트를 확인하고 연결할 수 있는지 확인합니다.
- 호스트가 수동으로 온보딩되었고 토큰이 만료된 경우, 현재 등록 토큰을 다시 생성하여 적용합니다.
FSLogix 로그 및 프로필 문제 해결
- 로그: C:\ProgramData\FSLogix\Logs\Profile*.log 및 이벤트 뷰어의 Microsoft-FSLogix-Apps.
- 일반적인 실패 모드:
- VHD(X)에 대한 액세스 거부 또는 공유 위반: 공유 및 NTFS ACL을 수정합니다. 다중 세션 중복이 허용되지 않는 경우 사용자 프로필당 하나의 활성 세션만 허용되도록 합니다.
- 디스크 가득 참 또는 지연 시간 급증: 스토리지 용량과 IOPS를 모니터링합니다. 대규모의 IOPS 집약적인 환경에는 Premium 또는 Azure NetApp Files가 종종 필요합니다.
- Cloud Cache: CCDLocations 및 캐시 드라이브 용량을 검토합니다. WAN 불안정성은 로그온 시간을 증가시킬 수 있습니다.
- 모범 사례:
- 바이러스 백신 실시간 검사에서 VHD(X) 연결 경로를 제외합니다.
- redirections.xml을 사용하여 크고 변동성이 큰 폴더를 프로필 컨테이너에서 제외합니다.
- Azure Files AD DS 인증을 위해 Kerberos를 검증합니다. DNS와 SPN이 정확해야 합니다.
CPU, 메모리, 디스크 및 네트워크 분석
- CPU: 높은 % Processor Time과 함께 vCPU당 System\Processor Queue Length가 2를 초과하여 지속되면 CPU 경합을 나타냅니다. vCPU를 늘리거나 세션 밀도를 줄이십시오.
- 메모리: 낮은 Memory\Available MBytes와 높은 페이징(Memory\Pages/sec)은 지연을 유발합니다. RAM을 추가하거나 세션 밀도를 줄이십시오. 커밋 한도와 무거운 앱의 작업 집합을 주시하십시오.
- 디스크: 프로필 및 임시 경로의 읽기/쓰기 지연 시간 임계값은 일반적으로 5–10 ms 미만입니다. LogicalDisk\Avg. Disk sec/Read 및 Write를 모니터링하십시오. 스토리지 클래스 불일치는 긴 로그온 시간과 느린 앱 I/O로 나타납니다.
- 네트워크: Network Interface\Bytes Total/sec 및 Output Queue Length는 포화 상태를 보여줍니다. 높은 TCP 재전송 및 패킷 손실은 RDP 품질을 저하시킵니다. AVD 트래픽에 대한 QoS 우선순위 지정을 확인하십시오.
사전 예방적 대시보드, 경고 및 서비스 상태
- 대시보드: 호스트별 구성된 최대 세션 대비 세션 밀도, 에이전트 상태 수(Registered vs. Unregistered), 상위 연결 실패 메시지, 성능 히트맵을 보여주는 통합 문서를 게시합니다.
- 경고:
- 등록 실패:
AzureDiagnostics
| where Category == "HostRegistration"
| extend p = parse_json(Properties)
| where tostring(p.RegistrationState) != "Registered"
- 용량 압박 (예시 임계값: 10분 동안 평균 활성 세션이 호스트 한도 1 이내인 경우):
Perf
| where ObjectName == "Terminal Services" and CounterName == "Active Sessions"
| summarize AvgActive = avg(CounterValue) by Computer, bin(TimeGenerated, 10m)
| join kind=leftouter (
// Replace 20 with your per-host maximum sessions
datatable(Computer:string, MaxSessions:int) [
// Populate from CMDB or tag-driven mapping
]
) on Computer
| where AvgActive >= MaxSessions - 1
- 사용자 영향 이벤트: AVD 연결 속성에서 사용 가능한 경우 연결 실패, FSLogix 연결 오류 또는 로그온 시간 급증 시 트리거합니다.
- 리소스 경합: 지속적인 CPU > 85%, Memory\Available MBytes < 500MB, Disk Avg. sec/Write 또는 Read > 20ms일 때 경고합니다.
- 작업 그룹: 자동 스케일링 또는 수정을 위해 이메일, Teams, ITSM, Automation Runbook 또는 Functions로 경고를 라우팅합니다.
- 서비스 상태: Azure Virtual Desktop, Storage, Azure Files, Azure NetApp Files, Azure AD에 대한 Azure Service Health 경고를 구성하여 사용자가 영향을 받기 전에 로그인, 프로필 또는 세션에 영향을 줄 수 있는 중단이나 유지 관리에 대해 파악합니다.
실제 문제 시나리오
Adobe Inc.에서 FSLogix on Azure Files Premium을 사용하는 풀링된 Windows 11 Enterprise 다중 세션 호스트 풀에 대해 피크 시간 동안 간헐적인 Azure Virtual Desktop 연결 끊김과 긴 로그온 시간을 보고합니다.
- 서비스 및 네트워크 필수 구성 요소 확인
- 이유: 호스트 수정으로 해결할 수 없는 외부 원인을 배제합니다.
- 조치:
- 대상 리전에서 Desktop Virtualization 또는 Storage에 영향을 미치는 인시던트가 있는지 Azure Service Health를 확인합니다.
- 지점 방화벽이 아웃바운드 TCP 443을 허용하고 AVD 엔드포인트를 SSL 검사하지 않는지 확인합니다. 해당하는 경우 Shortpath를 통해 RDP 품질을 개선하기 위해 UDP 3390이 허용되는지 확인합니다.
- 진단 파이프라인 검증
- 이유: AVD Insights는 장애를 리소스 병목 현상과 연관시키기 위해 리소스 로그와 게스트 내 원격 분석 데이터가 모두 필요합니다.
- 조치:
- 호스트 풀, 작업 영역, 애플리케이션 그룹에 대해 Connection, HostRegistration, Checkpoint, Management, Error, NetworkData 범주를 사용하여 중앙 Log Analytics 작업 영역으로 진단 설정이 활성화되었는지 확인합니다.
- 모든 세션 호스트에 AMA가 설치되어 있고 DCR이 RDP 관련 이벤트 로그와 성능 카운터를 수집하고 있는지 확인합니다.
- 연결 실패 및 에이전트 상태 분석
- 이유: 잦은 연결 끊김은 종종 전송 폴백(transport fallback) 또는 에이전트 등록 불안정성과 관련이 있습니다.
- 조치:
- AVD Connection 쿼리를 실행하여 실패 단계와 메시지를 식별하고 프록시 또는 토큰 관련 오류를 격리합니다.
- HostRegistration을 쿼리하여 Unregistered 호스트를 찾습니다. 만약 있다면 RDAgentBootLoader와 RdAgent를 다시 시작하고, DNS 및 시간 동기화를 확인하며, 등록 토큰이 만료된 경우 호스트를 다시 등록합니다.
- 로그온 지연 및 FSLogix 프로필 연결 문제 조사
- 이유: 프로필 작업은 긴 로그온 시간의 주요 원인입니다.
- 조치:
- Microsoft-FSLogix-Apps 로그에서 액세스 거부, 공유 위반 또는 마운트 시간 초과를 검토합니다. 공유 및 NTFS ACL을 검증하고, 바이러스 백신 검사에서 VHD(X) 경로를 제외합니다.
- Azure Files Premium 메트릭과 VM 성능 카운터에서 디스크 지연 시간을 확인합니다. IOPS가 지속적으로 용량을 초과하는 경우 파일 공유 처리량을 늘리거나 프로필을 Azure NetApp Files로 마이그레이션합니다.
- 리소스 병목 현상 및 용량 압박 식별
- 이유: 과부하된 호스트는 경합 상태에서 성능 저하와 연결 끊김 증상을 모두 유발합니다.
- 조치:
- 성능 카운터를 사용하여 지속적인 CPU > 85%, 낮은 가용 메모리 또는 높은 디스크 지연 시간을 감지합니다. 호스트당 세션 제한을 줄이거나 호스트를 스케일 아웃합니다.
- 피크 시간 전에 용량을 추가하도록 자동 스케일링을 활성화하거나 조정합니다. 스케일 인 동안 활성 세션을 보호하기 위해 드레이닝 모드(drain mode) 동작을 검증합니다.
- 사전 예방적 경고 및 대시보드 구현
- 이유: 조기 경고 신호를 감지하여 재발을 방지합니다.
- 조치:
- HostRegistration이 Registered 상태가 아닐 때, Connection 실패가 증가할 때, FSLogix 오류가 급증할 때에 대한 경고를 생성합니다.
- 호스트별 최대 세션 대비 활성 세션 및 리소스 히트맵을 보여주는 용량 대시보드를 구축합니다. 운영 및 서비스 소유자와 공유합니다.
이 접근 방식은 외부 종속성에 대한 Azure Service Health, 플랫폼 가시성을 위한 진단 설정, 호스트 원격 분석을 위한 AMA+DCR, 장애 도메인을 격리하기 위한 KQL 기반 분석, 그리고 네트워킹, 에이전트 상태, 프로필, 용량 전반에 걸친 대상 지정 수정을 결합하여 Adobe Inc.가 사용자 경험을 안정화하고 향후 성능 저하를 방지하도록 보장합니다.
이 문제 연습하기 → · ExamRoll.io에서 시간 제한 연습 →
Pass the whole exam — not just this question
You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.
시험 합격하기 →