Share via


Händelser

CycleCloud 8.0 genererar händelser när vissa ändringar inträffar (t.ex. när en nod skapas eller ett kluster tas bort). Vissa händelser sker omedelbart (t.ex. när ett kluster tas bort) och vissa händelser representerar övergångar (t.ex. att skapa en nod som innebär att en virtuell dator skapas). I dessa fall skickas händelsen i slutet av övergången, oavsett om den lyckas eller inte.

CycleCloud kan konfigureras för att publicera till ett Event Grid-ämne genom att ansluta det på sidan CycleCloud-inställningar i CycleCloud. Event Grid-händelseprenumerationer kan kopplas till ämnet för att dirigera händelserna till ett mål, till exempel en lagringskö, där ett program kan använda händelser och bearbeta dem.

Händelseobjekt

Händelserna finns i standardschemat för Event Grid. Alla CycleCloud-specifika element finns i data egenskapen för händelsen.

Namn Typ Description
eventId Sträng Identifierar händelsen unikt
Händelsetid Sträng Tiden för den här händelsen (åå-MM-ddTHH:mm:ss. SSSZZ)
Händelsetyp Sträng Den typ av tillståndsövergång som skedde (t.ex. Microsoft.CycleCloud.NodeCreated)
ämne Sträng Den berörda resursen (se Händelseämne)
Dataversion Sträng Schemat som används för (för data närvarande "1")

Dessutom finns det flera anpassade egenskaper för data nästan alla händelser:

Egenskap Typ Description
status Status (sträng) Om övergången lyckades eller inte
orsak Orsak (sträng) Varför den här händelsen initierades
meddelande Sträng En läsbar sammanfattning av händelsen
errorCode Sträng Koden för den här åtgärden om den misslyckades eller inte var tillgänglig. Observera att detta kan komma direkt från Azure-anrop och kanske inte finns för alla fel

Klusterhändelser

CycleCloud skickar händelser när kluster ändras. Klusterhändelser innehåller följande vanliga egenskaper i data:

Egenskap Typ Description
clusterName Sträng Namnet på klustret

Microsoft.CycleCloud.ClusterStarted

Den här händelsen utlöses när ett kluster startas.

Microsoft.CycleCloud.ClusterTerminated

Den här händelsen utlöses när ett kluster avslutas.

Microsoft.CycleCloud.ClusterDeleted

Den här händelsen utlöses när ett kluster tas bort.

Microsoft.CycleCloud.ClusterSizeIncreased

Den här händelsen utlöses när noder läggs till i klustret. Det finns en händelse för varje uppsättning noder som läggs till. (Noder i en uppsättning har samma definition.)

Egenskap Typ Description
nodesRequested Integer Hur många noder som begärdes för den här uppsättningen
noderLägg till Integer Hur många noder som faktiskt har lagts till i klustret
nodeArray Sträng Nodmatrisen som dessa noder skapades från
subscriptionId Sträng Prenumerations-ID för den här nodens resurser
region Sträng Platsen för den här noden
vmSku Sträng SKU:n (d.v.s. datortyp) för den virtuella datorn
prioritet Sträng Den virtuella datorns prismodell i praktiken (antingen "vanlig" eller "spot")
placementGroupId Sträng Placeringsgruppen dessa noder finns i, om sådana finns

Nodhändelser

CycleCloud skickar händelser när noder ändrar tillstånd. Nodhändelser innehåller ytterligare information i egenskapen data :

Egenskap Typ Description
status Status (sträng) Om den här händelsen lyckades eller inte
clusterName Sträng Namnet på klustret som noden finns i. Namn är inte unika över tid
nodeName Sträng Namnet på den nod som påverkas. Namn är inte unika över tid
nodeId Sträng ID:t för den här noden. Nod-ID :t är unika över tid och när en nod har tagits bort återanvänds inte ID:t
nodeArray Sträng Namnet på den nodearray som noden skapades från
resourceId Sträng Azure-resursen för den virtuella datorn, om det fanns en som skapades
subscriptionId Sträng Prenumerations-ID för den här nodens resurser
region Sträng Platsen för den här noden
vmSku Sträng SKU:n (d.v.s. datortyp) för den virtuella datorn
prioritet Sträng Den virtuella datorns prismodell i praktiken (antingen "vanlig" eller "spot")
placementGroupId Sträng Placeringsgruppen som den här noden finns i, om någon
retryCount Integer Hur många gånger den här specifika åtgärden försöktes tidigare (se Antal återförsök)
Timing (Objekt) En karta över faser i den här händelsen och deras varaktigheter (se Timing)

Microsoft.CycleCloud.NodeLägg till

Den här händelsen utlöses för varje nod som läggs till i ett kluster. (Information om hur du hämtar en händelse för en uppsättning noder som läggs till samtidigt finns i ClusterSizeIncreased.) Detta skickas när noden först visas i användargränssnittet, så att den inte har någon tidsinformation.

Microsoft.CycleCloud.NodeSkapad

Den här händelsen utlöses varje gång en nod startas för första gången (dvs. en virtuell dator skapas för den). Den här händelsen innehåller följande tidsinformation:

  • Create: Den totala tiden för att skapa noden. Detta inkluderar att skapa den virtuella datorn och konfigurera den virtuella datorn.
  • CreateVM: Hur lång tid det tog att skapa den virtuella datorn.
  • Configure: Hur lång tid det tog att installera programvara och konfigurera noden.

Microsoft.CycleCloud.NodeDeallocated

Den här händelsen utlöses varje gång en nod frigörs. Den här händelsen innehåller följande tidsinformation:

  • Deallocate: Den totala tiden för att frigöra noden.
  • DeallocateVM: Hur lång tid det tog att frigöra den virtuella datorn.

