次の方法で共有


イベント

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: 操作が成功しなかった。 多くの場合、 reasonerrorCode セットがあります。
  • Canceled: 操作が取り消されました。

理由

一部のイベントには、開始された理由があります。 特に指定がない限り、これらは、、NodeAdded、、NodeDeallocatedNodeCreatedNodeStartedおよび 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、イベントのステージに対応するキーと、合計秒数として値を持つオブジェクトです。 各イベントには、複数のタイミング ステージが関連付けられている場合があります。 たとえば、ノードがクラスターに追加され、開始され、終了されるとします。

!Event Grid のタイミング図

  • 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 で再試行できます。 これらの操作は、、NodeDeallocatedNodeStartedおよび NodeTerminated イベントにNodeCreated反映されます。 これらのイベントには、操作が試行される前の回数を示す、イベントの data プロパティの省略可能なretryCountプロパティが含まれています。 このプロパティは、再試行が成功したか失敗したかに関係なく、後続の再試行に含まれます。