Compartir a través de


Eventos

CycleCloud 8.0 genera eventos cuando se producen determinados cambios (por ejemplo, cuando se crea un nodo o se elimina un clúster). Algunos eventos son instantáneos (por ejemplo, eliminar un clúster) y algunos eventos representan transiciones (por ejemplo, la creación de un nodo que implica la creación de una máquina virtual). En estos casos, el evento se envía al final de la transición, independientemente de si se realiza correctamente o no.

Puede configurar CycleCloud para publicar en un tema de Event Grid conectándolo en la página Configuración de CycleCloud . Para enrutar los eventos a un destino, como una cola de almacenamiento, adjunte las suscripciones de eventos de Event Grid al tema. Un programa puede consumir eventos y procesarlos.

Objetos de evento

Los eventos siguen el esquema estándar de Event Grid, con todos los detalles específicos de CycleCloud incluidos en la data propiedad .

Nombre Tipo Descripción
eventId Cuerda Identifica de forma única el evento
hora del evento Cuerda Hora de este evento (aaaa-MM-ddTHH:mm:ss. SSSZZ)
Tipo de evento Cuerda El tipo de transición de estado que se produjo (por ejemplo, Microsoft.CycleCloud.NodeCreated)
Asunto Cuerda El recurso afectado (consulte El asunto del evento)
versión de datos Cuerda Esquema en uso para data (actualmente "1")

Además, hay varias propiedades personalizadas en data para casi todos los eventos:

Propiedad Tipo Descripción
estado Estado (cadena) Si esta transición se realizó correctamente o no
razón Motivo (cadena de texto) Por qué se inició este evento
Mensaje Cuerda Resumen legible de este evento
código de error Cuerda El código de esta operación si se produjo un error o no estaba disponible. Tenga en cuenta que este código puede provenir directamente de las llamadas de Azure y podría no estar presente para todos los errores.

Eventos de clúster

CycleCloud envía eventos cuando se modifican los clústeres. Los eventos de clúster contienen las siguientes propiedades comunes en data:

Propiedad Tipo Descripción
NombreDelCluster Cuerda El nombre del clúster

Microsoft.CycleCloud.ClusterStarted

Este evento se desencadena cuando se inicia un clúster.

Microsoft.CycleCloud.ClusterTerminated

Este evento se desencadena cuando se finaliza un clúster.

Microsoft.CycleCloud.ClusterEliminado

Este evento se desencadena cuando se elimina un clúster.

Microsoft.CycleCloud.ClusterSizeIncreased

Este evento se desencadena cuando se agregan nodos al clúster. Hay un evento para cada conjunto de nodos agregado. (Los nodos de un conjunto tienen la misma definición).

Propiedad Tipo Descripción
nodos solicitados Entero Cuántos nodos se solicitaron para este conjunto
nodesAdded Entero Cuántos nodos se agregaron al clúster
nodeArray Cuerda La matriz de nodos a partir de la que se crearon estos nodos
ID de suscripción Cuerda Identificador de suscripción para los recursos de este nodo
región Cuerda Ubicación de este nodo
vmSku Cuerda SKU (es decir, tipo de máquina) para la máquina virtual
prioridad Cuerda El modelo de precios de máquina virtual en vigor (ya sea "normal" o "spot")
placementGroupId Cuerda El grupo de ubicación en el que se encuentran estos nodos, si hay alguno.

Eventos de nodos

CycleCloud envía eventos cada vez que los nodos pasan entre estados. Estos eventos de nodo incluyen contexto adicional dentro de la data propiedad :