Microsoft.CycleCloud.NodeStarted

Den här händelsen utlöses varje gång en nod startas om från ett frigjort tillstånd. Den här händelsen innehåller följande tidsinformation:

  • Start: Den totala tiden det tog att starta om den frigjorda noden.
  • StartVM: Hur lång tid det tog att starta den frigjorda virtuella datorn.

Microsoft.CycleCloud.NodeTerminated

Den här händelsen utlöses varje gång en nod avslutas och dess virtuella dator tas bort. Den här händelsen innehåller följande tidsinformation:

  • Terminate: Den totala tid det tog att avsluta noden.
  • DeleteVM: Hur lång tid det tog att ta bort den virtuella datorn.

Ämne

Varje händelse har ett "ämne" som kan användas för filtrering i Event Grid. Händelser i CycleCloud har ämnen i följande mönster:

  • /sites/SITENAME: för händelser som är specifika för en viss CycleCloud-installation
  • /sites/SITENAME/clusters/CLUSTERNAME: för händelser på klusternivå
  • /sites/SITENAME/clusters/CLUSTERNAME/nodes/NODENAME: för händelser på nodnivå

Detta gör att en Event Grid-prenumeration kan "omfångsbestämmande" till ett specifikt prefix för att samla in en delmängd händelser. Detta kan användas tillsammans med filtrering av händelsetyp.

Status

  • Succeeded: åtgärden lyckades.
  • Failed: Åtgärden lyckades inte. Det finns ofta en reason och/eller errorCode uppsättning.
  • Canceled: åtgärden avbröts.

Anledning

Vissa händelser har en anledning till att de initierades. Om inget annat anges anges dessa för ClusterSizeIncreasedhändelserna , NodeAdded, NodeCreated, NodeDeallocated, NodeStartedoch NodeTerminated .

  • Autoscaled: noden ändrades som svar på en begäran om automatisk skalning som gjorts via API:et
  • UserInitiated: åtgärden utfördes direkt via användargränssnittet eller CLI
  • System: Åtgärden initierades av CycleCloud (t.ex. som standard tas körningsnoder bort automatiskt från klustret när den avslutas)
  • SpotEvicted: Händelsen utlöstes eftersom en virtuell dator för oanvänd kapacitet avlägsnades (endast NodeTerminated-händelser)
  • VMDisappeared: händelsen utlöstes på grund av att en virtuell dator utan oanvänd kapacitet försvann (endast NodeTerminated-händelser)
  • AllocationFailed: Det gick inte att allokera den virtuella datorn på grund av placerings- eller kapacitetsbegränsningar (endast NodeTerminated/NodeDeallocated-händelser, med statusen som anger resultatet av åtgärden avsluta/frigöra)

Anteckning

reason Anges för NodeTerminated-händelser för att ange varför noden avslutades. När en nod inte kan skapas på grund av kapacitet misslyckas den med den specifika felkoden från Azure (där det finns flera). Noden avslutas sedan automatiskt och orsaken till avslutningen är AllocationFailed. När en virtuell dator med oanvänd plats tas bort hade skapandeåtgärden redan slutförts. Noden avslutas sedan automatiskt och orsaken till avslutningshändelsen är SpotEvicted.

Tidsinställning

Vissa händelser innehåller tidsinformation. Posten timing i data är ett objekt med nycklar som motsvarar faser av händelsen och värden som totalt antal sekunder. Varje händelse kan ha flera associerade tidssteg. Anta till exempel att en nod läggs till i ett kluster, startas och avslutas:

! Tidsdiagram för Event Grid

  • T1: Användaren lägger till en nod. En NodeAdded händelse skickas utan tidsinställning.
  • T2: Åtgärden create-VM misslyckas, så NodeCreated skickas med statusen Misslyckades och följande tidsinformation:
    • Create: T2-T1
    • CreateVM: T2-T1
  • T3: Användaren klickar på Försök igen
  • T4: Åtgärden Create-VM lyckas, så noden börjar installera programvara.
  • T5. Programvaran installeras, så NodeCreated skickas med statusen Lyckades och följande tidsinformation:
    • Create: (T5-T3)
    • CreateVM: (T4-T3)
    • Configure: (T5-T4)
  • T6: Användaren klickar på Avsluta.
  • T7: Åtgärden delete-VM lyckas, så NodeTerminated skickas med tillståndet Lyckades och följande tidsinformation:
    • Started: T6-T5
    • Terminate: T7-T6
    • DeleteVM: T7-T6

Tidigare tidsinställning för tillstånd

Första gången en nod övergår till ett tillstånd (oavsett om den lyckas eller inte) har den inget tidigare tillstånd. När måltillståndet sedan ändras efter den tidpunkten inkluderas den tid som spenderades i föregående tillstånd i händelsen för det nya måltillståndet. Observera att detta endast inkluderas om det har nått det tidigare tillståndet. Dessa tidsposter mäter därför hur lång tid det tar för följande:

  • Started: före den här händelsen hade noden körts (t.ex. grön)
  • Deallocated: före den här händelsen hade noden frigjorts
  • Terminated: Före den här händelsen hade noden varit avstängd

Detta kan till exempel användas för att spåra hur länge en virtuell dator med oanvänd kapacitet kördes innan den avlägsnades.

Antal försök

Vissa åtgärder kan göras om i CycleCloud om de misslyckas. Dessa åtgärder återspeglas i NodeCreatedhändelserna , NodeDeallocated, NodeStartedoch NodeTerminated . Dessa händelser innehåller en valfri retryCount egenskap för händelsens data egenskap som anger hur många gånger innan åtgärden utfördes. Den här egenskapen ingår i efterföljande återförsök, oavsett om dessa försök lyckades eller misslyckades.