Zdarzenia
Usługa CycleCloud 8.0 generuje zdarzenia w przypadku wystąpienia pewnych zmian (np. po utworzeniu węzła lub usunięciu klastra). Niektóre zdarzenia są natychmiastowe (np. usuwanie klastra), a niektóre zdarzenia reprezentują przejścia (np. utworzenie węzła, co oznacza utworzenie maszyny wirtualnej). W takich przypadkach zdarzenie jest wysyłane na końcu przejścia, bez względu na to, czy zakończyło się powodzeniem, czy nie.
Usługę CycleCloud można skonfigurować do publikowania w temacie usługi Event Grid, łącząc go na stronie Ustawienia usługi CycleCloud w usłudze CycleCloud. Subskrypcje zdarzeń usługi Event Grid można dołączyć do tematu w celu kierowania zdarzeń do miejsca docelowego, takiego jak kolejka magazynu, gdzie program może używać zdarzeń i przetwarzać je.
Obiekty zdarzeń
Zdarzenia znajdują się w standardowym schemacie usługi Event Grid. Wszystkie elementy specyficzne dla usługi CycleCloud znajdują się we data
właściwości zdarzenia.
Nazwa | Typ | Opis |
---|---|---|
Eventid | Ciąg | Unikatowo identyfikuje zdarzenie |
eventTime | Ciąg | Czas tego zdarzenia (rrrr-MM-ddTHH:mm:ss. SSSZZ) |
eventType | Ciąg | Rodzaj przejścia stanu, który się wydarzył (np. Microsoft.CycleCloud.NodeCreated ) |
Temat | Ciąg | Zasób, którego dotyczy problem (zobacz Temat zdarzenia) |
dataVersion | Ciąg | Schemat używany dla data (obecnie "1") |
Ponadto istnieje kilka właściwości niestandardowych dla data
prawie wszystkich zdarzeń:
Właściwość | Typ | Opis |
---|---|---|
status | Stan (ciąg) | Niezależnie od tego, czy to przejście zakończyło się pomyślnie, czy nie |
reason | Przyczyna (ciąg) | Dlaczego to zdarzenie zostało zainicjowane |
message | Ciąg | Czytelne dla człowieka podsumowanie tego zdarzenia |
errorCode | Ciąg | Kod dla tej operacji, jeśli zakończył się niepowodzeniem lub był niedostępny. Należy pamiętać, że może to pochodzić bezpośrednio z wywołań platformy Azure i może nie być obecne dla wszystkich błędów |
Zdarzenia klastra
Usługa CycleCloud wysyła zdarzenia, gdy klastry są modyfikowane. Zdarzenia klastra zawierają następujące typowe właściwości w programie data
:
Właściwość | Typ | Opis |
---|---|---|
clusterName | Ciąg | Nazwa klastra |
Microsoft.CycleCloud.ClusterStarted
To zdarzenie jest uruchamiane po uruchomieniu klastra.
Microsoft.CycleCloud.ClusterTerminated
To zdarzenie jest uruchamiane po zakończeniu działania klastra.
Microsoft.CycleCloud.ClusterDeleted
To zdarzenie jest uruchamiane po usunięciu klastra.
Microsoft.CycleCloud.ClusterSizeIncreased
To zdarzenie jest wyzwalane po dodaniu węzłów do klastra. Dla każdego zestawu węzłów dodanych jest jedno zdarzenie. (Węzły w zestawie mają taką samą definicję).
Właściwość | Typ | Opis |
---|---|---|
nodesRequested | Liczba całkowita | Ile węzłów zażądano dla tego zestawu |
węzłyDodaj | Liczba całkowita | Ile węzłów zostało rzeczywiście dodanych do klastra |
nodeArray | Ciąg | Węzełarray tych węzłów zostały utworzone na podstawie |
subscriptionId | Ciąg | Identyfikator subskrypcji dla zasobów tego węzła |
region | Ciąg | Lokalizacja tego węzła |
vmSku | Ciąg | Jednostka SKU (tj. typ maszyny) dla maszyny wirtualnej |
priority | Ciąg | Model cen maszyny wirtualnej w życie ("regularne" lub "spot") |
placementGroupId | Ciąg | Grupa umieszczania, w których znajdują się te węzły, jeśli istnieją |
Zdarzenia węzła
Usługa CycleCloud wysyła zdarzenia, gdy węzły zmieniają stan. Zdarzenia węzła data
zawierają dodatkowe informacje we właściwości:
Właściwość | Typ | Opis |
---|---|---|
status | Stan (ciąg) | Czy to zdarzenie zakończyło się pomyślnie, czy nie |
clusterName | Ciąg | Nazwa klastra, w tym węźle. Nazwy nie są unikatowe w czasie |
nodeName | Ciąg | Nazwa węzła, którego dotyczy problem. Nazwy nie są unikatowe w czasie |
nodeId | Ciąg | Identyfikator tego węzła. Identyfikatory węzłów są unikatowe w czasie i po usunięciu węzła identyfikator nie będzie ponownie używany |
nodeArray | Ciąg | Nazwa węzła, na podstawie którego utworzono ten węzeł |
resourceId | Ciąg | Zasób platformy Azure dla maszyny wirtualnej, jeśli został utworzony |
subscriptionId | Ciąg | Identyfikator subskrypcji dla zasobów tego węzła |
region | Ciąg | Lokalizacja tego węzła |
vmSku | Ciąg | Jednostka SKU (tj. typ maszyny) dla maszyny wirtualnej |
priority | Ciąg | Model cen maszyny wirtualnej działa (zwykły" lub "spot") |
placementGroupId | Ciąg | Grupa umieszczania, w tym węźle, jeśli istnieje |
retryCount | Liczba całkowita | Ile razy podjęto wcześniej próbę wykonania konkretnej akcji (zobacz Liczba ponownych prób) |
Czas | (Obiekt) | Mapa etapów w tym zdarzeniu i ich czasy trwania (zobacz Chronometraż) |
Microsoft.CycleCloud.NodeAdded
To zdarzenie jest wyzwalane dla każdego węzła dodanego do klastra. (Aby uzyskać zdarzenie dla zestawu węzłów dodanych jednocześnie, zobacz ClusterSizeIncreased). Jest to wysyłane po pierwszym wyświetleniu węzła w interfejsie użytkownika, dlatego nie ma żadnych informacji o chronometrażu.
Microsoft.CycleCloud.NodeCreated
To zdarzenie jest wyzwalane za każdym razem, gdy węzeł jest uruchamiany po raz pierwszy (tj. maszyna wirtualna jest tworzona dla niego). To zdarzenie zawiera następujące informacje o chronometrażu:
-
Create
: łączny czas tworzenia węzła. Obejmuje to tworzenie maszyny wirtualnej i konfigurowanie maszyny wirtualnej. -
CreateVM
: jak długo zajęło utworzenie maszyny wirtualnej. -
Configure
: jak długo trwało instalowanie oprogramowania i konfigurowanie węzła.
Microsoft.CycleCloud.NodeDeallocated
To zdarzenie jest wyzwalane za każdym razem, gdy cofnięto przydział węzła. To zdarzenie zawiera następujące informacje o chronometrażu:
-
Deallocate
: całkowity czas cofnięcia przydziału węzła. -
DeallocateVM
: jak długo zajęło cofnięcie przydziału maszyny wirtualnej.
Microsoft.CycleCloud.NodeStarted
To zdarzenie jest wyzwalane za każdym razem, gdy węzeł jest ponownie uruchamiany ze stanu cofnięcia przydziału. To zdarzenie zawiera następujące informacje o chronometrażu:
-
Start
: całkowity czas ponownego uruchomienia cofniętych przydziałów węzła. -
StartVM
: jak długo trwało uruchamianie cofniętych przydziałów maszyny wirtualnej.
Microsoft.CycleCloud.NodeTerminated
To zdarzenie jest wyzwalane za każdym razem, gdy węzeł zostanie zakończony, a jego maszyna wirtualna zostanie usunięta. To zdarzenie zawiera następujące informacje o chronometrażu:
-
Terminate
: całkowity czas zakończenia węzła. -
DeleteVM
: jak długo zajęło usunięcie maszyny wirtualnej.
Temat
Każde zdarzenie ma "temat", którego można użyć do filtrowania w usłudze Event Grid. Zdarzenia w usłudze CycleCloud mają tematy w następującym wzorcu:
-
/sites/SITENAME
: dla zdarzeń specyficznych dla danej instalacji cycleCloud -
/sites/SITENAME/clusters/CLUSTERNAME
: dla zdarzeń na poziomie klastra -
/sites/SITENAME/clusters/CLUSTERNAME/nodes/NODENAME
: dla zdarzeń na poziomie węzła
Umożliwia to "określenie zakresu" subskrypcji usługi Event Grid do określonego prefiksu w celu zebrania podzestawu zdarzeń. Można go używać w połączeniu z filtrowaniem typu zdarzenia.
Stan
-
Succeeded
: operacja zakończyła się pomyślnie. -
Failed
: operacja nie powiodła się. Często występuje zestawreason
i/luberrorCode
. -
Canceled
: operacja została anulowana.
Przyczyna
Niektóre zdarzenia mają powód, dla którego zostały zainicjowane. O ile nie określono inaczej, są one ustawiane na ClusterSizeIncreased
zdarzeniach , NodeAdded
, NodeCreated
NodeDeallocated
, NodeStarted
, i NodeTerminated
.
-
Autoscaled
: węzeł został zmodyfikowany w odpowiedzi na żądanie skalowania automatycznego wykonane za pośrednictwem interfejsu API -
UserInitiated
: operacja została wykonana bezpośrednio za pośrednictwem interfejsu użytkownika lub interfejsu wiersza polecenia -
System
: operacja została zainicjowana przez aplikację CycleCloud (np. domyślnie węzły wykonywania są automatycznie usuwane z klastra po zakończeniu) -
SpotEvicted
: zdarzenie zostało wyzwolone, ponieważ eksmitowano maszynę wirtualną typu spot (tylko zdarzenia NodeTerminated) -
VMDisappeared
: zdarzenie zostało wyzwolone, ponieważ maszyna wirtualna nienależącą do miejsca zniknęła (tylko zdarzenia NodeTerminated) -
AllocationFailed
: nie można przydzielić maszyny wirtualnej z powodu ograniczeń dotyczących umieszczania lub pojemności (tylko zdarzenia NodeTerminated/NodeDeallocated ze stanem wskazującym wynik operacji zakończenia/cofnięcia przydziału)
Uwaga
Właściwość reason
jest ustawiona na zdarzenia NodeTerminated, aby wskazać, dlaczego węzeł został zakończony.
Gdy nie można utworzyć węzła z powodu pojemności, kończy się niepowodzeniem z określonym kodem błędu platformy Azure (z których istnieje kilka).
Węzeł zostanie następnie automatycznie zakończony, a przyczyną zakończenia jest AllocationFailed
.
Gdy uruchomiona maszyna wirtualna typu spot zostanie eksmitowana, operacja tworzenia zakończyła się już pomyślnie.
Węzeł jest następnie automatycznie przerywany, a przyczyną zdarzenia zakończenia jest SpotEvicted
.
Chronometraż
Niektóre zdarzenia zawierają informacje o chronometrażu. Wpis timing
w data
pliku jest obiektem z kluczami odpowiadającymi etapom zdarzenia i wartościom w postaci łącznej liczby sekund. Każde zdarzenie może mieć wiele skojarzonych etapów chronometrażu. Załóżmy na przykład, że węzeł jest dodawany do klastra, uruchomiony i zakończony:
! Diagram chronometrażu usługi Event Grid
- T1: Użytkownik dodaje węzeł. Zdarzenie
NodeAdded
jest wysyłane bez chronometrażu. - T2: Operacja tworzenia maszyny wirtualnej kończy się niepowodzeniem, więc
NodeCreated
jest wysyłana ze stanem Niepowodzenie i następującymi informacjami o chronometrażu:-
Create
: T2-T1 -
CreateVM
: T2-T1
-
- T3: Użytkownik klika pozycję Ponów próbę
- T4: Operacja tworzenia maszyny wirtualnej powiedzie się, więc węzeł rozpoczyna instalowanie oprogramowania.
- T5. Oprogramowanie zostanie pomyślnie zainstalowane, więc
NodeCreated
zostanie wysłane ze stanem Powodzenie i następujące informacje o chronometrażu:-
Create
: (T5-T3) -
CreateVM
: (T4-T3) -
Configure
: (T5-T4)
-
- T6: Użytkownik klika przycisk Zakończ.
- T7: Operacja usuwania maszyny wirtualnej powiedzie się, więc
NodeTerminated
jest wysyłana ze stanem Powodzenie i następujące informacje o chronometrażu:-
Started
: T6-T5 -
Terminate
: T7-T6 -
DeleteVM
: T7-T6
-
Poprzedni czas stanu
Przy pierwszym przejściu węzła do stanu (czy to pomyślnie, czy nie), nie ma poprzedniego stanu. Gdy stan docelowy zostanie zmieniony po tym punkcie, czas spędzony w poprzednim stanie zostanie uwzględniony w zdarzeniu dla nowego stanu docelowego. Należy pamiętać, że jest to uwzględniane tylko wtedy, gdy został pomyślnie osiągnięty poprzedni stan. W związku z tym te wpisy chronometrażu mierzą długość czasu dla następujących elementów:
-
Started
: przed tym zdarzeniem węzeł był uruchomiony (tj. zielony) -
Deallocated
: przed tym zdarzeniem przydział węzła został cofnięty -
Terminated
: przed tym zdarzeniem węzeł był wyłączony
Może to służyć na przykład do śledzenia, jak długo była uruchomiona maszyna wirtualna typu spot, zanim została eksmitowana.
Liczba ponowień
Niektóre operacje można ponowić w aplikacji CycleCloud, jeśli się nie powieść. Te operacje są odzwierciedlane w zdarzeniach NodeCreated
, NodeDeallocated
, NodeStarted
i NodeTerminated
. Te zdarzenia zawierają właściwość opcjonalną retryCount
we właściwości zdarzenia data
wskazującą, ile razy wcześniej podjęto próbę wykonania operacji. Ta właściwość jest uwzględniana w kolejnych ponownych próbach, niezależnie od tego, czy te próby zakończyły się powodzeniem, czy niepowodzeniem.