WVDConnections tablosu için sorgular
Azure portalında bu sorguları kullanma hakkında bilgi için bkz . Log Analytics öğreticisi. REST API için bkz . Sorgu.
Bağlantı Hataları
Tüm kullanıcılar genelinde ayrıntılı bilgilerle birlikte her bağlantı girişimi için bağlantı denetim noktalarını ve hataları listeleyin.
//You can also uncomment the where clause to filter to a specific user if you are troubleshooting an issue.
WVDConnections
//| where UserName == "upn.here@contoso.com"
| project-away TenantId,SourceSystem
| summarize arg_max(TimeGenerated, *), StartTime = min(iff(State=='Started', TimeGenerated , datetime(null) )), ConnectTime = min(iff(State=='Connected', TimeGenerated , datetime(null) )) by CorrelationId
| join kind=leftouter
(
WVDErrors
|summarize Errors=make_list(pack('Code', Code, 'CodeSymbolic', CodeSymbolic, 'Time', TimeGenerated, 'Message', Message ,'ServiceError', ServiceError, 'Source', Source)) by CorrelationId
) on CorrelationId
| join kind=leftouter
(
WVDCheckpoints
| summarize Checkpoints=make_list(pack('Time', TimeGenerated, 'Name', Name, 'Parameters', Parameters, 'Source', Source)) by CorrelationId
| mv-apply Checkpoints on
(
order by todatetime(Checkpoints['Time']) asc
| summarize Checkpoints=make_list(Checkpoints)
)
) on CorrelationId
| project-away CorrelationId1, CorrelationId2
| order by TimeGenerated desc
Oturum süresi
Her kullanıcının bağlantılarının süresini ve bağlantı türünü listeler.
// The "State" field provides information on the connection stage of an actitivity.
// The delta between "Connected" and "Completed" provides the connection duration.
WVDConnections
| where State == "Connected"
| project CorrelationId , UserName, ConnectionType , StartTime=TimeGenerated
| join kind=inner
(
WVDConnections
| where State == "Completed"
| project EndTime=TimeGenerated, CorrelationId
) on CorrelationId
| project Duration = EndTime - StartTime, ConnectionType, UserName
| sort by Duration desc
Ortalama bağlantı süresine göre ilk 10 kullanıcı
En uzun ortalama bağlantı süresine sahip 10 kullanıcıyı listeler.
// Connection activities have 3 states, this query demonstrates how to calculate the connection duration.
WVDConnections
| where State == "Connected"
| project CorrelationId, UserName, ConnectionType, StartTime=TimeGenerated
| join kind=inner
(
WVDConnections
| where State == "Completed"
| project EndTime=TimeGenerated, CorrelationId
) on CorrelationId
| project Duration = EndTime - StartTime, ConnectionType, UserName
| summarize AVGDuration=avg(Duration) by UserName
| sort by AVGDuration desc
| limit 10
En etkin 10 kullanıcı
Toplam bağlantı süresine göre ilk 10 kullanıcıyı listeler.
// The connection duration is the delta between "Connected" and "Completed" state.
WVDConnections
| where State == "Connected"
| project CorrelationId , UserName, ConnectionType , StartTime=TimeGenerated
| join kind=inner
(
WVDConnections
| where State == "Completed"
| project EndTime=TimeGenerated, CorrelationId
) on CorrelationId
| extend SessionDuration = EndTime - StartTime
| summarize TotalConnectionTime = sum(SessionDuration) by UserName, ConnectionType
| top 10 by TotalConnectionTime desc
Konak havuzuna göre ortalama bağlantı süresi
Konak biriktiricilerini ortalama bağlantı süresine göre sıralar.
// Characterize the usage pattern of all hostpools in the current Log Analytics scope
WVDConnections
| where State == "Connected"
| project ResourceAlias, CorrelationId, StartTime=TimeGenerated, _ResourceId
| join kind = leftouter
(
WVDConnections
| where State == "Completed"
| project EndTime=TimeGenerated, CorrelationId
) on CorrelationId
// If connection hasn't completed yet, it is still running so the end time can be assumed to be now (duration so far)
| project Duration = coalesce(EndTime, now()) - StartTime, _ResourceId
| summarize AvgDuration=avg(Duration) by _ResourceId
| parse _ResourceId with "/subscriptions/" subscription "/resourcegroups/" ResourceGroup "/providers/microsoft.desktopvirtualization/hostpools/" HostPool
| project ResourceGroup, HostPool, AvgDuration
| sort by AvgDuration desc
Kullanıcı sayısına göre istemci tarafı işletim sistemi bilgileri
Dağıtıma bağlanan istemci cihazlarda kullanılan işletim sistemlerinin çubuk grafiğini oluşturur.
// Use this query to understand which OS version users have installed on the devices they are connecting from.
WVDConnections
| summarize UserCount=dcount(UserName) by ClientOS
| sort by UserCount desc
| render barchart
Azure Sanal Masaüstü istemci kullanım bilgileri
Dağıtıma bağlanan kullanıcılar tarafından kullanılan istemci türlerinin ve sürümlerinin listesi.
WVDConnections
| summarize UserCount=dcount(UserName) by ClientType, ClientVersion
| sort by ClientVersion, ClientType, UserCount desc
Ortalama oturum açma süresi
Konak havuzuna ve oturum durumuna göre ortalama oturum oturum açma süresini listeler.
WVDConnections
| where TimeGenerated > ago(24h)
| where State == "Started"
| project CorrelationId , UserName, ConnectionType , StartTime=TimeGenerated, _ResourceId
| join kind=inner
(
WVDConnections
| where State == "Connected"
| project ConnectTime=TimeGenerated, CorrelationId
) on CorrelationId
| join kind=inner
(
WVDCheckpoints
| where Name =~ "LoadBalancedNewConnection"
| extend LoadBalanceOutcome=tostring(parse_json(Parameters).LoadBalanceOutcome)
) on CorrelationId
| project Duration = ConnectTime - StartTime, _ResourceId, Session=case(LoadBalanceOutcome in ("Active", "Disconnected"), "ExistingSession", LoadBalanceOutcome == "Pending", "Creating", LoadBalanceOutcome)
// Exclude connections that are happening while another connection kicked off the session creation, since results will be inconclusive
| where Session != "Creating"
| summarize AvgDuration=avg(Duration) by _ResourceId, Session
| parse _ResourceId with "/subscriptions/" subscription "/resourcegroups/" ResourceGroup "/providers/microsoft.desktopvirtualization/hostpools/" HostPool
| project ResourceGroup, HostPool, Session, AvgDuration
| sort by AvgDuration desc