Compartilhar via


Eventos

O CycleCloud 8.0 gera eventos quando determinadas alterações ocorrem (por exemplo, quando um nó é criado ou um cluster é excluído). Alguns eventos são instantâneos (por exemplo, excluir um cluster) e alguns eventos representam transições (por exemplo, criar um nó que implica a criação de uma VM). Nesses casos, o evento é enviado no final da transição, seja bem-sucedido ou não.

O CycleCloud pode ser configurado para publicar em um tópico da Grade de Eventos conectando-o na página Configurações do CycleCloud no CycleCloud. As assinaturas de evento da Grade de Eventos podem ser anexadas ao tópico para rotear os eventos para um destino, como uma Fila de Armazenamento, em que um programa pode consumir eventos e processá-los.

Objetos de evento

Os eventos estão no esquema padrão da Grade de Eventos. Todos os elementos específicos do CycleCloud estão na data propriedade no evento.

Nome Tipo Descrição
Eventid Cadeia de caracteres Identifica exclusivamente o evento
eventTime Cadeia de caracteres A hora desse evento (yyy-MM-ddTHH:mm:ss. SSSZZ)
eventType Cadeia de caracteres O tipo de transição de estado que aconteceu (por exemplo, Microsoft.CycleCloud.NodeCreated)
subject Cadeia de caracteres O recurso afetado (consulte Assunto do evento)
dataVersion Cadeia de caracteres O esquema em uso para data (atualmente "1")

Além disso, há várias propriedades personalizadas em data para quase todos os eventos:

Propriedade Tipo Descrição
status Status (cadeia de caracteres) Se essa transição foi bem-sucedida ou não
reason Motivo (String) Por que esse evento foi iniciado
message String Um resumo legível por humanos deste evento
errorCode Cadeia de caracteres O código dessa operação se ele falhou ou não estava disponível. Observe que isso pode vir diretamente de chamadas do Azure e pode não estar presente para todas as falhas

Eventos do cluster

O CycleCloud envia eventos quando os clusters são modificados. Os eventos de cluster contêm as seguintes propriedades comuns em data:

Propriedade Tipo Descrição
clusterName Cadeia de caracteres O nome do cluster

Microsoft.CycleCloud.ClusterStarted

Esse evento é acionado quando um cluster é iniciado.

Microsoft.CycleCloud.ClusterTerminated

Esse evento é acionado quando um cluster é encerrado.

Microsoft.CycleCloud.ClusterDeleted

Esse evento é acionado quando um cluster é excluído.

Microsoft.CycleCloud.ClusterSizeIncreased

Esse evento é acionado quando nós são adicionados ao cluster. Há um evento para cada conjunto de nós adicionados. (Nós em um conjunto têm a mesma definição.)

