Udostępnij za pośrednictwem


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 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 zestaw reason i/lub errorCode .
  • 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 ClusterSizeIncreasedzdarzeniach , NodeAdded, NodeCreatedNodeDeallocated, 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, NodeStartedi 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.