Megosztás a következőn keresztül:


Példa diagnosztikai lekérdezésekre a munkamenet-gazdagép frissítéséhez az Azure Virtual Desktopban

Fontos

Az Azure Virtual Desktop munkamenet-gazdagépének frissítése jelenleg előzetes verzióban érhető el. A bétaverziójú, előzetes verziójú vagy másként még általánosan nem elérhető Azure-szolgáltatások jogi feltételeit lásd: Kiegészítő használati feltételek a Microsoft Azure előzetes verziójú termékeihez.

A munkamenet-gazdagép frissítése az Azure Monitor Log Analytics szolgáltatását használja a frissítésekre vonatkozó információk tárolására. Ez a cikk néhány kusto-lekérdezést tartalmaz, amelyet a Log Analytics használatával használhat a munkamenet-gazdagép frissítéseivel kapcsolatos információk megtekintéséhez.

Előfeltételek

A lekérdezések használatához a következőkre van szükség:

  • Egy meglévő gazdagépkészlet munkamenet-gazdagépkonfigurációval.

  • Konfigurált diagnosztikai beállítások minden egyes gazdagépkészleten, amelyet a munkamenet-gazdagép frissítésével használ a naplók és metrikák Log Analytics-munkaterületre való küldéséhez. Az Ellenőrzőpont, a Hiba és a Munkamenetgazda-kezelési tevékenységnaplók kategóriát legalább engedélyezni kell.

  • Korábban ütemezett és futtatott munkamenet-gazdagépfrissítés a gazdagépkészletben lévő munkamenet-gazdagépeken.

Diagnosztikai adatok helye

Miután konfigurálta a diagnosztikai beállításokat egy gazdagépkészleten, a munkamenet-gazdagép frissítésének diagnosztikai adatait a rendszer a táblákban WVDSessionHostManagement és WVDCheckpoints a Log Analytics-munkaterületen tárolja. A naplóbejegyzések a meglévő felügyeleti tevékenységtípust használják, amely az Azure Resource Manager (ARM) szolgáltatótól származik.

A tábla WVDSessionHostManagement a munkamenet-gazdagép frissítésére vonatkozik, és akkor jön létre, ha engedélyezi a munkamenetgazda-kezelési tevékenységnaplókat a munkamenet-gazdagép frissítésével használt egyes gazdagépkészletek diagnosztikai beállításaiban, és a munkamenet-gazdagép frissítése fut. Ha korábban konfigurálta a gazdagépkészlet diagnosztikai beállításait, engedélyeznie kell a munkamenetgazda-kezelési tevékenységnaplókat. További információ : Diagnosztikai beállítások konfigurálása az Azure Virtual Desktop platformnaplóinak és metrikáinak rögzítéséhez.

A cikk további részében néhány, futtatható lekérdezés található. Ezek alapján saját lekérdezéseket hozhat létre. Ezeket a lekérdezéseket a Log Analyticsben kell futtatnia. A lekérdezések futtatásáról további információt a Log Analytics indítása című témakörben talál.

A munkamenet-gazdagép sikeres frissítései

Ez a lekérdezés korrelálja a táblákat WVDSessionHostManagement , és WVDCheckpoints megadja a frissítés befejezéséhez szükséges időt, valamint az egyetlen munkamenet-gazdagép frissítésének medián idejét az elmúlt 30 napban percekben:

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

A visszaadott adathalmaz a következő:

Oszlop Definíció
TimeGenerated Rendszer által létrehozott eseményidőbélyeg
_SubscriptionId Gazdagépkészlet előfizetés-azonosítója
_ResourceId Gazdagépkészlet erőforrás-azonosítója
Korrelációazonosító A gazdagépkészleten végrehajtott minden képfrissítéshez hozzárendelt egyedi azonosító
UpdateStartDateTime Munkamenet-gazdagép frissítésének kezdési időbélyege (UTC)
UpdateEndDateTime Munkamenet-gazdagép frissítésének befejezési időbélyege (UTC)
UpdateDuration A gazdagépkészlet összes munkamenet-gazdagépének képének frissítéséhez szükséges idő percek alatt
SessionHostUpdateCount Frissített munkamenet-gazdagépek száma
MedianSessionHostUpdateTime Egy munkamenet-gazdagép képének percek alatt történő frissítésének mediánideje
UpdateBatchSize Azoknak a munkamenet-gazdagépeknek a száma, amelyek egyetlen kötegben voltak a rendszerkép frissítése során
FromSessionHostConfigVer Munkamenet-gazdagép konfigurációja a rendszerkép frissítése előtt
ToSessionHostConfigVer Munkamenet-gazdagép konfigurációja a rendszerkép frissítése után
UpdateDeleteOriginalVm Az eredeti virtuális gép megőrzése a rendszerkép frissítésének befejezése után

A munkamenet-gazdagép frissítése során felmerülő hibák