Propriedade Tipo Descrição
nodesRequested Integer Quantos nós foram solicitados para esse conjunto
nós Adicionados Integer Quantos nós foram realmente adicionados ao cluster
nodeArray Cadeia de caracteres A nodearray com a qual esses nós foram criados
subscriptionId Cadeia de caracteres A ID da assinatura para os recursos deste nó
region String O local deste nó
vmSku Cadeia de caracteres O SKU (ou seja, tipo de computador) para a VM
priority Cadeia de caracteres O modelo de preços da VM em vigor (regular" ou "spot")
placementGroupId Cadeia de caracteres O grupo de posicionamento em que esses nós estão, se houver

Eventos de nó

O CycleCloud envia eventos quando os nós alteram o estado. Os eventos de nó contêm informações adicionais na data propriedade :

Propriedade Tipo Descrição
status Status (cadeia de caracteres) Se esse evento foi bem-sucedido ou não
clusterName Cadeia de caracteres O nome do cluster em que este nó está. Os nomes não são exclusivos ao longo do tempo
nodeName Cadeia de caracteres O nome do nó afetado. Os nomes não são exclusivos ao longo do tempo
nodeId Cadeia de caracteres A ID deste nó. As IDs de nó são exclusivas ao longo do tempo e, depois que um nó for excluído, a ID não será reutilizado
nodeArray Cadeia de caracteres O nome da nodearray do qual este nó foi criado
resourceId String O recurso do Azure para a VM, se houver um criado
subscriptionId Cadeia de caracteres A ID da assinatura para os recursos deste nó
region String O local deste nó
vmSku Cadeia de caracteres O SKU (ou seja, Tipo de Computador) para a VM
priority Cadeia de caracteres O modelo de preços da VM em vigor (regular" ou "spot")
placementGroupId Cadeia de caracteres O grupo de posicionamento em que esse nó está, se houver
retryCount Integer Quantas vezes essa ação específica foi tentada anteriormente (consulte Contagem de repetição)
timing (Objeto) Um mapa de estágios nesse evento e suas durações (consulte Timing)

Microsoft.CycleCloud.NodeAdded

Esse evento é acionado para cada nó adicionado a um cluster. (Para obter um evento para um conjunto de nós adicionados ao mesmo tempo, consulte ClusterSizeIncreased.) Isso é enviado quando o nó aparece pela primeira vez na interface do usuário, portanto, ele não tem nenhuma informação de tempo.

Microsoft.CycleCloud.NodeCreated

Esse evento é acionado sempre que um nó é iniciado pela primeira vez (ou seja, uma VM é criada para ele). Esse evento contém as seguintes informações de tempo:

  • Create: o tempo total para criar o nó. Isso inclui a criação da VM e a configuração da VM.
  • CreateVM: quanto tempo levou para criar a VM.
  • Configure: quanto tempo levou para instalar o software e configurar o nó.

Microsoft.CycleCloud.NodeDeallocated

Esse evento é acionado sempre que um nó é desalocado. Esse evento contém as seguintes informações de tempo:

  • Deallocate: o tempo total para desalocar o nó.
  • DeallocateVM: quanto tempo levou para desalocar a VM.

Microsoft.CycleCloud.NodeStarted

Esse evento é acionado sempre que um nó é reiniciado de um estado desalocado. Esse evento contém as seguintes informações de tempo:

  • Start: o tempo total necessário para reiniciar o nó desalocado.
  • StartVM: quanto tempo levou para iniciar a VM desalocada.

Microsoft.CycleCloud.NodeTerminated

Esse evento é acionado sempre que um nó é encerrado e sua VM é excluída. Esse evento contém as seguintes informações de tempo:

  • Terminate: o tempo total necessário para encerrar o nó.
  • DeleteVM: quanto tempo levou para excluir a VM.

Assunto

Cada evento tem um "assunto" que pode ser usado para filtragem na Grade de Eventos. Os eventos no CycleCloud têm assuntos no seguinte padrão:

  • /sites/SITENAME: para eventos específicos de uma determinada instalação do CycleCloud
  • /sites/SITENAME/clusters/CLUSTERNAME: para eventos de nível de cluster
  • /sites/SITENAME/clusters/CLUSTERNAME/nodes/NODENAME: para eventos no nível do nó

Isso permite "escopo" de uma assinatura da Grade de Eventos para um prefixo específico para coletar um subconjunto de eventos. Isso pode ser usado em conjunto com a filtragem de Tipo de Evento.

Status

  • Succeeded: a operação foi bem-sucedida.
  • Failed: a operação não foi bem-sucedida. Geralmente há um reason e/ou errorCode um conjunto.
  • Canceled: a operação foi cancelada.

Motivo

Alguns eventos têm uma razão para terem sido iniciados. A menos que indicado de outra forma, eles são definidos nos ClusterSizeIncreasedeventos , NodeAdded, NodeCreated, NodeDeallocated, NodeStartede NodeTerminated .

  • Autoscaled: o nó foi modificado em resposta a uma solicitação de dimensionamento automático feita por meio da API
  • UserInitiated: a operação foi feita diretamente por meio da interface do usuário ou da CLI
  • System: a operação foi iniciada pelo CycleCloud (por exemplo, por padrão, os nós de execução são removidos automaticamente do cluster quando encerrados)
  • SpotEvicted: o evento foi disparado porque uma VM spot foi removida (somente eventos NodeTerminated)
  • VMDisappeared: o evento foi disparado porque uma VM não spot desapareceu (somente eventos NodeTerminated)
  • AllocationFailed: a VM não pôde ser alocada devido a restrições de posicionamento ou capacidade (somente eventos NodeTerminated/NodeDeallocated, com o status indicando o resultado da operação de encerramento/desalocação)

Observação

O reason é definido em eventos NodeTerminated para indicar por que o nó foi encerrado. Quando um nó falha ao ser criado devido à capacidade, ele falha com o código de erro específico do Azure (do qual há vários). Em seguida, o nó é encerrado automaticamente e o motivo da terminação é AllocationFailed. Quando uma VM local em execução é removida, a operação de criação já tinha sido bem-sucedida. Em seguida, o nó é encerrado automaticamente e o motivo dado para o evento de encerramento é SpotEvicted.

Timing

Alguns eventos contêm informações de tempo. A timing entrada em data é um objeto com chaves correspondentes a estágios do evento e valores como segundos totais. Cada evento pode ter vários estágios de tempo associados a ele. Por exemplo, suponha que um nó seja adicionado a um cluster, iniciado e encerrado:

! Diagrama de Tempo da Grade de Eventos

  • T1: o usuário adiciona um nó. Um NodeAdded evento é enviado, sem tempo.
  • T2: a operação create-VM falha, portantoNodeCreated, é enviada com uma status de Falha e as seguintes informações de tempo:
    • Create: T2-T1
    • CreateVM: T2-T1
  • T3: O usuário clica em Tentar novamente
  • T4: a operação Create-VM é bem-sucedida, portanto, o nó começa a instalar o software.
  • T5. O software é instalado com êxito, portantoNodeCreated, é enviado com um status de Êxito e as seguintes informações de tempo:
    • Create: (T5-T3)
    • CreateVM: (T4-T3)
    • Configure: (T5-T4)
  • T6: o usuário clica em Encerrar.
  • T7: a operação delete-VM é bem-sucedida, portanto NodeTerminated , é enviada com um estado de Êxito e as seguintes informações de tempo:
    • Started: T6-T5
    • Terminate: T7-T6
    • DeleteVM: T7-T6

Tempo de estado anterior

Na primeira vez que um nó faz a transição para um estado (com êxito ou não), ele não tem nenhum estado anterior. Quando o estado de destino é alterado após esse ponto, o tempo gasto no estado anterior é incluído no evento para o novo estado de destino. Observe que isso só será incluído se ele atingiu o estado anterior com êxito. Portanto, essas entradas de tempo medem o período de tempo para o seguinte:

  • Started: antes desse evento, o nó estava em execução (ou seja, verde)
  • Deallocated: antes desse evento, o nó havia sido desalocado
  • Terminated: antes desse evento, o nó estava desativado

Isso pode ser usado, por exemplo, para rastrear quanto tempo uma VM spot estava em execução antes de ser removida.

Contagem de Repetição

Algumas operações podem ser repetidas no CycleCloud se falharem. Essas operações são refletidas nos NodeCreatedeventos , NodeDeallocated, NodeStartede NodeTerminated . Esses eventos contêm uma propriedade opcional retryCount na propriedade do data evento que indica quantas vezes antes disso a operação foi tentada. Essa propriedade é incluída em novas tentativas subsequentes, se essas tentativas foram bem-sucedidas ou falharam.