Использование Log Analytics для функции диагностики в виртуальном рабочем столе Azure (классическая модель)
Важный
Это содержимое относится к виртуальному рабочему столу Azure (классическому), который не поддерживает объекты Виртуального рабочего стола Azure Resource Manager Azure. Если вы пытаетесь управлять объектами Azure Resource Manager Azure Virtual Desktop, см. эту статью.
Виртуальный рабочий стол Azure предлагает функцию диагностики, которая позволяет администратору выявлять проблемы с помощью одного интерфейса. Эта функция регистрирует сведения о диагностике всякий раз, когда кто-то, назначенный на роль в Azure Virtual Desktop, использует эту службу. Каждый журнал содержит информацию о том, какая роль виртуального рабочего стола Azure участвовала в действии, любые сообщения об ошибках, которые появляются во время сеанса, информацию о клиенте и информацию о пользователе. Функция диагностики создает журналы действий для действий пользователя и администрирования. Каждый журнал действий находится под тремя основными категориями:
- Действия подписки на ленту: когда пользователь пытается подключиться к ленте через приложения удаленного рабочего стола Майкрософт.
- Действия подключения: когда пользователь пытается подключиться к рабочему столу или RemoteApp через приложения Microsoft Remote Desktop.
- Действия по управлению: когда администратор выполняет операции управления в системе, например создание пулов узлов, назначение пользователей группам приложений и создание назначений ролей.
Подключения, которые не достигают виртуального рабочего стола Azure, не отображаются в результатах диагностики, так как сама служба ролей диагностики является частью Виртуального рабочего стола Azure. Проблемы с подключением к виртуальному рабочему столу Azure могут возникать при возникновении проблем с сетевым подключением.
Почему следует использовать Log Analytics
Мы рекомендуем использовать Log Analytics для анализа данных диагностики в клиенте Azure, предназначенного для анализа, выходящего за рамки устранения проблем одного пользователя. Так как вы можете извлечь счетчики производительности виртуальных машин в Log Analytics, у вас есть одно средство для сбора информации для развертывания.
Прежде чем приступить к работе
Прежде чем использовать Log Analytics с функцией диагностики, необходимо создать рабочую область.
После создания рабочей области следуйте приведённым в Подключение компьютеров Windows к Azure Monitor инструкциям, чтобы получить следующую информацию:
- Идентификатор рабочей области
- Первичный ключ рабочего пространства
Эти сведения потребуются позже в процессе установки.
Отправка данных диагностики в вашу рабочую область
Вы можете отправить данные диагностики из клиента Виртуального рабочего стола Azure в Log Analytics для рабочей области. Эту функцию можно настроить сразу при первом создании клиента, связав рабочую область с клиентом или настроив ее позже с существующим клиентом.
Чтобы связать клиент с рабочей областью Log Analytics во время настройки нового клиента, выполните следующий командлет, чтобы войти в Виртуальный рабочий стол Azure с учетной записью пользователя TenantCreator:
Add-RdsAccount -DeploymentUrl https://rdbroker.wvd.microsoft.com
Если вы собираетесь подключить существующего арендатора вместо нового арендатора, выполните этот командлет.
Set-RdsTenant -Name <TenantName> -AzureSubscriptionId <SubscriptionID> -LogAnalyticsWorkspaceId <String> -LogAnalyticsPrimaryKey <String>
Необходимо запустить эти командлеты для каждого клиента, чтобы связать его с Log Analytics.
Заметка
Если вы не хотите связать рабочую область Log Analytics при создании клиента, запустите вместо этого командлет New-RdsTenant
.
Частота отправки диагностических событий
События диагностики отправляются в Log Analytics после завершения.
Примеры запросов
В следующем примере запросов показано, как функция диагностики создает отчет для наиболее частых действий в системе:
В первом примере показаны действия подключения, инициированные пользователями с поддерживаемыми клиентами удаленных рабочих столов:
WVDActivityV1_CL
| where Type_s == "Connection"
| join kind=leftouter (
WVDErrorV1_CL
| summarize Errors = makelist(pack('Time', Time_t, 'Code', ErrorCode_s , 'CodeSymbolic', ErrorCodeSymbolic_s, 'Message', ErrorMessage_s, 'ReportedBy', ReportedBy_s , 'Internal', ErrorInternal_s )) by ActivityId_g
) on $left.Id_g == $right.ActivityId_g
| join kind=leftouter (
WVDCheckpointV1_CL
| summarize Checkpoints = makelist(pack('Time', Time_t, 'ReportedBy', ReportedBy_s, 'Name', Name_s, 'Parameters', Parameters_s) ) by ActivityId_g
) on $left.Id_g == $right.ActivityId_g
|project-away ActivityId_g, ActivityId_g1
В следующем примере запроса показаны действия управления администраторами для арендаторов:
WVDActivityV1_CL
| where Type_s == "Management"
| join kind=leftouter (
WVDErrorV1_CL
| summarize Errors = makelist(pack('Time', Time_t, 'Code', ErrorCode_s , 'CodeSymbolic', ErrorCodeSymbolic_s, 'Message', ErrorMessage_s, 'ReportedBy', ReportedBy_s , 'Internal', ErrorInternal_s )) by ActivityId_g
) on $left.Id_g == $right.ActivityId_g
| join kind=leftouter (
WVDCheckpointV1_CL
| summarize Checkpoints = makelist(pack('Time', Time_t, 'ReportedBy', ReportedBy_s, 'Name', Name_s, 'Parameters', Parameters_s) ) by ActivityId_g
) on $left.Id_g == $right.ActivityId_g
|project-away ActivityId_g, ActivityId_g1
Прекращение отправки данных в Log Analytics
Чтобы остановить отправку данных из существующего клиента в Log Analytics, выполните следующий командлет и задайте пустые строки:
Set-RdsTenant -Name <TenantName> -AzureSubscriptionId <SubscriptionID> -LogAnalyticsWorkspaceId <String> -LogAnalyticsPrimaryKey <String>
Вам потребуется запустить этот командлет для каждого клиента, из которого требуется прекратить отправку данных.
Дальнейшие действия
Чтобы ознакомиться с распространенными сценариями ошибок, которые функция диагностики может определить для вас, перейдите к разделу "Выявление и диагностика проблем".