共用方式為


事件

CycleCloud 8.0 會在 (發生特定變更時產生 事件 ,例如建立節點或叢集) 。 某些事件是即時 (例如刪除叢集) ,而某些事件代表 (轉換,例如建立表示建立 VM) 的節點。 在這些情況下,不論是否成功,事件都會在轉換結束時傳送。

CycleCloud 可以設定為發佈至事件方格 主題 ,方法是在 CycleCloud 的 CycleCloud [設定 ] 頁面中加以連線。 事件方格 事件訂 用帳戶可以附加至主題,以將事件路由傳送至目的地,例如儲存體佇列,程式可以取用事件並加以處理。

事件物件

事件位於標準事件方格架構中。 所有 CycleCloud 特定元素都在 data 事件的 屬性中。

名稱 類型 Description
eventId 字串 唯一識別事件
eventTime 字串 此事件的時間 (yyyy-MM-ddTHH:mm:ss。SSSZZ)
eventType 字串 (發生的狀態轉換類型, Microsoft.CycleCloud.NodeCreated 例如)
主旨 字串 受影響的資源 (請參閱 事件主旨)
dataVersion 字串 目前用於 data (「1」) 的架構

此外,幾乎所有事件都有數個 自訂 data 屬性:

屬性 類型 描述
status 狀態 (字串) 此轉換是否成功
reason 字串 (原因) 為何起始此事件
message String 此事件的人類可閱讀摘要
errorCode 字串 如果作業失敗或無法使用,則為此作業的程式碼。 請注意,這可能直接來自 Azure 呼叫,而且可能不存在於所有失敗

叢集事件

CycleCloud 會在修改叢集時傳送事件。 叢集事件包含 中的 data 下列通用屬性:

屬性 類型 Description
clusterName 字串 叢集的名稱

Microsoft.CycleCloud.ClusterStarted

啟動叢集時會引發此事件。

Microsoft.CycleCloud.ClusterTerminated

當叢集終止時,就會引發此事件。

Microsoft.CycleCloud.ClusterDeleted

刪除叢集時,就會引發此事件。

Microsoft.CycleCloud.ClusterSizeIncreased

當節點新增至叢集時,就會引發此事件。 每個新增的節點集都有一個事件。 (集合中的節點都有相同的 definition.)

屬性 類型 Description
nodesRequested 整數 此集合要求多少個節點
nodesAdded 整數 實際新增至叢集的節點數目
nodeArray 字串 這些節點的 nodearray 是從
subscriptionId 字串 此節點資源的訂用帳戶識別碼
區域 字串 此節點的位置
vmSku 字串 SKU (亦即 VM 的機器類型)
priority 字串 作用中的 VM 定價模型 (「一般」或「現成」)
placementGroupId 字串 如果有的話,這些節點位於的位置群組

節點事件

CycleCloud 會在節點變更狀態時傳送事件。 節點事件包含 屬性中的其他 data 資訊:

屬性 類型 描述
status 狀態 (字串) 此事件是否成功
clusterName 字串 此節點所在的叢集名稱。 名稱在一段時間內不是唯一的
nodeName 字串 受影響的節點名稱。 名稱在一段時間內不是唯一的
nodeId 字串 這個節點的識別碼。 節點識別碼在一段時間內 是唯 一的,一旦刪除節點,將不會重複使用識別碼
nodeArray 字串 建立此節點的 nodearray 名稱
resourceId String 如果已建立 VM 的 Azure 資源
subscriptionId 字串 此節點資源的訂用帳戶識別碼
區域 字串 此節點的位置
vmSku 字串 SKU (亦即 VM 的電腦類型)
priority 字串 VM 定價模式生效 (「一般」或「現成」)
placementGroupId 字串 此節點所在的放置群組,如果有的話
retryCount 整數 先前嘗試此特定動作的次數 (請參閱 重試計數)
計時 (物件) 此事件中的階段對應及其持續時間 (請參閱 計時)

Microsoft.CycleCloud.NodeAdded

系統會針對新增至叢集的每個節點引發此事件。 (若要一次新增一組節點的事件,請參閱 ClusterSizeIncreased.) 第一次出現在 UI 中時傳送此事件,因此它沒有任何計時資訊。

Microsoft.CycleCloud.NodeCreated

每次第一次啟動節點時都會引發此事件 (,亦即 VM 會針對它建立) 。 此事件包含下列計時資訊:

  • Create:建立節點的總時間。 這包括建立 VM 和設定 VM。
  • CreateVM:建立 VM 所需的時間。
  • Configure:安裝軟體並設定節點所花費的時間。

Microsoft.CycleCloud.NodeDeallocated

每次解除配置節點時,就會引發此事件。 此事件包含下列計時資訊:

  • Deallocate:解除配置節點的總時間。
  • DeallocateVM:解除配置 VM 所需的時間。

