Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Importante
La actualización del host de sesión para Azure Virtual Desktop está actualmente en versión preliminar. Consulte los Términos de uso complementarios para las versiones preliminares de Microsoft Azure para conocer los términos legales que se aplican a las características de Azure que están en versión beta, versión preliminar o que aún no se han publicado en disponibilidad general.
La actualización del host de sesión usa Log Analytics en Azure Monitor para almacenar información sobre las actualizaciones. Este artículo tiene algunas consultas kusto de ejemplo que puede usar con Log Analytics para ver información sobre las actualizaciones del host de sesión.
Requisitos previos
Para poder usar estas consultas, necesita:
Un grupo de hosts existente con una configuración de host de sesión.
Configuración de diagnóstico en cada grupo de hosts que se usa con la actualización del host de sesión para enviar registros y métricas a un área de trabajo de Log Analytics. Las categorías Checkpoint, Error y Session Host Management Activity Logs deben estar habilitadas como mínimo.
Una actualización de host de sesión programada anteriormente y ejecutada en los hosts de sesión del grupo host.
Ubicación de datos de diagnóstico
Una vez configurados los valores de diagnóstico en un grupo de hosts, los datos de diagnóstico para la actualización del host de sesión se almacenan en las tablas WVDSessionHostManagement y WVDCheckpoints en el área de trabajo de Log Analytics. Las entradas de registro usan el tipo de actividad De administración existente, que procede del proveedor de Azure Resource Manager (ARM).
La tabla WVDSessionHostManagement es específica de la actualización del host de sesión y se crea una vez que se habilita la categoría Registros de actividad de administración de host de sesión en la configuración de diagnóstico de cada grupo de hosts que se usa con la actualización del host de sesión y se ejecuta la actualización del host de sesión. Si ha configurado previamente la configuración de diagnóstico para un grupo de hosts, debe habilitar la categoría Registros de actividad de administración de host de sesión. Para obtener más información , consulte Configuración de los valores de diagnóstico para capturar los registros y las métricas de la plataforma para Azure Virtual Desktop.
El resto de este artículo tiene algunas consultas de ejemplo que puede ejecutar. Puede usarlos como base para crear sus propias consultas. Debe ejecutar cada una de estas consultas en Log Analytics. Para obtener más información sobre cómo ejecutar consultas, consulte Inicio de Log Analytics.
Actualizaciones del host de sesión que se completaron correctamente
Esta consulta correlaciona las tablas WVDSessionHostManagement y WVDCheckpoints para proporcionar el tiempo necesario para completar una actualización y el tiempo medio para actualizar un único host de sesión en minutos en los últimos 30 días:
let timeRange = ago(30d);
let succeededStatus = "Succeeded";
let hostPoolUpdateCompletedCheckpoint = "HostPoolUpdateCompleted";
let sessionHostUpdateCompletedCheckpoint = "SessionHostUpdateCompleted";
let provisioningTypeUpdate = "Update";
WVDSessionHostManagement
| where ProvisioningStatus == succeededStatus and TimeGenerated >= timeRange and ProvisioningType == provisioningTypeUpdate
| join kind = inner (
// Get number of session hosts updated
WVDCheckpoints
| where Name == hostPoolUpdateCompletedCheckpoint
| extend ParametersParsed = parse_json(Parameters)
| extend SessionHostUpdateCount = ParametersParsed["SessionHostsUpdateCompleted"], UpdateCompletionTime = todatetime(ParametersParsed["TimeCompleted"]), UpdateStartTime = todatetime(ParametersParsed["TimeStarted"])
| project CorrelationId, SessionHostUpdateCount, UpdateStartTime, UpdateCompletionTime
) on CorrelationId
| join kind = inner
(
// Get time to update individual session hosts
WVDCheckpoints
| where Name == sessionHostUpdateCompletedCheckpoint
| extend ParametersParsed = parse_json(Parameters)
| extend SessionHostUpdateTime = todecimal(ParametersParsed["TimeTakenToUpdateSessionHostInSeconds"])
// Calculate median time to update session host
| summarize SessionHostMedianUpdateTime = percentile(SessionHostUpdateTime, 50) by CorrelationId
) on CorrelationId
| project TimeGenerated, _SubscriptionId, _ResourceId, CorrelationId, UpdateStartDateTime = UpdateStartTime, UpdateEndDateTime = UpdateCompletionTime, ['UpdateDuration [InMinutes]'] = datetime_diff('minute', UpdateCompletionTime, UpdateStartTime), SessionHostUpdateCount, ['MedianSessionHostUpdateTime [InMinutes]'] = toint(SessionHostMedianUpdateTime/(60 * 1.0)), UpdateBatchSize = UpdateMaxVmsRemoved, FromSessionHostConfigVer, ToSessionHostConfigVer, UpdateDeleteOriginalVm
El conjunto de datos devuelto es el siguiente:
| Column | Definición |
|---|---|
| TimeGenerated | Marca de tiempo de evento generada por el sistema |
| _SubscriptionId | Id. de suscripción de un grupo de hosts |
| _ResourceId | Identificador de recurso de un grupo host |
| CorrelationId | Identificador único asignado a cada actualización de imagen realizada en un grupo host |
| UpdateStartDateTime | Marca de tiempo de inicio de actualización del host de sesión en UTC |
| UpdateEndDateTime | Marca de tiempo de finalización de la actualización del host de sesión en UTC |
| UpdateDuration | Tiempo necesario para completar la actualización de la imagen de todos los hosts de sesión de un grupo de hosts en minutos |
| SessionHostUpdateCount | Número de hosts de sesión actualizados |
| MedianSessionHostUpdateTime | Mediana de tiempo para actualizar la imagen de un único host de sesión en minutos |
| UpdateBatchSize | Número de hosts de sesión que estaban en un único lote durante una actualización de la imagen |
| FromSessionHostConfigVer | Configuración del host de sesión antes de una actualización de la imagen |
| ToSessionHostConfigVer | Configuración del host de sesión después de una actualización de la imagen |
| UpdateDeleteOriginalVm | Si la máquina virtual original se conserva después de la finalización de una actualización de la imagen |
Errores durante una actualización del host de sesión
Esta consulta correlaciona las tablas WVDSessionHostManagement y WVDErrors para proporcionar información que puede usar para solucionar errores durante las actualizaciones del host de sesión en los últimos 30 días:
let timeRange = ago(30d);
let provisioningTypeUpdate = "Update";
WVDSessionHostManagement
| where ProvisioningStatus in ("Failed", "Error", "Canceled") and TimeGenerated >= timeRange and ProvisioningType == provisioningTypeUpdate
| summarize arg_max(TimeGenerated, _ResourceId, _SubscriptionId, FromSessionHostConfigVer, ToSessionHostConfigVer) by CorrelationId
| join kind = inner
(
// Get image update errors
WVDErrors
| where TimeGenerated >= timeRange
| extend IsSessionHostResourceIdAvailable = iif(Message startswith "SessionHostResourceId", 1, 0)
| extend startIndex = iif(IsSessionHostResourceIdAvailable == 1, indexof(Message, ":") + 1, 0)
| extend length = iif(IsSessionHostResourceIdAvailable == 1, indexof(Message, ";") - startIndex, 0)
// Get Session host ResourceId when available
| extend SessionHostResourceId = iif(IsSessionHostResourceIdAvailable == 1, substring(Message, startIndex, length), "")
| project TimeGenerated, CorrelationId, SessionHostResourceId, CodeSymbolic, Message
) on CorrelationId
| project TimeGenerated, _SubscriptionId, _ResourceId, CorrelationId, CodeSymbolic, SessionHostResourceId, Message, FromSessionHostConfigVer, ToSessionHostConfigVer
El conjunto de datos devuelto es el siguiente:
| Column | Definición |
|---|---|
| TimeGenerated | Marca de tiempo de evento generada por el sistema |
| _SubscriptionId | Id. de suscripción de un grupo de hosts |
| _ResourceId | Identificador de recurso de un grupo host |
| CorrelationId | Identificador único asignado a cada actualización de imagen realizada en un grupo host |
| CodeSymbolic | Código de error |
| SessionHostResourceId | Identificador de recurso de un host de sesión, si procede |
| Mensaje | Información de error |
| FromSessionHostConfigVer | Versión de configuración del host de sesión antes de una actualización de imagen |
| ToSessionHostConfigVer | Versión de configuración del host de sesión a la que se actualizaron los hosts de sesión donde se produjo un error en el proceso de actualización |
Actualizaciones del host de sesión canceladas por un administrador antes de la hora programada
Esta consulta correlaciona las tablas WVDSessionHostManagement y WVDCheckpoints para proporcionar actualizaciones de host de sesión programadas, pero canceladas por un administrador antes de que se iniciaran, en los últimos 30 días:
let timeRange = ago(30d);
let canceledStatus = "Canceled";
let scheduledStatus = "Scheduled";
let hostPoolUpdateCanceledCheckpoint = "HostPoolUpdateCanceled";
let provisioningTypeUpdate = "Update";
WVDSessionHostManagement
| where ProvisioningStatus == canceledStatus and TimeGenerated >= timeRange and ProvisioningType == provisioningTypeUpdate
| join kind = inner
(
WVDCheckpoints
| where Name == "HostPoolUpdateCanceled"
| project TimeGenerated, CorrelationId, Name, Parameters
| extend ParametersParsed = parse_json(Parameters)
| extend StateFrom = tostring(ParametersParsed["StateFrom"]), StateTo = tostring(ParametersParsed["StateTo"]), CanceledTime = todatetime(ParametersParsed["TimeCanceled"])
| where StateFrom == scheduledStatus and StateTo == canceledStatus
) on CorrelationId
| project TimeGenerated, _SubscriptionId, _ResourceId, CorrelationId, ScheduledDateTime = todatetime(ScheduledDateTime), CanceledDateTime = CanceledTime, UpdateBatchSize = UpdateMaxVmsRemoved
El conjunto de datos devuelto es el siguiente:
| Column | Definición |
|---|---|
| TimeGenerated | Marca de tiempo de evento generada por el sistema |
| _SubscriptionId | Id. de suscripción de un grupo de hosts |
| _ResourceId | Identificador de recurso de un grupo host |
| CorrelationId | Identificador único asignado a cada actualización de la imagen de un grupo host |
| ScheduledDateTime | Hora programada de actualización del host de sesión en UTC |
| CanceledDateTime | Hora UTC cuando un administrador canceló una actualización de la imagen |
| UpdateBatchSize | Número de hosts de sesión que estaban en un único lote durante una actualización de la imagen |
Actualizaciones de host de sesión en curso o con errores y, después, canceladas por un administrador
Esta consulta correlaciona las tablas WVDSessionHostManagement y WVDCheckpoints para proporcionar actualizaciones del host de sesión que estaban en curso o con errores y, después, canceladas por un administrador en los últimos 30 días:
let timeRange = ago(30d);
let canceledStatus = "Canceled";
let scheduledStatus = "Scheduled";
let hostPoolUpdateCanceledCheckpoint = "HostPoolUpdateCanceled";
let provisioningTypeUpdate = "Update";
WVDSessionHostManagement
| where ProvisioningStatus == canceledStatus and TimeGenerated >= timeRange and ProvisioningType == provisioningTypeUpdate
| join kind = inner
(
WVDCheckpoints
| where Name == hostPoolUpdateCanceledCheckpoint
| project TimeGenerated, CorrelationId, Name, Parameters
| extend ParametersParsed = parse_json(Parameters)
| extend StateFrom = tostring(ParametersParsed["StateFrom"]), StateTo = tostring(ParametersParsed["StateTo"]), CanceledTime = todatetime(ParametersParsed["TimeCanceled"]), TotalSessionHostsInHostPool = toint(ParametersParsed["TotalSessionHostsInHostPool"]), SessionHostUpdateCount = ParametersParsed["SessionHostsUpdateCompleted"]
| where StateFrom != scheduledStatus and StateTo == canceledStatus
) on CorrelationId
| project TimeGenerated, _SubscriptionId, _ResourceId, CorrelationId, ScheduledDateTime = todatetime(ScheduledDateTime), CanceledDateTime = CanceledTime, TotalSessionHostsInHostPool, SessionHostUpdateCount, UpdateBatchSize = UpdateMaxVmsRemoved
El conjunto de datos devuelto es el siguiente:
| Column | Definición |
|---|---|
| TimeGenerated | Marca de tiempo de evento generada por el sistema |
| _SubscriptionId | Id. de suscripción de un grupo de hosts |
| _ResourceId | Identificador de recurso de un grupo host |
| CorrelationId | Identificador único asignado a cada actualización del host de sesión de un grupo host |
| ScheduledDateTime | Hora programada de actualización del host de sesión en UTC |
| CanceledDateTime | Hora UTC cuando un administrador canceló una actualización del host de sesión |
| TotalSessionHostsInHostPool | Número total de hosts de sesión en un grupo de hosts |
| SessionHostUpdateCount | Número de hosts de sesión que se actualizaron antes de cancelar una actualización del host de sesión |
| UpdateBatchSize | Número de hosts de sesión en un único lote durante una actualización del host de sesión |
Estado de cada actualización del host de sesión
Esta consulta correlaciona las tablas WVDSessionHostManagement y WVDCheckpoints para proporcionar el estado más reciente de cada actualización de host de sesión en los últimos 30 días:
let timeRange = ago(30d);
let sessionHostUpdateCompletedCheckpoint = "SessionHostUpdateCompleted";
let provisioningTypeUpdate = "Update";
WVDSessionHostManagement
| where TimeGenerated >= timeRange and ProvisioningType == provisioningTypeUpdate
| join kind = leftouter (
// Get number of session hosts updated if available
WVDCheckpoints
| where Name == sessionHostUpdateCompletedCheckpoint
| summarize SessionHostUpdateCount = count() by CorrelationId
) on CorrelationId
| summarize arg_max(TimeGenerated, _SubscriptionId, _ResourceId, ScheduledDateTime, UpdateMaxVmsRemoved, SessionHostUpdateCount, ProvisioningStatus) by CorrelationId
| project TimeGenerated, _SubscriptionId, _ResourceId, CorrelationId, ProvisioningStatus, ScheduledDateTime = todatetime(ScheduledDateTime), UpdateBatchSize = UpdateMaxVmsRemoved, SessionHostUpdateCount = iif(isempty(SessionHostUpdateCount), 0, SessionHostUpdateCount)
El conjunto de datos devuelto es el siguiente:
| Column | Definición |
|---|---|
| TimeGenerated | Marca de tiempo de evento generada por el sistema |
| _SubscriptionId | Id. de suscripción para un grupo de hosts |
| _ResourceId | Identificador de recurso de un grupo host |
| CorrelationId | Identificador único asignado a cada actualización de la imagen de un grupo host |
| ProvisioningStatus | Estado actual de una actualización de la imagen de un grupo host |
| ScheduledDateTime | Hora programada de actualización del host de sesión en UTC |
| UpdateBatchSize | Número de hosts de sesión en un único lote durante una actualización de la imagen |
| SessionHostUpdateCount | Número de hosts de sesión que se actualizaron |
Pasos siguientes
Para obtener instrucciones para solucionar problemas de actualización del host de sesión, consulte Solución de problemas de actualización de host de sesión.