Propiedad Tipo Descripción
estado Estado (cadena) Si este evento se realizó correctamente
NombreDelCluster Cuerda Nombre del clúster en el que se encuentra este nodo. Los nombres no son únicos a lo largo del tiempo
nodeName Cuerda Nombre del nodo que se ve afectado. Los nombres no son únicos a lo largo del tiempo
nodeId Cuerda Identificador del nodo. Los identificadores de nodo son únicos. Cuando se elimina un nodo, el identificador no está disponible para su reutilización.
nodeArray Cuerda Nombre de nodearray a partir de la que se creó este nodo.
identificador de recurso Cuerda Recurso de Azure para la máquina virtual, si se ha creado uno.
ID de suscripción Cuerda Identificador de suscripción para los recursos de este nodo
región Cuerda Ubicación de este nodo
vmSku Cuerda SKU (es decir, tipo de máquina) para la máquina virtual
prioridad Cuerda El modelo de precios de máquina virtual en vigor (ya sea "normal" o "spot")
placementGroupId Cuerda El grupo de ubicación en el que se encuentra este nodo, si lo hay
retryCount Entero Cuántas veces se intentó esta acción específica anteriormente (consulte Recuento de reintentos)
temporización (Objeto) Un mapa de las fases de este evento y sus duraciones (consulta Tiempo)

Microsoft.CycleCloud.NodeAdded

Este evento se desencadena para cada nodo agregado a un clúster. Para recibir un único evento para varios nodos agregados simultáneamente, consulte ClusterSizeIncreased. Este evento se envía cuando el nodo aparece por primera vez en la interfaz de usuario, por lo que no tiene ninguna información de tiempo.

Microsoft.CycleCloud.NodeCreated

Este evento se desencadena cada vez que se inicia un nodo por primera vez (es decir, cuando se crea una máquina virtual para el nodo). Incluye los siguientes detalles de sincronización:

  • Create: tiempo total para crear el nodo. Esta vez incluye la creación de la máquina virtual y la configuración de la máquina virtual.
  • CreateVM: cuánto tiempo se tarda en crear la máquina virtual.
  • Configure: cuánto tiempo se tarda en instalar software y configurar el nodo.

Microsoft.CycleCloud.NodeDeallocated

Este evento se desencadena cada vez que se desasigna un nodo. Incluye los siguientes detalles de sincronización:

  • Deallocate: tiempo total para desasignar el nodo.
  • DeallocateVM: cuánto tiempo se tarda en desasignar la máquina virtual.

Microsoft.CycleCloud.NodeStarted

Este evento se desencadena cada vez que se reinicia un nodo desde un estado desasignado. Incluye los siguientes detalles de sincronización:

  • Start: el tiempo total necesario para reiniciar el nodo desasignado.
  • StartVM: cuánto tiempo se tarda en iniciar la máquina virtual desasignada.

Microsoft.CycleCloud.NodeTerminated

Este evento se desencadena cada vez que finaliza un nodo y se elimina su máquina virtual. Incluye los siguientes detalles de sincronización:

  • Terminate: tiempo total que tardó en finalizar el nodo.
  • DeleteVM: cuánto tiempo se tarda en eliminar la máquina virtual.

Asunto

Cada evento tiene un asunto que puede usar para filtrar en Event Grid. Los eventos de CycleCloud tienen temas en el siguiente patrón:

  • /sites/SITENAME: para eventos específicos de una instalación de CycleCloud determinada
  • /sites/SITENAME/clusters/CLUSTERNAME: para eventos de nivel de clúster
  • /sites/SITENAME/clusters/CLUSTERNAME/nodes/NODENAME: para eventos de nivel de nodo

Este patrón permite "definir el ámbito" de una suscripción de Event Grid a un prefijo específico para recopilar un subconjunto de eventos. Use este patrón con filtrado de tipo de evento.

Estado

  • Succeeded: la operación se realizó correctamente.
  • Failed: la operación no se realizó correctamente. A menudo hay un conjunto de reason y/o errorCode.
  • Canceled: se canceló la operación.

Motivo