Microsoft.CycleCloud.NodeStarted

每當節點從解除配置狀態重新開機時,就會引發此事件。 此事件包含下列計時資訊:

  • Start:重新開機已解除配置節點所花費的總時間。
  • StartVM:啟動已解除配置 VM 所需的時間。

Microsoft.CycleCloud.NodeTerminated

每次終止節點並刪除其 VM 時,就會引發此事件。 此事件包含下列計時資訊:

  • Terminate:終止節點所花費的總時間。
  • DeleteVM:刪除 VM 所需的時間。

主旨

每個事件都有一個「主旨」,可用於在事件方格中篩選。 CycleCloud 中的事件具有下列模式的主旨:

  • /sites/SITENAME:適用于指定 CycleCloud 安裝的特定事件
  • /sites/SITENAME/clusters/CLUSTERNAME:適用于叢集層級事件
  • /sites/SITENAME/clusters/CLUSTERNAME/nodes/NODENAME:針對節點層級事件

這可讓特定前置詞的「範圍」事件方格訂用帳戶收集事件的子集。 這可與事件種類篩選搭配使用。

狀態

  • Succeeded:作業成功。
  • Failed:作業未成功。 通常有 和 reason /或 errorCode 集合。
  • Canceled:作業已取消。

原因

有些事件有起始的原因。 除非另有指示,否則這些會在 、 NodeAddedNodeCreatedNodeDeallocatedNodeStartedNodeTerminated 事件上 ClusterSizeIncreased 設定。

  • Autoscaled:已修改節點以回應透過 API 發出的自動調整要求
  • UserInitiated:作業是透過 UI 或 CLI 直接完成
  • System:CycleCloud 起始作業 (例如,根據預設,執行節點會在終止) 時自動從叢集移除
  • SpotEvicted:事件已觸發,因為現成 VM 已收回 (NodeTerminated 事件)
  • VMDisappeared:因為非現成 VM 只會消失 (NodeTerminated 事件,所以觸發事件)
  • AllocationFailed:由於放置或容量限制 (NodeTerminated/NodeDeallocated 事件,無法配置 VM,狀態指出終止/解除配置作業的結果)

注意

會在 NodeTerminated 事件上設定 , reason 以指出節點終止的原因。 當節點因為容量而無法建立時,它會失敗,並出現來自 Azure (的特定錯誤碼,其中有數個) 。 節點接著會自動終止,而終止的原因為 AllocationFailed 。 收回執行中的現成 VM 時,建立作業已經成功。 節點接著會自動終止,而終止事件的原因為 SpotEvicted

時間

某些事件包含計時資訊。 timing中的 data 專案是物件,其索引鍵對應至事件的階段,並將值當做總秒數。 每個事件可能有多個與其相關聯的計時階段。 例如,假設節點已新增至叢集、已啟動和終止:

!事件方格計時圖表

  • T1:使用者新增節點。 NodeAdded事件會傳送,沒有計時。
  • T2:create-VM 作業失敗,因此 NodeCreated 會以 [失敗] 狀態和下列計時資訊傳送:
    • Create:T2-T1
    • CreateVM:T2-T1
  • T3:使用者按一下 [重試]
  • T4:Create-VM 作業成功,因此節點會開始安裝軟體。
  • T5. 軟體成功安裝,因此 NodeCreated 會以 [成功] 狀態和下列計時資訊傳送:
    • Create: (T5-T3)
    • CreateVM: (T4-T3)
    • Configure: (T5-T4)
  • T6:使用者按一下 [終止]。
  • T7:delete-VM 作業成功,因此 NodeTerminated 會以 [成功] 狀態和下列計時資訊傳送:
    • Started:T6-T5
    • Terminate:T7-T6
    • DeleteVM:T7-T6

先前的狀態計時

第一次節點轉換至狀態時, (是否成功) 狀態,則沒有先前的狀態。 當目標狀態在該時間點之後變更時,先前狀態所花費的時間會包含在新目標狀態的事件中。 請注意,只有在成功達到先前的狀態時,才會包含此專案。 因此,這些計時專案會測量下列時間長度:

  • Started:在此事件之前,節點已執行 (,也就是綠色)
  • Deallocated:在此事件之前,節點已解除配置
  • Terminated:在此事件之前,節點已關閉

例如,這可用來追蹤現成 VM 在收回前執行的時間長度。

重試計數

如果 CycleCloud 失敗,某些作業可能會重試。 這些作業會反映在 、 NodeDeallocatedNodeStartedNodeTerminated 事件中 NodeCreated 。 這些事件包含事件 data 屬性上的選擇性 retryCount 屬性,指出嘗試此作業之前多少次。 不論這些嘗試成功或失敗,後續重試都包含此屬性。