Freigeben über


Ereignisse

CycleCloud 8.0 generiert Ereignisse , wenn bestimmte Änderungen vorgenommen werden (z. B. wenn ein Knoten erstellt oder ein Cluster gelöscht wird). Einige Ereignisse sind sofort (z. B. löschen einen Cluster), und einige Ereignisse stellen Übergänge dar (z. B. das Erstellen eines Knotens, was das Erstellen eines virtuellen Computers impliziert). In diesen Fällen wird das Ereignis am Ende des Übergangs gesendet, unabhängig davon, ob er erfolgreich war oder nicht.

CycleCloud kann so konfiguriert werden, dass es in einem Event Grid-Thema veröffentlicht wird, indem es auf der Seite CycleCloud-Einstellungen in CycleCloud verbunden wird. Event Grid-Ereignisabonnements können an das Thema angefügt werden, um die Ereignisse an ein Ziel wie eine Speicherwarteschlange weiterzuleiten, wo ein Programm Ereignisse nutzen und verarbeiten kann.

Ereignisobjekte

Die Ereignisse befinden sich im Event Grid-Standardschema. Alle CycleCloud-spezifischen Elemente befinden sich in der data -Eigenschaft des -Ereignisses.

Name Typ BESCHREIBUNG
Eventid String Eindeutige Identifizierung des Ereignisses
eventTime String Die Uhrzeit dieses Ereignisses (yyyy-MM-ttTHH:mm:ss. SSSZZ)
eventType String Die Art des Zustandsübergangs, der stattgefunden hat (z. B. Microsoft.CycleCloud.NodeCreated)
subject String Die betroffene Ressource (siehe Ereignissubjekt)
dataVersion String Das schema, das für data (derzeit "1") verwendet wird

Darüber hinaus gibt es mehrere benutzerdefinierte Eigenschaften in data für fast alle Ereignisse:

Eigenschaft Typ BESCHREIBUNG
status Status (Zeichenfolge) Ob dieser Übergang erfolgreich war oder nicht
reason Ursache (Zeichenfolge) Warum dieses Ereignis initiiert wurde
message String Eine lesbare Zusammenfassung dieses Ereignisses
errorCode String Der Code für diesen Vorgang, wenn er fehlgeschlagen ist oder nicht verfügbar war. Beachten Sie, dass dies direkt von Azure-Aufrufen stammt und möglicherweise nicht für alle Fehler vorhanden ist.

Clusterereignisse

CycleCloud sendet Ereignisse, wenn Cluster geändert werden. Clusterereignisse enthalten die folgenden allgemeinen Eigenschaften in data:

Eigenschaft Typ BESCHREIBUNG
clusterName String Der Name des Clusters

Microsoft.CycleCloud.ClusterStarted

Dieses Ereignis wird ausgelöst, wenn ein Cluster gestartet wird.

Microsoft.CycleCloud.ClusterTerminated

Dieses Ereignis wird ausgelöst, wenn ein Cluster beendet wird.

Microsoft.CycleCloud.ClusterDeleted

Dieses Ereignis wird ausgelöst, wenn ein Cluster gelöscht wird.

Microsoft.CycleCloud.ClusterSizeIncreased

Dieses Ereignis wird ausgelöst, wenn Knoten dem Cluster hinzugefügt werden. Es gibt ein Ereignis für jeden hinzugefügten Knotensatz. (Knoten in einer Gruppe haben alle dieselbe Definition.)

Eigenschaft Typ BESCHREIBUNG
nodesRequested Integer Wie viele Knoten wurden für diesen Satz angefordert?
NodesHinfügt Integer Wie viele Knoten dem Cluster tatsächlich hinzugefügt wurden
nodeArray String Das nodearray, aus dem diese Knoten erstellt wurden
subscriptionId String Die Abonnement-ID für die Ressourcen dieses Knotens
region String Der Speicherort dieses Knotens
vmSku String Die SKU (d.h. computertyp) für den virtuellen Computer
priority String Das vm-Preismodell in Kraft (entweder "normal" oder "spot")
placementGroupId String Die Platzierungsgruppe, in der sich diese Knoten befinden, falls vorhanden

Knotenereignisse

CycleCloud sendet Ereignisse, wenn Knoten den Zustand ändern. Knotenereignisse enthalten zusätzliche Informationen in der data -Eigenschaft:

