你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

收集和查询连接质量数据

重要

连接图形数据日志目前为预览版。 有关适用于 Beta 版、预览版或其他尚未正式发布的 Azure 功能的法律条款,请参阅 Microsoft Azure 预览版补充使用条款

连接质量 对于良好的用户体验至关重要,因此必须能够监视连接中是否存在潜在问题,并在问题出现时对其进行故障排除。 Azure 虚拟桌面与 Log Analytics 等工具集成,可帮助监视部署的连接运行状况。 本文介绍如何配置诊断设置,以便收集连接质量数据并查询特定参数的数据。

先决条件

若要开始收集连接质量数据,需要 设置用于 Azure 虚拟桌面的 Log Analytics 工作区

注意

将收取 Log Analytics 的正常存储费用。 有关详细信息,请参阅 Azure Monitor 日志定价详细信息

配置诊断设置

在Azure 门户中检查和修改诊断设置:

  1. 登录到Azure 门户,然后转到“Azure 虚拟桌面”并选择“主机池”。

  2. 选择要为其收集网络数据的主机池。

  3. 选择“ 诊断设置”,然后创建一个新设置(如果尚未配置诊断设置)。 如果已配置诊断设置,请选择 “编辑设置”。

  4. 如果要收集所有表的数据,请选择 allLogsallLogs 参数将来会自动向数据表添加新表。

    如果想要查看更具体的表,请先选择“ 网络数据日志 ”和“ 连接图形数据日志预览”,然后选择要查看的其他表的名称。

  5. 选择要将收集的数据发送到的位置。 Azure 虚拟桌面见解用户应选择 Log Analytics 工作区。

  6. 选择“ 保存” 以应用更改。

  7. 对要测量的所有其他主机池重复此过程。

  8. 若要检查网络数据,请返回到主机池的资源页,选择“日志”,然后在 Azure Log Analytics 的示例查询中运行其中一个查询。 为了使查询获得结果,主机池必须具有以前已连接到会话的活动用户。 请记住,网络数据最长可能需要 15 分钟才会显示在Azure 门户中。

Azure Log Analytics 的示例查询:网络数据

在本部分中,我们提供了一个查询列表,可帮助你查看连接质量信息。 可以在 Log Analytics 查询编辑器中运行查询。

注意

对于每个示例,请将 userupn 变量替换为要查找的用户的 UPN。

查询平均 RTT 和带宽

若要查找平均往返时间和带宽,请:

// 90th, 50th, 10th Percentile for RTT in 10 min increments
WVDConnectionNetworkData
| summarize RTTP90=percentile(EstRoundTripTimeInMs,90),RTTP50=percentile(EstRoundTripTimeInMs,50),RTTP10=percentile(EstRoundTripTimeInMs,10) by bin(TimeGenerated,10m)
| render timechart
// 90th, 50th, 10th Percentile for BW in 10 min increments
WVDConnectionNetworkData
| summarize BWP90=percentile(EstAvailableBandwidthKBps,90),BWP50=percentile(EstAvailableBandwidthKBps,50),BWP10=percentile(EstAvailableBandwidthKBps,10) by bin(TimeGenerated,10m)
| render timechart

若要查找每个连接的往返时间和带宽,请执行以下作:

// RTT and BW Per Connection Summary
// Returns P90 Round Trip Time (ms) and Bandwidth (KBps) per connection with connection details.
WVDConnectionNetworkData
| summarize RTTP90=percentile(EstRoundTripTimeInMs,90),BWP90=percentile(EstAvailableBandwidthKBps,90),StartTime=min(TimeGenerated), EndTime=max(TimeGenerated) by CorrelationId
| join kind=leftouter (
WVDConnections
| extend Protocol = iff(UdpUse in ("0","<>"),"TCP","UDP")
| distinct CorrelationId, SessionHostName, Protocol, ClientOS, ClientType, ClientVersion, ConnectionType, ResourceAlias, SessionHostSxSStackVersion, UserName
) on CorrelationId
| project CorrelationId, StartTime, EndTime, UserName, SessionHostName, RTTP90, BWP90, Protocol, ClientOS, ClientType, ClientVersion, ConnectionType, ResourceAlias, SessionHostSxSStackVersion

查询特定用户的数据

查找特定用户的带宽:

let user = "alias@domain";
WVDConnectionNetworkData
| join kind=leftouter (
    WVDConnections
    | distinct CorrelationId, UserName
) on CorrelationId
| where UserName == user
| project EstAvailableBandwidthKBps, TimeGenerated
| render columnchart  

查找特定用户的往返时间:

let user = "alias@domain";
WVDConnectionNetworkData
| join kind=leftouter (
WVDConnections
| distinct CorrelationId, UserName
) on CorrelationId
| where UserName == user
| project EstRoundTripTimeInMs, TimeGenerated
| render columnchart  

查找往返时间最长的前 10 位用户:

WVDConnectionNetworkData
| join kind=leftouter (
    WVDConnections
    | distinct CorrelationId, UserName
) on CorrelationId
| summarize AvgRTT=avg(EstRoundTripTimeInMs),RTT_P95=percentile(EstRoundTripTimeInMs,95) by UserName
| top 10 by AvgRTT desc

若要查找带宽最低的 10 个用户,请执行以下作:

WVDConnectionNetworkData
| join kind=leftouter (
    WVDConnections
    | distinct CorrelationId, UserName
) on CorrelationId
| summarize AvgBW=avg(EstAvailableBandwidthKBps),BW_P95=percentile(EstAvailableBandwidthKBps,95) by UserName
| top 10 by AvgBW asc

后续步骤

若要详细了解连接质量,请参阅 Azure 虚拟桌面中的连接质量