次の方法で共有


イベント

CycleCloud 8.0 では、特定の 変更が発生 したときにイベントが生成されます (たとえば、ノードが作成されたとき、クラスターが削除されたときなど)。 一部のイベントは瞬間的であり (クラスターの削除など)、一部のイベントは遷移を表します (たとえば、VM の作成を意味するノードの作成)。 このような場合、成功したかどうかにかかわらず、遷移の最後にイベントが送信されます。

CycleCloud 設定ページで接続することで、Event Grid トピック に発行するように CycleCloud を構成 できます。 ストレージ キューなどの送信先にイベントをルーティングするには、Event Grid イベント サブスクリプション をトピックにアタッチします。 プログラムはイベントを受け取って処理することができます。

イベント オブジェクト

イベントは標準の Event Grid スキーマに従い、すべての CycleCloud 固有の詳細が data プロパティに含まれます。

名前 タイプ 説明
eventId イベントを一意に識別します
eventTime このイベントの時刻 (yyyy-MM-ddTHH:mm:ss.SSSZZ)
イベントタイプ 発生した状態遷移の種類 (たとえば、 Microsoft.CycleCloud.NodeCreated)
件名 影響を受けるリソース ( イベントの件名を参照)
dataVersion dataで使用されているスキーマ (現在は "1")

さらに、ほぼすべてのイベントに対して、 data にはいくつかのカスタム プロパティがあります。

プロパティ タイプ 説明
状態 Status (String) この移行が成功したかどうか
理由 Reason (String) このイベントが開始された理由
メッセージ このイベントの分かりやすい概要
エラーコード 失敗した場合、または使用できなかった場合のこの操作のコード。 このコードは Azure 呼び出しから直接取得される可能性があり、すべてのエラーに対して存在しない可能性があることに注意してください

クラスター イベント

CycleCloud は、クラスターが変更されたときにイベントを送信します。 クラスター イベントには、 dataに次の共通プロパティが含まれています。

プロパティ タイプ 説明
クラスターネーム クラスターの名前

Microsoft.CycleCloud.ClusterStarted

このイベントは、クラスターの起動時に発生します。

Microsoft.CycleCloud.クラスター終了

このイベントは、クラスターが終了したときに発生します。

Microsoft.CycleCloud.クラスター削除

このイベントは、クラスターが削除されたときに発生します。

Microsoft.CycleCloud.ClusterSizeIncreased

このイベントは、ノードがクラスターに追加されたときに発生します。 追加されたノードのセットごとに 1 つのイベントがあります。 (セット内のノードはすべて同じ定義を持ちます)。

プロパティ タイプ 説明
リクエストされたノード 整数 このセットに対して要求されたノードの数
ノード追加 整数 クラスターに追加されたノードの数
nodeArray これらのノードが作成された nodearray
サブスクリプションID このノードのリソースのサブスクリプション ID
リージョン このノードの場所
vmSku VM の SKU (つまり、マシンの種類)
優先権 有効な VM 価格モデル ("通常" または "スポット")
placementGroupId これらのノードが存在する配置グループ (存在する場合)

ノード イベント

CycleCloud は、ノードが状態間を遷移するたびにイベントを送信します。 これらのノード イベントには、 data プロパティ内の追加のコンテキストが含まれます。

プロパティ タイプ 説明
状態 Status (String) このイベントが成功したかどうか
クラスターネーム このノードが含まれているクラスターの名前。 名前は時間の経過と同時に一意ではありません
nodeName 影響を受けるノードの名前。 名前は時間の経過と同時に一意ではありません
nodeId ノードの ID。 ノード ID は一意 です 。 ノードが削除されると、ID は再利用できません。
nodeArray このノードが作成された nodearray の名前
リソースID VM の Azure リソース (作成された場合)
サブスクリプションID このノードのリソースのサブスクリプション ID
リージョン このノードの場所
vmSku VM の SKU (つまり、マシンの種類)
優先権 有効な VM 価格モデル ("通常" または "スポット")
placementGroupId このノードが存在する配置グループ (存在する場合)
retryCount 整数 この特定のアクションが以前に試行された回数 (「 再試行回数」を参照)
タイミング (オブジェクト) このイベントのステージとその期間のマップ ( タイミングを参照)

Microsoft.CycleCloud.NodeAdded

