Etkinlikler

CycleCloud 8.0, belirli değişiklikler gerçekleştiğinde (örneğin, bir düğüm oluşturulduğunda veya bir küme silindiğinde) olaylar oluşturur. Bazı olaylar anlık olarak gerçekleşir (örneğin, küme silme) ve bazı olaylar geçişleri temsil eder (örneğin, VM oluşturmayı ima eden bir düğüm oluşturma). Bu gibi durumlarda olay, başarılı olsun veya olmasın geçişin sonunda gönderilir.

CycleCloud'u Bir Event Grid başlığına yayımlamak amacıyla, CycleCloud Ayarları sayfasından bağlantı kurarak yapılandırabilirsiniz. Olayları Depolama Kuyruğu gibi bir hedefe yönlendirmek için event Grid olay aboneliklerini konuya ekleyin. Bir program olayları tüketebilir ve işleyebilir.

Olay nesneleri

Olaylar, CycleCloud'a özgü tüm ayrıntıların data özelliğinde yer aldığı standart Event Grid şemasını takip eder.

İsim Türü Açıklama
eventId Dize Olayı benzersiz olarak tanımlar
etkinlikZamanı Dize Bu olayın zamanı (yyyy-MM-ddTHH:mm:ss. SSSZZ)
etkinlikTürü Dize Gerçekleşen durum geçişi türü (örneğin, Microsoft.CycleCloud.NodeCreated)
konu Dize Etkilenen kaynak (bkz . Olay Konusu)
veri sürümü Dize için data kullanılan şema (şu anda "1")

Buna ek olarak, neredeyse tüm olaylar için data içinde birkaç özel özellik vardır.

Mülkiyet Türü Açıklama
durum Durum (Dize) Bu geçişin başarılı olup olmadığı
sebep Neden (String) Bu olayın neden başlatıldığı
mesaj Dize Bu olayın insan tarafından okunabilen bir özeti
hata kodu Dize İşlem başarısız olduğunda veya kullanılamadığında geçerli olan kod. Bu kodun doğrudan Azure çağrılarından gelebileceğini ve tüm hatalarda mevcut olmayabileceğini unutmayın

Küme olayları

CycleCloud, kümeler değiştirildiğinde olayları gönderir. Küme olayları içinde dataaşağıdaki ortak özellikleri içerir:

Mülkiyet Türü Açıklama
kümeAdı Dize Kümenin adı

Microsoft.CycleCloud.KümeBaşlatıldı

Bir küme başlatıldığında bu olay tetiklenir.

Microsoft.CycleCloud.KümeSonlandırıldı

Bir küme sonlandırıldığında bu olay tetiklenir.

Microsoft.CycleCloud.ClusterDeleted

Bir küme silindiğinde bu olay tetiklenir.

Microsoft.CycleCloud.KümeBüyüklüğüArtırıldı

Düğümler kümeye eklendiğinde bu olay tetiklenir. Eklenen her düğüm kümesi için bir olay vardır. (Bir kümedeki düğümlerin tümü aynı tanıma sahiptir.)

Mülkiyet Türü Açıklama
nodeRequested Tamsayı Bu küme için kaç düğüm istendi?
nodeAdded Tamsayı Kümeye kaç düğüm eklendi?
nodeArray Dize Bu düğümlerin oluşturulduğu düğümler dizisi
abonelikId Dize Bu düğümün kaynaklarının abonelik kimliği
bölge Dize Bu düğümün konumu
vmSku Dize VM için SKU (makine türü)
öncelik Dize VM fiyatlandırma modeli etkin durumda ("normal" veya "spot")
placementGroupId Dize Bu düğümlerin dahil olduğu yerleştirme grubu, varsa

Düğüm olayları

CycleCloud, düğümler durumlar arasında geçiş yaptığında olayları gönderir. Bu düğüm olayları, data özelliği içinde ek bağlam içerir.