Eigenschaft Typ BESCHREIBUNG
status Status (Zeichenfolge) Ob dieses Ereignis erfolgreich war oder nicht
clusterName String Der Name des Clusters, in dem sich dieser Knoten befindet. Namen sind im Laufe der Zeit nicht eindeutig.
nodeName String Der Name des knotens, der betroffen ist. Namen sind im Laufe der Zeit nicht eindeutig.
nodeId String Die ID dieses Knotens. Knoten-IDs sind im Laufe der Zeit eindeutig, und sobald ein Knoten gelöscht wurde, wird die ID nicht wiederverwendet.
nodeArray String Der Name des Knotenarrays, aus dem dieser Knoten erstellt wurde
resourceId String Die Azure-Ressource für den virtuellen Computer, falls eine erstellt wurde
subscriptionId String Die Abonnement-ID für die Ressourcen dieses Knotens
region String Der Speicherort dieses Knotens
vmSku String Die SKU (d.h. Computertyp) für den virtuellen Computer
priority String Das vm-Preismodell in Kraft (entweder "normal" oder "spot")
placementGroupId String Die Platzierungsgruppe, in der sich dieser Knoten befindet, falls vorhanden
retryCount Integer Wie oft diese spezifische Aktion zuvor versucht wurde (siehe Wiederholungsanzahl)
Planen (Objekt) Eine Karte der Phasen in diesem Ereignis und ihrer Dauer (siehe Timing)

Microsoft.CycleCloud.NodeAdded

Dieses Ereignis wird für jeden Knoten ausgelöst, der einem Cluster hinzugefügt wird. (Informationen zum Abrufen eines Ereignisses für eine Gruppe von Knoten, die gleichzeitig hinzugefügt wurden, finden Sie unter ClusterSizeIncreased.) Dies wird gesendet, wenn der Knoten zum ersten Mal auf der Benutzeroberfläche angezeigt wird, sodass er keine Zeitsteuerungsinformationen enthält.

Microsoft.CycleCloud.NodeCreated

Dieses Ereignis wird jedes Mal ausgelöst, wenn ein Knoten zum ersten Mal gestartet wird (d. h. eine VM wird dafür erstellt). Dieses Ereignis enthält die folgenden Zeitinformationen:

  • Create: Die Gesamtzeit zum Erstellen des Knotens. Dazu gehören das Erstellen des virtuellen Computers und das Konfigurieren des virtuellen Computers.
  • CreateVM: Wie lange es gedauert hat, den virtuellen Computer zu erstellen.
  • Configure: Wie lange es gedauert hat, Software zu installieren und den Knoten zu konfigurieren.

Microsoft.CycleCloud.NodeDeallocated

Dieses Ereignis wird jedes Mal ausgelöst, wenn die Zuordnung eines Knotens aufgehoben wird. Dieses Ereignis enthält die folgenden Zeitinformationen:

  • Deallocate: Die Gesamtzeit zum Aufheben der Zuordnung des Knotens.
  • DeallocateVM: Wie lange es gedauert hat, die Zuordnung des virtuellen Computers aufgehoben zu haben.

Microsoft.CycleCloud.NodeStarted

Dieses Ereignis wird jedes Mal ausgelöst, wenn ein Knoten aus dem Status "Zuordnung aufgehoben" neu gestartet wird. Dieses Ereignis enthält die folgenden Zeitinformationen:

  • Start: Die Gesamtzeit, die zum Neustarten des freigegebenen Knotens benötigt wurde.
  • StartVM: Wie lange es gedauert hat, die freigegebene VM zu starten.

Microsoft.CycleCloud.NodeTerminated

Dieses Ereignis wird jedes Mal ausgelöst, wenn ein Knoten beendet und der virtuelle Computer gelöscht wird. Dieses Ereignis enthält die folgenden Zeitinformationen:

  • Terminate: Die Gesamtdauer, die zum Beenden des Knotens benötigt wurde.
  • DeleteVM: Wie lange es gedauert hat, den virtuellen Computer zu löschen.

Subject

Jedes Ereignis verfügt über einen "Betreff", der zum Filtern in Event Grid verwendet werden kann. Ereignisse in CycleCloud weisen Themen im folgenden Muster auf:

  • /sites/SITENAME: für Ereignisse, die für eine bestimmte CycleCloud-Installation spezifisch sind
  • /sites/SITENAME/clusters/CLUSTERNAME: für Ereignisse auf Clusterebene
  • /sites/SITENAME/clusters/CLUSTERNAME/nodes/NODENAME: für Ereignisse auf Knotenebene

Dies ermöglicht das "Eingrenzen" eines Event Grid-Abonnements auf ein bestimmtes Präfix, um eine Teilmenge von Ereignissen zu sammeln. Dies kann in Verbindung mit der Ereignistypfilterung verwendet werden.

Status

  • Succeeded: Der Vorgang war erfolgreich.
  • Failed: Der Vorgang war nicht erfolgreich. Es gibt häufig eine reason und/oder errorCode eine Gruppe.
  • Canceled: Der Vorgang wurde abgebrochen.

`Reason`