Ez a lekérdezés korrelálja a táblákat WVDSessionHostManagement , és WVDErrors olyan információkat biztosít, amelyek segítségével elháríthatja a munkamenet-gazdagépek elmúlt 30 napban történt frissítéseinek hibáit:

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

A visszaadott adathalmaz a következő:

Oszlop Definíció
TimeGenerated Rendszer által létrehozott eseményidőbélyeg
_SubscriptionId Gazdagépkészlet előfizetés-azonosítója
_ResourceId Gazdagépkészlet erőforrás-azonosítója
Korrelációazonosító A gazdagépkészleten végrehajtott minden képfrissítéshez hozzárendelt egyedi azonosító
CodeSymbolic Hibakód
SessionHostResourceId Munkamenet-gazdagép erőforrás-azonosítója, ha van ilyen
Üzenet Hibainformációk
FromSessionHostConfigVer Munkamenet-gazdagép konfigurációs verziója képfrissítés előtt
ToSessionHostConfigVer A munkamenet-gazdagép konfigurációs verziója, amelyre a munkamenet-gazdagépek frissültek, ahol a frissítési folyamat meghiúsult

A munkamenet-gazdagép frissítéseit a rendszergazda megszakította az ütemezett időpont előtt

Ez a lekérdezés korrelálja a táblákat WVDSessionHostManagement , és WVDCheckpoints biztosítja a munkamenet-gazdagép ütemezett, majd a rendszergazda által a kezdés előtt megszakított frissítéseit az elmúlt 30 napban:

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

A visszaadott adathalmaz a következő:

Oszlop Definíció
TimeGenerated Rendszer által létrehozott eseményidőbélyeg
_SubscriptionId Gazdagépkészlet előfizetés-azonosítója
_ResourceId Gazdagépkészlet erőforrás-azonosítója
Korrelációazonosító A gazdagépkészlet rendszerképének minden frissítéséhez hozzárendelt egyedi azonosító
ScheduledDateTime Munkamenet-gazdagép ütemezett időpontja (UTC)
CanceledDateTime Időpont UTC-ben, amikor egy rendszergazda megszakította a rendszerkép frissítését
UpdateBatchSize Azoknak a munkamenet-gazdagépeknek a száma, amelyek egyetlen kötegben voltak a rendszerkép frissítése során

Folyamatban lévő vagy sikertelen munkamenet-gazdagép-frissítések, majd később a rendszergazda megszakította

Ez a lekérdezés korrelálja a táblákat WVDSessionHostManagement , és WVDCheckpoints biztosítja a munkamenet-gazdagép folyamatban lévő vagy sikertelen frissítéseit, majd később egy rendszergazda megszakította az elmúlt 30 napban:

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

A visszaadott adathalmaz a következő:

Oszlop Definíció
TimeGenerated Rendszer által létrehozott eseményidőbélyeg
_SubscriptionId Gazdagépkészlet előfizetés-azonosítója
_ResourceId Gazdagépkészlet erőforrás-azonosítója
Korrelációazonosító A gazdagépkészlet munkamenet-gazdagépének minden frissítéséhez hozzárendelt egyedi azonosító
ScheduledDateTime Munkamenet-gazdagép ütemezett időpontja (UTC)
CanceledDateTime Időpont UTC-ben, amikor egy rendszergazda megszakította a munkamenet-gazdagép frissítését
TotalSessionHostsInHostPool A gazdagépkészlet munkamenet-gazdagépeinek teljes száma
SessionHostUpdateCount A munkamenet-gazdagépek frissítése előtt frissített munkamenet-gazdagépek száma
UpdateBatchSize Munkamenet-gazdagépek száma egyetlen kötegben a munkamenet-gazdagép frissítése során

A munkamenet-gazdagép minden frissítésének állapota

Ez a lekérdezés korrelálja a táblákat WVDSessionHostManagement , és WVDCheckpoints az elmúlt 30 napban minden munkamenet-gazdagép frissítésének legújabb állapotát adja meg:

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)

A visszaadott adathalmaz a következő:

Oszlop Definíció
TimeGenerated Rendszer által létrehozott eseményidőbélyeg
_SubscriptionId Gazdagépkészlet előfizetés-azonosítója
_ResourceId Gazdagépkészlet erőforrás-azonosítója
Korrelációazonosító A gazdagépkészlet rendszerképének minden frissítéséhez hozzárendelt egyedi azonosító
ProvisioningStatus A gazdagépkészlet képének aktuális állapota
ScheduledDateTime Munkamenet-gazdagép ütemezett időpontja (UTC)
UpdateBatchSize Munkamenet-gazdagépek száma egyetlen kötegben a rendszerkép frissítése során
SessionHostUpdateCount A frissített munkamenet-gazdagépek száma

Következő lépések

A munkamenet-gazdagép frissítésével kapcsolatos hibaelhárítási útmutatásért tekintse meg a munkamenet-gazdagép frissítésének hibaelhárítását ismertető témakört.