Mülkiyet Türü Açıklama
durum Durum (Dize) Bu olayın başarılı olup olmadığı
kümeAdı Dize Bu düğümün içinde olduğu kümenin adı. Adlar zaman içinde benzersiz değildir
nodeName Dize Etkilenen düğümün adı. Adlar zaman içinde benzersiz değildir
nodeId Dize Düğümün kimliği. Düğüm kimlikleri benzersizdir . Bir düğüm silindiğinde, kimlik yeniden kullanılamaz.
nodeArray Dize Bu düğümün oluşturulduğu düğüm dizisinin adı
kaynakId Dize Oluşturulduysa VM için Azure kaynağı
abonelikId Dize Bu düğümün kaynaklarının abonelik kimliği
bölge Dize Bu düğümün konumu
vmSku Dize VM için SKU (makine türü)
öncelik Dize VM fiyatlandırma modeli etkin durumda ("normal" veya "spot")
placementGroupId Dize Eğer varsa, bu düğümün yer aldığı yerleştirme grubu
tekrarDenemeSayısı Tamsayı Bu eylemin daha önce kaç kez denendiğini öğrenin (bkz. Yeniden Deneme Sayısı)
Zamanlama (Nesne) Bu olaydaki aşamaların ve sürelerinin haritası (bkz . Zamanlama)

Microsoft.CycleCloud.NodeAdded

Bu olay bir kümeye eklenen her düğüm için tetikleniyor. Aynı anda eklenen birden çok düğüm için tek bir olay almak için bkz. ClusterSizeIncreased. Bu olay, düğüm kullanıcı arabiriminde ilk kez görüntülendiğinde gönderilir, bu nedenle zamanlama bilgisi yoktur.

Microsoft.CycleCloud.NodeCreated

Bu olay, bir düğüm ilk kez başlatıldığında (yani düğüm için bir VM oluşturulduğunda) tetikleniyor. Aşağıdaki zamanlama ayrıntılarını içerir:

  • Create: Düğümü oluşturmak için toplam süre. Bu süre, VM'yi oluşturmayı ve VM'yi yapılandırmayı içerir.
  • CreateVM: VM'nin oluşturulmasının ne kadar sürdüğü.
  • Configure: Yazılımın yüklenmesi ve düğümün yapılandırılması ne kadar sürdü?

Microsoft.CycleCloud.NodeDeallocated

Bu olay, bir düğümün serbest bırakıldığı her seferde tetiklenir. Aşağıdaki zamanlama ayrıntılarını içerir:

  • Deallocate: Düğümü serbest bırakmak için toplam süre.
  • DeallocateVM: Sanal makinenin (VM) serbest bırakılmasının ne kadar sürdüğü.

Microsoft.CycleCloud.NodeBaşlatıldı

Bir düğüm serbest bırakılmış durumdan her yeniden başlatıldığında bu olay tetikleniyor. Aşağıdaki zamanlama ayrıntılarını içerir:

  • Start: Serbest bırakılan düğümü yeniden başlatmak için geçen toplam süre.
  • StartVM: Deallocate edilmiş VM'yi başlatmak ne kadar sürdü.

Microsoft.CycleCloud.NodeTerminated

Bu olay, bir düğüm her sonlandırılıp VM'si silindiğinde tetiklenir. Aşağıdaki zamanlama ayrıntılarını içerir:

  • Terminate: Düğümü sonlandırmak için geçen toplam süre.
  • DeleteVM: VM'nin silinmesinin ne kadar sürdüğü.

Konu

Her olayın Event Grid'de filtreleme için kullanabileceğiniz bir konusu vardır. CycleCloud'daki olaylar aşağıdaki düzende konulara sahiptir:

  • /sites/SITENAME: belirli bir CycleCloud yüklemesine özgü olaylar için
  • /sites/SITENAME/clusters/CLUSTERNAME: küme düzeyinde olaylar için
  • /sites/SITENAME/clusters/CLUSTERNAME/nodes/NODENAME: düğüm düzeyinde olaylar için

Bu model, belirli bir ön eki hedef alarak bir Event Grid aboneliğine "kapsam" belirleme ve olayların belirli bir alt kümesini toplama olanağı sağlar. Olay türü filtrelemesi ile bu düzeni kullanın.

Statü

  • Succeeded: işlem başarılı oldu.
  • Failed: işlem başarılı olmadı. Genellikle bir reason ve/veya errorCode kümesi vardır.
  • Canceled: işlem iptal edildi.

Nedeni

