イベント
CycleCloud 8.0 では、特定の変更が 発生したときにイベント が生成されます (たとえば、ノードが作成されたとき、クラスターが削除されたときなど)。 一部のイベントは瞬間的であり (クラスターの削除など)、一部のイベントは遷移を表します (VM の作成を意味するノードの作成など)。 このような場合、成功したかどうかにかかわらず、遷移の最後にイベントが送信されます。
CycleCloud は、CycleCloud の [CycleCloud の設定] ページで接続することで、Event Grid トピックに発行するように構成できます。 Event Grid イベント サブスクリプション をトピックにアタッチして、プログラムがイベントを使用して処理できるストレージ キューなどの宛先にイベントをルーティングできます。
イベント オブジェクト
イベントは、標準の Event Grid スキーマにあります。 CycleCloud 固有のすべての要素は、 イベントの data
プロパティにあります。
名前 | 型 | 説明 |
---|---|---|
Eventid | 文字列 | イベントを一意に識別します |
eventTime | 文字列 | このイベントの時刻 (yyyy-MM-ddTHH:mm:ss。SSSZZ) |
eventType | 文字列 | 発生した状態遷移の種類 (例: Microsoft.CycleCloud.NodeCreated ) |
subject | 文字列 | 影響を受けるリソース ( 「イベントの件名」を参照) |
dataVersion | 文字列 | で使用 data されているスキーマ (現在は "1") |
さらに、 には、ほぼすべてのイベントに data
対していくつかのカスタム プロパティがあります。
プロパティ | Type | 説明 |
---|---|---|
status | Status (String) | この移行が成功したかどうか |
reason | 理由 (String) | このイベントが開始された理由 |
message | String | このイベントの人間が判読できる概要 |
errorCode | 文字列 | 失敗した場合、または使用できなかった場合のこの操作のコード。 これは Azure 呼び出しから直接発生する可能性があり、すべてのエラーに対して存在しない可能性があることに注意してください |
クラスター イベント
CycleCloud は、クラスターが変更されたときにイベントを送信します。 クラスター イベントには、 に次の共通プロパティが data
含まれています。
プロパティ | Type | 説明 |
---|---|---|
clusterName | 文字列 | クラスターの名前 |
Microsoft.CycleCloud.ClusterStarted
このイベントは、クラスターの起動時に発生します。
Microsoft.CycleCloud.ClusterTerminated
このイベントは、クラスターが終了したときに発生します。
Microsoft.CycleCloud.ClusterDeleted
このイベントは、クラスターが削除されたときに発生します。
Microsoft.CycleCloud.ClusterSizeIncreased
このイベントは、ノードがクラスターに追加されるときに発生します。 追加されたノードのセットごとに 1 つのイベントがあります。 (セット内のノードはすべて同じ定義を持ちます)。
プロパティ | Type | 説明 |
---|---|---|
nodesRequested | Integer | このセットに対して要求されたノードの数 |
nodesAdded | Integer | クラスターに実際に追加されたノードの数 |
nodeArray | 文字列 | これらのノードは、 から作成された nodearray |
subscriptionId | 文字列 | このノードのリソースのサブスクリプション ID |
region | String | このノードの場所 |
vmSku | 文字列 | VM の SKU (マシンの種類) |
priority | 文字列 | 有効な VM 価格モデル ("通常" または "スポット" のいずれか) |
placementGroupId | 文字列 | これらのノードが存在する配置グループ (存在する場合) |
ノード イベント
CycleCloud は、ノードの状態が変化したときにイベントを送信します。 ノード イベントには、 プロパティに追加情報が data
含まれています。
プロパティ | Type | 説明 |
---|---|---|
status | Status (String) | このイベントが成功したかどうか |
clusterName | 文字列 | このノードが含まれているクラスターの名前。 名前は時間の経過と同時に一意ではありません |
nodeName | 文字列 | 影響を受けるノードの名前。 名前は時間の経過と同時に一意ではありません |
nodeId | 文字列 | このノードの ID。 ノード ID は 時間の経過と同時に一意であり、ノードが削除されると ID は再利用されません |
nodeArray | 文字列 | このノードが作成された nodearray の名前 |
resourceId | String | VM の Azure リソース (作成された場合) |
subscriptionId | 文字列 | このノードのリソースのサブスクリプション ID |
region | String | このノードの場所 |
vmSku | 文字列 | VM の SKU (マシンの種類) |
priority | 文字列 | 有効な VM 価格モデル ("通常" または "スポット" のいずれか) |
placementGroupId | 文字列 | このノードが配置されている配置グループ (存在する場合) |
retryCount | Integer | この特定のアクションが以前に試行された回数 (「 再試行回数」を参照) |
タイミング | (オブジェクト) | このイベントのステージとその期間のマップ ( 「タイミング」を参照) |
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 の削除にかかった時間。
サブジェクト
各イベントには、Event Grid でのフィルター処理に使用できる "subject" があります。 CycleCloud のイベントには、次のパターンの件名があります。
-
/sites/SITENAME
: 特定の CycleCloud インストールに固有のイベントの場合 -
/sites/SITENAME/clusters/CLUSTERNAME
: クラスター レベルのイベントの場合 -
/sites/SITENAME/clusters/CLUSTERNAME/nodes/NODENAME
: ノード レベルのイベントの場合
これにより、Event Grid サブスクリプションを特定のプレフィックスに "スコープ" して、イベントのサブセットを収集できます。 これは、イベントの種類のフィルター処理と組み合わせて使用できます。
Status
-
Succeeded
: 操作が成功しました。 -
Failed
: 操作が成功しなかった。 多くの場合、reason
やerrorCode
セットがあります。 -
Canceled
: 操作が取り消されました。
理由
一部のイベントには、開始された理由があります。 特に指定がない限り、これらは、、NodeAdded
、、NodeDeallocated
NodeCreated
NodeStarted
および NodeTerminated
イベントにClusterSizeIncreased
設定されます。
-
Autoscaled
: API を介して行われた自動スケーリング要求に応答してノードが変更されました -
UserInitiated
: 操作は UI または CLI を介して直接行われました -
System
: 操作は CycleCloud によって開始されました (たとえば、既定では、実行ノードは終了するとクラスターから自動的に削除されます) -
SpotEvicted
: スポット VM が削除されたためにイベントがトリガーされました (NodeTerminated イベントのみ) -
VMDisappeared
: スポット以外の VM が消えたため、イベントがトリガーされました (NodeTerminated イベントのみ) -
AllocationFailed
: 配置または容量の制約のために VM を割り当てませんでした (NodeTerminated/NodeDeallocated イベントのみ、終了/割り当て解除操作の結果を示す状態)
注意
reason
ノードが終了した理由を示すために、 は NodeTerminated イベントに設定されます。
容量が原因でノードの作成に失敗すると、Azure の特定のエラー コードでノードが失敗します (そのうち複数あります)。
その後、ノードは自動的に終了し、終了の理由は です AllocationFailed
。
実行中のスポット VM が削除されると、作成操作は既に成功していました。
その後、ノードは自動的に終了し、終了イベントの理由は です SpotEvicted
。
タイミング
一部のイベントにはタイミング情報が含まれています。 のdata
エントリはtiming
、イベントのステージに対応するキーと、合計秒数として値を持つオブジェクトです。 各イベントには、複数のタイミング ステージが関連付けられている場合があります。 たとえば、ノードがクラスターに追加され、開始され、終了されるとします。
- T1: ユーザーがノードを追加します。
NodeAdded
イベントは、タイミングなしで送信されます。 - T2: VM の作成操作が失敗するため
NodeCreated
、状態が Failed で、次のタイミング情報が送信されます。-
Create
: T2-T1 -
CreateVM
: T2-T1
-
- T3: ユーザーが [再試行] をクリックする
- T4: VM の作成操作は成功するため、ノードはソフトウェアのインストールを開始します。
- T5。 ソフトウェアは正常にインストールされるため
NodeCreated
、状態が [成功] と次のタイミング情報で送信されます。-
Create
: (T5-T3) -
CreateVM
: (T4-T3) -
Configure
: (T5-T4)
-
- T6: ユーザーが [終了] をクリックします。
- T7: DELETE-VM 操作は成功するため
NodeTerminated
、状態が Succeeded で、次のタイミング情報で送信されます。-
Started
: T6-T5 -
Terminate
: T7-T6 -
DeleteVM
: T7-T6
-
以前の状態のタイミング
ノードが最初に状態に遷移する場合 (正常かどうかに関係なく)、以前の状態はありません。 その後、ターゲットの状態が変更されると、前の状態で費やされた時間が、新しいターゲット状態のイベントに含まれます。 これは、前の状態に正常に達した場合にのみ含まれることに注意してください。 したがって、これらのタイミング エントリは、次の時間の長さを測定します。
-
Started
: このイベントの前に、ノードが実行されていました (つまり、緑) -
Deallocated
: このイベントの前に、ノードの割り当てが解除されました -
Terminated
: このイベントの前に、ノードはオフでした
これは、たとえば、スポット VM が削除されるまでの実行時間を追跡するために使用できます。
再試行の回数
一部の操作は、失敗した場合に CycleCloud で再試行できます。 これらの操作は、、NodeDeallocated
NodeStarted
および NodeTerminated
イベントにNodeCreated
反映されます。 これらのイベントには、操作が試行される前の回数を示す、イベントの data
プロパティの省略可能なretryCount
プロパティが含まれています。 このプロパティは、再試行が成功したか失敗したかに関係なく、後続の再試行に含まれます。