このイベントは、クラスターに追加されたノードごとにトリガーされます。 同時に追加された複数のノードに対して 1 つのイベントを受信するには、「 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 でのフィルター処理に使用できる件名があります。 CycleCloud のイベントには、次のパターンの件名があります。

  • /sites/SITENAME: 特定の CycleCloud インストールに固有のイベントの場合
  • /sites/SITENAME/clusters/CLUSTERNAME: クラスター レベルのイベントの場合
  • /sites/SITENAME/clusters/CLUSTERNAME/nodes/NODENAME: ノード レベルのイベントの場合

このパターンを使用すると、Event Grid サブスクリプションを特定のプレフィックスに "スコープ" して、イベントのサブセットを収集できます。 イベントの種類のフィルター処理でこのパターンを使用します。

ステータス

  • Succeeded: 操作が成功しました。
  • Failed: 操作が成功しなかった。 多くの場合、 reasonerrorCode セットがあります。
  • Canceled: 操作が取り消されました。

理由

一部のイベントには、開始される理由があります。 特に明記されていない限り、これらの理由は、 ClusterSizeIncreasedNodeAddedNodeCreatedNodeDeallocatedNodeStarted、および NodeTerminated イベントに設定されます。

  • Autoscaled: API を介して行われた自動スケーリング要求に応答してノードが変更されました
  • UserInitiated: 操作は UI または CLI を介して直接行われました
  • System: CycleCloud によって操作が開始されました (たとえば、既定では、実行ノードは終了するとクラスターから自動的に削除されます)
  • SpotEvicted: スポット VM の削除によってイベントがトリガーされました (NodeTerminated イベントのみ)
  • VMDisappeared: 非スポット VM の消失によってイベントがトリガーされました (NodeTerminated イベントのみ)
  • AllocationFailed: 配置または容量の制約のために VM を割り当てられませんでした (NodeTerminated/NodeDeallocated イベントのみ、終了/割り当て解除操作の結果を示す状態)

ノードが終了した理由を示すために、 reason は NodeTerminated イベントに設定されます。 容量が原因でノードの作成に失敗すると、Azure の特定のエラー コードで失敗します (そのうち複数あります)。 その後、ノードは自動的に終了され、終了の理由は AllocationFailed。 実行中のスポット VM が削除されると、作成操作は既に成功しています。 その後、ノードは自動的に終了され、終了イベントの理由が SpotEvicted

タイミング

一部のイベントにはタイミング情報が含まれています。 timingdata エントリは、イベントのステージに対応するキーを持つオブジェクトであり、値は合計秒数です。 各イベントには、複数のタイミング ステージを関連付けることができます。 たとえば、ノードがクラスターに追加され、開始され、終了されるとします。

!Event Grid のタイミング図

  • T1: ユーザーがノードを追加します。 タイミングなしで NodeAdded イベントが送信されます。
  • T2: 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: VM の削除操作は成功するため、 NodeTerminated は成功の状態と次のタイミング情報で送信されます。
    • Started: T6-T5
    • Terminate: T7-T6
    • DeleteVM: T7-T6

前の状態のタイミング

ノードが最初に状態に遷移する場合 (正常かどうかに関係なく)、以前の状態はありません。 その時点以降にターゲットの状態が変化すると、前の状態で費やされた時間が新しいターゲット状態のイベントに含まれます。 このタイミングは、ノードが以前の状態に正常に達した場合にのみ含まれます。 これらのタイミング エントリは、次の状態の時間の長さを測定します。

  • Started: このイベントの前に、ノードが実行されていました (つまり、緑)
  • Deallocated: このイベントの前に、ノードの割り当てが解除されました
  • Terminated: このイベントの前に、ノードはオフでした

このタイミングを使用して、スポット VM が削除されるまでの実行時間を追跡できます。

再試行回数

CycleCloud では、一部の操作が失敗した場合に再試行できます。 これらの操作は、 NodeCreatedNodeDeallocatedNodeStarted、および NodeTerminated イベントに反映されます。 これらのイベントには、イベントのretryCount プロパティの省略可能なdata プロパティが含まれています。このプロパティは、このイベントの前に操作が試行された回数を示します。 このプロパティは、再試行が成功したか失敗したかに関係なく、後続の再試行に含まれます。