Bazı olayların başlatılmasının bir nedeni vardır. Aksi belirtilmediği sürece, bu nedenler ClusterSizeIncreased, NodeAdded, NodeCreated, NodeDeallocated, ve NodeStarted olaylarında NodeTerminated ayarlanır.

  • Autoscaled: API aracılığıyla yapılan otomatik ölçeklendirme isteğine yanıt olarak düğüm değiştirildi
  • UserInitiated: İşlem doğrudan kullanıcı arabirimi veya CLI aracılığıyla yapıldı
  • System: CycleCloud işlemi başlattı (örneğin, yürütme düğümleri varsayılan olarak sonlandırıldığında kümeden otomatik olarak kaldırılır)
  • SpotEvicted: bir spot VM dışlama işlemi olayı tetikledi (yalnızca NodeTerminated olayları)
  • VMDisappeared: Spot olmayan bir VM'nin kaybolması, etkinliği tetikledi (yalnızca NodeTerminated olayları)
  • AllocationFailed: Yerleştirme veya kapasite kısıtlamaları nedeniyle VM ayrılamadı (yalnızca NodeTerminated/NodeDeallocated olayları; durum sonlandırma/serbest bırakma işleminin sonucunu gösterir)

Uyarı

reason, düğümün neden sonlandırıldığını göstermek için NodeTerminated olaylarında ayarlanır. Kapasite nedeniyle bir düğüm oluşturulamadığında, Azure'dan gelen belirli bir hata koduyla başarısız olur (bunlardan birkaç tane vardır). Ardından düğüm otomatik olarak sonlandırılır ve sonlandırmanın nedeni olur AllocationFailed. Çalışmakta olan bir spot VM çıkarıldığında, oluşturma işlemi zaten başarılı olmuştur. Ardından düğüm otomatik olarak sonlandırılır ve sonlandırma olayının nedeni olur SpotEvicted.

Zamanlama

Bazı olaylar zamanlama bilgilerini içerir. timing içindeki data girdisi, olayın aşamalarına karşılık gelen anahtarlara ve toplam saniye olarak değerlere sahip bir nesnedir. Her olayın kendisiyle ilişkilendirilmiş birden çok zamanlama aşaması olabilir. Örneğin, kümeye bir düğüm eklendiğini, başlatıldığını ve sonlandırıldığını varsayalım:

! Event Grid Zamanlama Diyagramı

  • T1: Kullanıcı bir düğüm ekler. Zamanlaması olmadan bir NodeAdded olayı gönderilir.
  • T2: Create-VM işlemi başarısız olur, bu nedenle NodeCreated Başarısız durumu ve aşağıdaki zamanlama bilgileriyle gönderilir:
    • Create: T2-T1
    • CreateVM: T2-T1
  • T3: Kullanıcı Yeniden Dene'ye tıklar
  • T4: Create-VM işlemi başarılı olduğundan düğüm yazılım yüklemeye başlar.
  • T5 Yazılım başarıyla yüklenir, bu nedenle NodeCreated Başarılı durumu ve aşağıdaki zamanlama bilgileriyle gönderilir:
    • Create: (T5-T3)
    • CreateVM: (T4-T3)
    • Configure: (T5-T4)
  • T6: Kullanıcı Sonlandır'a tıklar.
  • T7: DELETE-VM işlemi başarılı olur, bu nedenle NodeTerminated Başarılı durumu ve aşağıdaki zamanlama bilgileriyle gönderilir:
    • Started: T6-T5
    • Terminate: T7-T6
    • DeleteVM: T7-T6

Önceki Durum Zamanlaması

Bir düğüm ilk kez bir duruma (başarılı olsun veya olmasın) geçişinde, önceki durumu yoktur. Bu noktadan sonra hedef durum değiştiğinde, yeni hedef durum için önceki durumda harcanan süre olaya eklenir. Bu zamanlama yalnızca düğüm önceki duruma başarıyla ulaştıysa eklenir. Bu zamanlama girdileri, aşağıdaki durumlar için süre uzunluğunu ölçer:

  • Started: bu olaydan önce düğüm çalışıyordu (yani yeşil)
  • Deallocated: bu olaydan önce düğüm serbest bırakıldı
  • Terminated: bu olaydan önce düğüm kapalıydı

Bir spot VM'nin çıkarilmeden önce ne kadar süre çalıştığını izlemek için bu zamanlamayı kullanabilirsiniz.

Yeniden Deneme Sayısı

CycleCloud'da başarısız olan bazı işlemleri yeniden deneyebilirsiniz. Bu işlemler NodeCreated, NodeDeallocated, NodeStarted ve NodeTerminated olaylarına yansıtılır. Bu olaylar, olayın retryCount özelliğinde isteğe bağlı data bir özellik içerir ve bu özellik, işlemin bu olaydan önce kaç kez denendiğini gösterir. Bu özellik, bu girişimlerin başarılı veya başarısız olmasına bakılmaksızın sonraki yeniden denemelere eklenir.