evento
CycleCloud 8.0 genera eventi quando si verificano determinate modifiche, ad esempio quando viene creato un nodo o un cluster viene eliminato. Alcuni eventi sono istantanei (ad esempio, l'eliminazione di un cluster) e alcuni eventi rappresentano transizioni (ad esempio, la creazione di un nodo che implica la creazione di una macchina virtuale). In questi casi, l'evento viene inviato alla fine della transizione, indipendentemente dal successo o meno.
CycleCloud può essere configurato per la pubblicazione in un argomento griglia di eventi connettendolo nella pagina Impostazioni CycleCloud in CycleCloud . Le sottoscrizioni di eventi griglia di eventi possono essere associate all'argomento per instradare gli eventi a una destinazione, ad esempio una coda di archiviazione, in cui un programma può utilizzare eventi ed elaborarli.
Oggetti evento
Gli eventi si trovano nello schema di Griglia di eventi standard. Tutti gli elementi specifici di CycleCloud si trovano nella proprietà dell'evento data
.
Nome | Tipo | Descrizione |
---|---|---|
Eventid | string | Identifica in modo univoco l'evento |
eventTime | string | Ora di questo evento (a-MM-ddTHH:mm:ss. SSSZZ) |
eventType | string | Tipo di transizione dello stato che si è verificato (ad esempio, Microsoft.CycleCloud.NodeCreated ) |
subject | string | Risorsa interessata (vedere Oggetto evento) |
dataVersion | string | Schema in uso per data (attualmente "1") |
Inoltre, esistono diverse proprietà personalizzate in data
per quasi tutti gli eventi:
Proprietà | Type | Descrizione |
---|---|---|
status | Stato (stringa) | Se questa transizione ha avuto esito positivo o meno |
reason | Motivo (stringa) | Perché questo evento è stato avviato |
message | string | Riepilogo leggibile di questo evento |
errorCode | string | Codice per questa operazione se non è riuscito o non è stato disponibile. Si noti che questo può venire direttamente dalle chiamate di Azure e potrebbe non essere presente per tutti gli errori |
Eventi del cluster
CycleCloud invia eventi quando vengono modificati i cluster. Gli eventi del cluster contengono le proprietà comuni seguenti in data
:
Proprietà | Type | Descrizione |
---|---|---|
clusterName | string | Nome del cluster |
Microsoft.CycleCloud.ClusterStarted
Questo evento viene attivato quando viene avviato un cluster.
Microsoft.CycleCloud.ClusterTerminated
Questo evento viene attivato quando un cluster viene terminato.
Microsoft.CycleCloud.ClusterDeleted
Questo evento viene attivato quando viene eliminato un cluster.
Microsoft.CycleCloud.ClusterSizeIncreased
Questo evento viene attivato quando i nodi vengono aggiunti al cluster. È presente un evento per ogni set di nodi aggiunti. I nodi in un set hanno la stessa definizione.
Proprietà | Type | Descrizione |
---|---|---|
nodeRequested | Integer | Quanti nodi sono stati richiesti per questo set |
nodiAggiungi | Integer | Quanti nodi sono stati effettivamente aggiunti al cluster |
nodeArray | string | Il nodoarray questi nodi sono stati creati da |
subscriptionId | string | ID sottoscrizione per le risorse di questo nodo |
regione | string | Posizione di questo nodo |
vmSku | string | SKU (ad esempio, tipo di computer) per la macchina virtuale |
priority | string | Modello di prezzo della macchina virtuale in effetti ("regolare" o "spot") |
placementGroupId | string | Il gruppo di posizionamento in cui si trovano questi nodi, se presente |
Eventi dei nodi
CycleCloud invia eventi quando i nodi cambiano stato. Gli eventi del nodo contengono informazioni aggiuntive nella data
proprietà:
Proprietà | Type | Descrizione |
---|---|---|
status | Stato (stringa) | Indica se l'evento ha avuto esito positivo o negativo |
clusterName | string | Nome del cluster in cui si trova questo nodo. I nomi non sono univoci nel tempo |
nodeName | string | Nome del nodo interessato. I nomi non sono univoci nel tempo |
nodeId | string | ID di questo nodo. Gli ID nodo sono univoci nel tempo e, dopo l'eliminazione di un nodo, l'ID non verrà riutilizzato |
nodeArray | string | Il nome dell'oggetto nodearray da cui è stato creato questo nodo |
resourceId | string | Risorsa di Azure per la macchina virtuale, se ne è stata creata una |
subscriptionId | string | ID sottoscrizione per le risorse di questo nodo |
regione | string | Posizione di questo nodo |
vmSku | string | SKU (ad esempio, tipo di computer) per la macchina virtuale |
priority | string | Il modello di determinazione prezzi della macchina virtuale in vigore ("regolare" o "spot") |
placementGroupId | string | Il gruppo di posizionamento in cui si trova questo nodo, se presente |
retryCount | Integer | Quante volte è stata tentata in precedenza questa azione specifica (vedere Numero tentativi) |
temporizzazione | (Oggetto) | Mappa delle fasi di questo evento e delle relative durate (vedere Intervallo) |
Microsoft.CycleCloud.NodeAdded
Questo evento viene generato per ogni nodo aggiunto a un cluster. Per ottenere un evento per un set di nodi aggiunti contemporaneamente, vedere ClusterSizeIncreased. Questo viene inviato quando il nodo viene visualizzato per la prima volta nell'interfaccia utente, quindi non dispone di informazioni sulla tempistica.
Microsoft.CycleCloud.NodeCreated
Questo evento viene generato ogni volta che viene avviato un nodo per la prima volta, ad esempio viene creata una macchina virtuale. Questo evento contiene le informazioni sulla tempistica seguenti:
-
Create
: tempo totale per la creazione del nodo. Ciò include la creazione della macchina virtuale e la configurazione della macchina virtuale. -
CreateVM
: tempo necessario per creare la macchina virtuale. -
Configure
: tempo necessario per installare il software e configurare il nodo.
Microsoft.CycleCloud.NodeDeallocated
Questo evento viene generato ogni volta che un nodo viene deallocato. Questo evento contiene le informazioni sulla tempistica seguenti:
-
Deallocate
: tempo totale per deallocare il nodo. -
DeallocateVM
: tempo necessario per deallocare la macchina virtuale.
Microsoft.CycleCloud.NodeStarted
Questo evento viene generato ogni volta che un nodo viene nuovamente avviato da uno stato deallocato. Questo evento contiene le informazioni sulla tempistica seguenti:
-
Start
: tempo totale impiegato per riavviare il nodo deallocato. -
StartVM
: tempo necessario per avviare la macchina virtuale deallocata.
Microsoft.CycleCloud.NodeTerminata
Questo evento viene generato ogni volta che un nodo viene terminato e la relativa macchina virtuale viene eliminata. Questo evento contiene le informazioni sulla tempistica seguenti:
-
Terminate
: tempo totale impiegato per terminare il nodo. -
DeleteVM
: tempo necessario per eliminare la macchina virtuale.
Oggetto
Ogni evento ha un "oggetto" che può essere usato per filtrare in Griglia di eventi. Gli eventi in CycleCloud hanno soggetti nel modello seguente:
-
/sites/SITENAME
: per gli eventi specifici di una determinata installazione di CycleCloud -
/sites/SITENAME/clusters/CLUSTERNAME
: per gli eventi a livello di cluster -
/sites/SITENAME/clusters/CLUSTERNAME/nodes/NODENAME
: per gli eventi a livello di nodo
Ciò consente di "definire l'ambito" di una sottoscrizione di Griglia di eventi a un prefisso specifico per raccogliere un subset di eventi. Questa opzione può essere utilizzata in combinazione con il filtro del tipo di evento.
Stato
-
Succeeded
: l'operazione ha avuto esito positivo. -
Failed
: l'operazione non è riuscita. Spesso è presente unreason
oggetto e/oerrorCode
impostato. -
Canceled
: l'operazione è stata annullata.
Motivo
Alcuni eventi hanno un motivo per cui sono stati avviati. Se non diversamente indicato, questi vengono impostati negli ClusterSizeIncreased
eventi , NodeAdded
, NodeDeallocated
NodeCreated
, NodeStarted
, e NodeTerminated
.
-
Autoscaled
: il nodo è stato modificato in risposta a una richiesta di scalabilità automatica effettuata tramite l'API -
UserInitiated
: l'operazione è stata eseguita direttamente tramite l'interfaccia utente o l'interfaccia della riga di comando -
System
: l'operazione è stata avviata da CycleCloud (ad esempio, per impostazione predefinita, i nodi di esecuzione vengono rimossi automaticamente dal cluster al termine) -
SpotEvicted
: l'evento è stato attivato perché è stata rimossa una macchina virtuale spot (solo eventi NodeTerminati) -
VMDisappeared
: l'evento è stato attivato perché una macchina virtuale non spot è scomparsa (solo eventi NodeTerminati) -
AllocationFailed
: non è stato possibile allocare la macchina virtuale a causa di vincoli di posizionamento o capacità (solo eventi NodeTerminati/NodeDeallocated, con lo stato che indica il risultato dell'operazione di terminazione/deallocazione)
Nota
l'oggetto reason
è impostato sugli eventi NodeTerminati per indicare il motivo per cui il nodo è stato terminato.
Quando non è possibile creare un nodo a causa della capacità, l'errore ha esito negativo con il codice di errore specifico di Azure (di cui esistono diversi).
Il nodo viene quindi terminato automaticamente e il motivo della terminazione è AllocationFailed
.
Quando viene rimossa una macchina virtuale spot in esecuzione, l'operazione di creazione è già riuscita.
Il nodo viene quindi terminato automaticamente e il motivo specificato per l'evento di terminazione è SpotEvicted
.
Intervallo
Alcuni eventi contengono informazioni sulla tempistica. La timing
voce in data
è un oggetto con chiavi corrispondenti alle fasi dell'evento e i valori come secondi totali. A ogni evento possono essere associate più fasi di temporizzazione. Si supponga, ad esempio, che un nodo venga aggiunto a un cluster, avviato e terminato:
! Diagramma intervallo griglia di eventi
- T1: l'utente aggiunge un nodo. Viene inviato un
NodeAdded
evento senza temporizzazione. - T2: l'operazione create-VM ha esito negativo, quindi
NodeCreated
viene inviato con lo stato Non riuscito e le informazioni di intervallo seguenti:-
Create
: T2-T1 -
CreateVM
: T2-T1
-
- T3: L'utente fa clic su Riprova
- T4: l'operazione Create-VM ha esito positivo, quindi il nodo avvia l'installazione del software.
- T5. Il software viene installato correttamente, quindi
NodeCreated
viene inviato con lo stato Di esito positivo e le informazioni di intervallo seguenti:-
Create
: (T5-T3) -
CreateVM
: (T4-T3) -
Configure
: (T5-T4)
-
- T6: l'utente fa clic su Termina.
- T7: l'operazione delete-VM ha esito positivo, quindi
NodeTerminated
viene inviata con uno stato di Esito positivo e le informazioni di intervallo seguenti:-
Started
: T6-T5 -
Terminate
: T7-T6 -
DeleteVM
: T7-T6
-
Intervallo di stato precedente
La prima volta che un nodo passa a uno stato (se correttamente o meno), non ha stato precedente. Quando lo stato di destinazione viene quindi modificato dopo questo punto, il tempo trascorso nello stato precedente viene incluso nell'evento per il nuovo stato di destinazione. Si noti che questa operazione è inclusa solo se ha raggiunto correttamente lo stato precedente. Di conseguenza, queste voci di intervallo misurano il periodo di tempo per quanto segue:
-
Started
: prima di questo evento, il nodo era in esecuzione (ad esempio, verde) -
Deallocated
: prima di questo evento, il nodo era stato deallocato -
Terminated
: prima di questo evento, il nodo era stato disattivato
Questa operazione può essere usata, ad esempio, per tenere traccia della durata dell'esecuzione di una macchina virtuale spot prima dell'eliminazione.
Retry Count
Alcune operazioni possono essere riprovate in CycleCloud se hanno esito negativo. Queste operazioni vengono riflesse negli NodeCreated
eventi , NodeDeallocated
, NodeStarted
e NodeTerminated
. Questi eventi contengono una proprietà facoltativa retryCount
nella proprietà dell'evento data
che indica quante volte prima di questa operazione è stata tentata. Questa proprietà è inclusa nei tentativi successivi, indipendentemente dal fatto che tali tentativi abbiano avuto esito positivo o non riuscito.