Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
De sessiehostupdate voor Azure Virtual Desktop is momenteel in PREVIEW. Zie de Aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in bètaversie, preview of anderszins nog niet algemeen beschikbaar zijn.
Bijwerken van sessiehost maakt gebruik van Log Analytics in Azure Monitor om informatie over updates op te slaan. Dit artikel bevat enkele voorbeelden van Kusto-query's die u kunt gebruiken met Log Analytics om informatie te bekijken over updates van sessiehosts.
Vereisten
Voordat u deze query's kunt gebruiken, hebt u het volgende nodig:
Een bestaande hostgroep met een sessiehostconfiguratie.
Geconfigureerde diagnostische instellingen voor elke hostgroep die u gebruikt met sessiehostupdate om logboeken en metrische gegevens te verzenden naar een Log Analytics-werkruimte. De activiteitenlogboeken van de categorieën Controlepunt, Fout en Sessiehostbeheer moeten minimaal worden ingeschakeld.
Een eerder geplande en uitvoeren van een sessiehostupdate op de sessiehosts in de hostgroep.
Locatie van diagnostische gegevens
Zodra u diagnostische instellingen voor een hostgroep hebt geconfigureerd, worden de diagnostische gegevens voor het bijwerken van de sessiehost opgeslagen in de tabellen WVDSessionHostManagement en WVDCheckpoints in uw Log Analytics-werkruimte. Logboekvermeldingen maken gebruik van het bestaande type beheeractiviteit, dat afkomstig is van de Azure Resource Manager (ARM)-provider.
De tabel WVDSessionHostManagement is specifiek voor het bijwerken van sessiehosts en wordt gemaakt zodra u de categorie Sessiehostbeheer activiteitenlogboeken inschakelt voor de diagnostische instellingen voor elke hostgroep die u gebruikt met sessiehostupdate en sessiehostupdate wordt uitgevoerd. Als u eerder diagnostische instellingen voor een hostgroep hebt geconfigureerd, moet u de categorie Sessiehostbeheeractiviteitenlogboeken inschakelen. Voor meer informatie Diagnostische instellingen configureren voor het vastleggen van platformlogboeken en metrische gegevens voor Azure Virtual Desktop.
De rest van dit artikel bevat enkele voorbeeldquery's die u kunt uitvoeren. U kunt ze gebruiken als basis om uw eigen query's te maken. U moet elk van deze query's uitvoeren in Log Analytics. Zie Log Analytics starten voor meer informatie over het uitvoeren van query's.
Updates van sessiehost die zijn voltooid
Deze query correleert de tabellen WVDSessionHostManagement en WVDCheckpoints geeft de tijd die nodig is om een update te voltooien en de mediaantijd voor het bijwerken van één sessiehost in minuten in de afgelopen 30 dagen:
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
De geretourneerde gegevensset is als volgt:
| Kolom | Definitie |
|---|---|
| TimeGenerated | Door het systeem gegenereerde gebeurtenistijdstempel |
| _SubscriptionId | Abonnements-id van een hostgroep |
| _ResourceId | Resource-id van een hostgroep |
| CorrelationId | Unieke id die is toegewezen aan elke installatiekopie-update die wordt uitgevoerd op een hostgroep |
| UpdateStartDateTime | Begintijdstempel van sessiehostupdate in UTC |
| UpdateEndDateTime | Tijdstempel voor voltooiing van sessiehostupdates in UTC |
| UpdateDuration | Tijd die nodig is om de installatiekopie van alle sessiehosts in een hostgroep in minuten bij te werken |
| SessionHostUpdateCount | Aantal bijgewerkte sessiehosts |
| MedianSessionHostUpdateTime | Mediaantijd voor het bijwerken van de installatiekopie van één sessiehost in minuten |
| UpdateBatchSize | Aantal sessiehosts dat zich in één batch bevindt tijdens een update van de installatiekopieën |
| FromSessionHostConfigVer | Configuratie van sessiehost vóór een update van de installatiekopie |
| ToSessionHostConfigVer | Configuratie van sessiehost na een update van de installatiekopie |
| UpdateDeleteOriginalVm | Of de oorspronkelijke virtuele machine is behouden na het voltooien van een update van de installatiekopieën |
Fouten tijdens een sessiehostupdate
Deze query correleert de tabellen WVDSessionHostManagement en WVDErrors biedt informatie die u kunt gebruiken om fouten op te lossen tijdens updates van sessiehosts in de afgelopen 30 dagen:
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
De geretourneerde gegevensset is als volgt:
| Kolom | Definitie |
|---|---|
| TimeGenerated | Door het systeem gegenereerde gebeurtenistijdstempel |
| _SubscriptionId | Abonnements-id van een hostgroep |
| _ResourceId | Resource-id van een hostgroep |
| CorrelationId | Unieke id die is toegewezen aan elke installatiekopie-update die wordt uitgevoerd op een hostgroep |
| CodeSymbolic | Foutcode |
| SessionHostResourceId | Resource-id van een sessiehost, indien van toepassing |
| Bericht | Foutinformatie |
| FromSessionHostConfigVer | Configuratieversie van sessiehost vóór een installatiekopie-update |
| ToSessionHostConfigVer | Configuratieversie van sessiehost naar welke sessiehosts zijn bijgewerkt waar het updateproces is mislukt |
Updates van sessiehosts die vóór de geplande tijd door een beheerder zijn geannuleerd
Met deze query worden de tabellen WVDSessionHostManagement gecorreleerd en WVDCheckpoints worden updates van de sessiehost verstrekt die in de afgelopen 30 dagen zijn gepland, maar vervolgens zijn geannuleerd door een beheerder voordat deze werden gestart:
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
De geretourneerde gegevensset is als volgt:
| Kolom | Definitie |
|---|---|
| TimeGenerated | Door het systeem gegenereerde gebeurtenistijdstempel |
| _SubscriptionId | Abonnements-id van een hostgroep |
| _ResourceId | Resource-id van een hostgroep |
| CorrelationId | Unieke id die is toegewezen aan elke update van de installatiekopie van een hostgroep |
| ScheduledDateTime | Geplande tijd van sessiehost bijwerken in UTC |
| CanceledDateTime | Tijdstip in UTC waarop een update van de afbeelding is geannuleerd door een beheerder |
| UpdateBatchSize | Aantal sessiehosts dat zich in één batch bevindt tijdens een update van de installatiekopieën |
Updates van sessiehosts die worden uitgevoerd of mislukt, en die later worden geannuleerd door een beheerder
Met deze query worden de tabellen WVDSessionHostManagement gecorreleerd en WVDCheckpoints worden updates van de sessiehost aangeboden die in de afgelopen 30 dagen zijn uitgevoerd of zijn mislukt en later door een beheerder zijn geannuleerd:
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
De geretourneerde gegevensset is als volgt:
| Kolom | Definitie |
|---|---|
| TimeGenerated | Door het systeem gegenereerde gebeurtenistijdstempel |
| _SubscriptionId | Abonnements-id van een hostgroep |
| _ResourceId | Resource-id van een hostgroep |
| CorrelationId | Unieke id die is toegewezen aan elke update van de sessiehost van een hostgroep |
| ScheduledDateTime | Geplande tijd van sessiehost bijwerken in UTC |
| CanceledDateTime | Tijd in UTC waarop een beheerder een update van de sessiehost heeft geannuleerd |
| TotalSessionHostsInHostPool | Totaal aantal sessiehosts in een hostgroep |
| SessionHostUpdateCount | Aantal sessiehosts dat is bijgewerkt voordat een sessiehostupdate werd geannuleerd |
| UpdateBatchSize | Aantal sessiehosts in één batch tijdens een update van de sessiehost |
Status van elke sessiehostupdate
Met deze query worden de tabellen WVDSessionHostManagement gecorreleerd en WVDCheckpoints wordt de meest recente status van elke sessiehostupdate in de afgelopen 30 dagen opgegeven:
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)
De geretourneerde gegevensset is als volgt:
| Kolom | Definitie |
|---|---|
| TimeGenerated | Door het systeem gegenereerde gebeurtenistijdstempel |
| _SubscriptionId | Abonnements-id voor een hostgroep |
| _ResourceId | Resource-id van een hostgroep |
| CorrelationId | Unieke id die is toegewezen aan elke update van de installatiekopie van een hostgroep |
| ProvisioningStatus | Huidige status van een update van de installatiekopie van een hostgroep |
| ScheduledDateTime | Geplande tijd van sessiehost bijwerken in UTC |
| UpdateBatchSize | Aantal sessiehosts in één batch tijdens een update van de installatiekopieën |
| SessionHostUpdateCount | Aantal sessiehosts dat is bijgewerkt |
Volgende stappen
Zie Problemen met het bijwerken van sessiehosts oplossen voor hulp bij het oplossen van problemen met het bijwerken van sessiehosts.