Algunos eventos tienen una razón para iniciarse. A menos que se indique lo contrario, estos motivos se establecen en los ClusterSizeIncreased, NodeAdded, NodeCreated, NodeDeallocated, NodeStarted y NodeTerminated eventos.

  • Autoscaled: el nodo se modificó en respuesta a una solicitud de escalado automático realizada a través de la API.
  • UserInitiated: la operación se realizó directamente a través de la interfaz de usuario o la CLI.
  • System: CycleCloud inició la operación (por ejemplo, de forma predeterminada, los nodos de ejecución se quitan automáticamente del clúster cuando finalizan).
  • SpotEvicted: una expulsión de máquina virtual puntual desencadenó el evento (solo eventos NodeTerminated)
  • VMDisappeared: una desaparición de máquina virtual nonspot desencadenó el evento (solo eventos NodeTerminated)
  • AllocationFailed: la máquina virtual no se pudo asignar debido a restricciones de ubicación o capacidad (solo eventos NodeTerminated/NodeDeallocated, con el estado que indica el resultado de la operación de finalización o desasignación).

Nota:

reason se establece en eventos NodeTerminated para indicar por qué se finalizó el nodo. Cuando no se puede crear un nodo debido a la capacidad, se produce un error con el código de error específico de Azure (de los cuales hay varios). A continuación, el nodo finaliza automáticamente y el motivo de la terminación es AllocationFailed. Cuando se expulsa una máquina virtual 'spot' en ejecución, la operación de creación ya se realizó correctamente. A continuación, el nodo finaliza automáticamente y el motivo dado para el evento de terminación es SpotEvicted.

Sincronización

Algunos eventos contienen información de tiempo. La timing entrada de data es un objeto con claves correspondientes a las fases del evento y valores como segundos totales. Cada evento puede tener varias fases de tiempo asociadas. Por ejemplo, supongamos que se agrega un nodo a un clúster, se inicia y finaliza:

!Diagrama temporal de Event Grid

  • T1: el usuario agrega un nodo. Se envía un NodeAdded evento, sin especificar el momento.
  • T2: Se produce un error en la operación create-VM, por lo que NodeCreated se envía con el estado Error y la siguiente información de tiempo:
    • Create: T2-T1
    • CreateVM: T2-T1
  • T3: El usuario hace clic en Reintentar
  • T4: la operación Create-VM se realiza correctamente, por lo que el nodo comienza a instalar software.
  • T5. El software se instala correctamente, por lo que NodeCreated se envía con un estado de 'Correcto' y la siguiente información de temporización:
    • Create: (T5-T3)
    • CreateVM: (T4-T3)
    • Configure: (T5-T4)
  • T6: El usuario hace clic en Finalizar.
  • T7: La operación de eliminar VM se realiza exitosamente, por lo que NodeTerminated se envía con un estado de Exitoso y la siguiente información de tiempo:
    • Started: T6-T5
    • Terminate: T7-T6
    • DeleteVM: T7-T6

Sincronización de estado anterior

La primera vez que un nodo realiza la transición a un estado (ya sea correctamente o no), no tiene ningún estado anterior. Cuando el estado de destino cambia después de ese momento, el tiempo invertido en el estado anterior se incluye en el evento para el nuevo estado de destino. Este tiempo solo se incluye si el nodo alcanzó el estado anterior correctamente. Estas entradas de tiempo miden el período de tiempo de los estados siguientes:

  • Started: antes de este evento, el nodo se estaba ejecutando (es decir, verde)
  • Deallocated: antes de este evento, el nodo se desasignó.
  • Terminated: antes de este evento, el nodo estaba desactivado.

Puede usar este tiempo para realizar un seguimiento de cuánto tiempo se estaba ejecutando una máquina virtual puntual antes de ser expulsada.

Recuento de reintentos

En CycleCloud, puede volver a intentar algunas operaciones si se produce un error. Estas operaciones se reflejan en los eventos NodeCreated, NodeDeallocated, NodeStarted y NodeTerminated. Estos eventos contienen una propiedad opcional retryCount en la propiedad del data evento que indica cuántas veces se intentó la operación antes de este evento. Esta propiedad se incluye en los reintentos posteriores, independientemente de si esos intentos se realizaron correctamente o no.