Einige Ereignisse haben einen Grund dafür, dass sie initiiert wurden. Sofern nicht anders angegeben, werden diese für die ClusterSizeIncreasedEreignisse , , NodeCreatedNodeAdded, NodeDeallocated, NodeStartedund NodeTerminated festgelegt.

  • Autoscaled: Der Knoten wurde als Reaktion auf eine Anforderung zur automatischen Skalierung über die API geändert.
  • UserInitiated: Der Vorgang wurde direkt über die Benutzeroberfläche oder CLI ausgeführt.
  • System: Der Vorgang wurde von CycleCloud initiiert (z. B. werden Ausführungsknoten standardmäßig automatisch aus dem Cluster entfernt, wenn sie beendet werden).
  • SpotEvicted: Das Ereignis wurde ausgelöst, weil eine Spot-VM entfernt wurde (nur NodeTerminated-Ereignisse).
  • VMDisappeared: Das Ereignis wurde ausgelöst, weil eine Nicht-Spot-VM verschwunden ist (nur NodeTerminated-Ereignisse)
  • AllocationFailed: Der virtuelle Computer konnte aufgrund von Platzierungs- oder Kapazitätseinschränkungen nicht zugeordnet werden (nur NodeTerminated/NodeDeallocated-Ereignisse, wobei der status das Ergebnis des Vorgangs zum Beenden/Aufheben der Zuordnung angibt).

Hinweis

Wird reason für NodeTerminated-Ereignisse festgelegt, um anzugeben, warum der Knoten beendet wurde. Wenn ein Knoten aufgrund der Kapazität nicht erstellt werden kann, schlägt er mit dem spezifischen Fehlercode aus Azure (von dem mehrere vorhanden sind) fehl. Der Knoten wird dann automatisch beendet, und der Grund für die Beendigung ist AllocationFailed. Wenn eine ausgeführte Spot-VM entfernt wird, war der Erstellungsvorgang bereits erfolgreich. Der Knoten wird dann automatisch beendet, und der Grund für das Beendigungsereignis ist SpotEvicted.

Zeitliche Steuerung

Einige Ereignisse enthalten Zeitinformationen. Der timing Eintrag in data ist ein Objekt mit Schlüsseln, die den Phasen des Ereignisses entsprechen, und Werten als Gesamtsekunden. Jedem Ereignis können mehrere Zeitsteuerungsphasen zugeordnet sein. Angenommen, für instance wird einem Cluster ein Knoten hinzugefügt, gestartet und beendet:

! Event Grid-Zeitsteuerungsdiagramm

  • T1: Der Benutzer fügt einen Knoten hinzu. Ein NodeAdded Ereignis wird ohne Zeitpunkt gesendet.
  • T2: Der Create-VM-Vorgang schlägt fehl, daher NodeCreated wird mit dem status Failed und den folgenden Zeitinformationen gesendet:
    • Create: T2-T1
    • CreateVM: T2-T1
  • T3: Benutzer klickt auf Wiederholen
  • T4: Der Vorgang Create-VM ist erfolgreich, sodass der Knoten mit der Installation der Software beginnt.
  • T5. Die Software wird erfolgreich installiert, sodass NodeCreated die status Erfolgreich und die folgenden Zeitsteuerungsinformationen gesendet werden:
    • Create: (T5-T3)
    • CreateVM: (T4-T3)
    • Configure: (T5-T4)
  • T6: Der Benutzer klickt auf Beenden.
  • T7: Der Delete-VM-Vorgang ist erfolgreich, daher NodeTerminated wird mit dem Status Erfolgreich und den folgenden Zeitinformationen gesendet:
    • Started: T6-T5
    • Terminate: T7-T6
    • DeleteVM: T7-T6

Vorherige Zustandssteuerung

Wenn ein Knoten zum ersten Mal in einen Zustand wechselt (ob erfolgreich oder nicht), hat er keinen vorherigen Zustand. Wenn der Zielzustand nach diesem Zeitpunkt geändert wird, wird die im vorherigen Zustand verbrachte Zeit in das Ereignis für den neuen Zielzustand eingeschlossen. Beachten Sie, dass dies nur enthalten ist, wenn der vorherige Zustand erfolgreich erreicht wurde. Daher messen diese Zeiteinträge die Dauer für Folgendes:

  • Started: Vor diesem Ereignis wurde der Knoten ausgeführt (d. h. grün).
  • Deallocated: Vor diesem Ereignis wurde die Zuordnung des Knotens aufgehoben.
  • Terminated: Vor diesem Ereignis war der Knoten deaktiviert.

Dies kann für instance verwendet werden, um nachzuverfolgen, wie lange eine Spot-VM ausgeführt wurde, bevor sie entfernt wurde.

Wiederholungszähler

Einige Vorgänge können in CycleCloud wiederholt werden, wenn sie fehlschlagen. Diese Vorgänge spiegeln sich in den NodeCreatedEreignissen , NodeDeallocated, NodeStartedund NodeTerminated wider. Diese Ereignisse enthalten eine optionale retryCount Eigenschaft für die -Eigenschaft des Ereignisses data , die angibt, wie oft der Vorgang zuvor versucht wurde. Diese Eigenschaft ist in nachfolgenden Wiederholungsversuchen enthalten, unabhängig davon, ob diese Versuche erfolgreich oder fehlgeschlagen sind.