事件
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
:作業已取消。
原因
有些事件有起始的原因。 除非另有指示,否則這些會在 、 NodeAdded
、 NodeCreated
、 NodeDeallocated
、 NodeStarted
和 NodeTerminated
事件上 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 失敗,某些作業可能會重試。 這些作業會反映在 、 NodeDeallocated
NodeStarted
和 NodeTerminated
事件中 NodeCreated
。 這些事件包含事件 data
屬性上的選擇性 retryCount
屬性,指出嘗試此作業之前多少次。 不論這些嘗試成功或失敗,後續重試都包含此屬性。