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 na criação de uma VM). Nesses casos, o evento é enviado ao final da transição, quer ela tenha sido bem-sucedida ou não.

Você pode configurar o CycleCloud para publicar em um tópico da Grade de Eventos conectando-o na página Configurações do CycleCloud . Para rotear os eventos para um destino, como uma Fila de Armazenamento, anexe assinaturas de eventos da Grade de Eventos ao tópico. Um programa pode consumir eventos e processá-los.

Objetos de evento

Os eventos seguem o esquema padrão da Grade de Eventos, com todos os detalhes específicos do CycleCloud contidos na data propriedade.

Nome Tipo Descrição
eventId fio Identifica exclusivamente o evento
hora do evento fio A hora deste evento (yyyy-MM-ddTHH:mm:ss.SSSZZ)
tipo de evento fio O tipo de transição de estado que aconteceu (por exemplo, Microsoft.CycleCloud.NodeCreated)
assunto fio O recurso afetado (consulte Assunto do Evento)
versão de dados fio 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
estado Status (cadeia de caracteres) Se essa transição foi bem-sucedida ou não
razão Motivo (cadeia de caracteres) Por que esse evento foi iniciado
mensagem fio Um resumo legível por humanos deste evento
código de erro fio O código da operação se ela falhou ou esteve indisponível. Observe que esse código 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
nome do cluster fio O nome do cluster

Microsoft.CycleCloud.ClusterStarted

Este 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 elementos são adicionados ao cluster. Há um evento para cada conjunto de nós adicionados. Todos os nós de um conjunto têm a mesma definição.

Propriedade Tipo Descrição
nodesRequested Número Inteiro Quantos nós foram solicitados para este conjunto
nós Adicionados Número Inteiro Quantos nós foram adicionados ao cluster
nodeArray fio A nodearray da qual esses nós foram criados
ID de assinatura fio O ID de assinatura para os recursos deste nó
região fio A localização deste nó
vmSku fio O SKU (ou seja, tipo de computador) para a VM
prioridade fio O modelo de preços da VM em vigor ("regular" ou "spot")
placementGroupId fio O grupo de colocação no qual esses nós estão, se houver

Eventos de nó

O CycleCloud envia eventos sempre que os nós fazem a transição entre estados. Esses eventos de nó incluem um contexto adicional dentro da propriedade data:

Propriedade Tipo Descrição
estado Status (cadeia de caracteres) Se este evento foi bem-sucedido
nome do cluster fio O nome do cluster no qual este nó está. Os nomes não são exclusivos ao longo do tempo
nome do nó fio O nome do nó afetado. Os nomes não são exclusivos ao longo do tempo
nodeId fio A ID do nó. As IDs de nós são exclusivas. Quando um nó é excluído, o ID não fica disponível para reutilização.
nodeArray fio O nome do nodearray do qual este nó foi criado
ID do recurso fio O recurso do Azure para a VM, se houver um criado
ID de assinatura fio O ID de assinatura para os recursos deste nó
região fio A localização deste nó
vmSku fio O SKU (ou seja, tipo de computador) para a VM
prioridade fio O modelo de preços da VM em vigor ("regular" ou "spot")
placementGroupId fio O grupo de colocação no qual este nó está, se houver
retryCount Número Inteiro Quantas vezes essa ação específica foi tentada anteriormente (consulte Contagem de Repetições)
timing (Objeto) Um mapa de estágios neste evento e suas durações (consulte Timing)

Microsoft.CycleCloud.NodeAdded

Esse evento é disparado para cada nó adicionado a um cluster. Para receber um único evento para vários nós adicionados simultaneamente, consulte ClusterSizeIncreased. Esse evento é 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 é disparado sempre que um nó é iniciado pela primeira vez (ou seja, quando uma VM é criada para o nó). Ele inclui os seguintes detalhes sobre horários:

  • Create: o tempo total para criar o nó. Desta vez, inclui a criação da VM e a configuração da VM.
  • CreateVM: quanto tempo levou para criar a VM.
  • Configure: o tempo que foi necessário para instalar o software e configurar o nó.

Microsoft.CycleCloud.NodeDeallocated

Esse evento é disparado sempre que um nó é desalocado. Ele inclui os seguintes detalhes sobre horários:

  • Deallocate: o tempo total para desalocar o nó.
  • DeallocateVM: o tempo que foi necessário para desalocar a VM.

Microsoft.CycleCloud.NodeStarted

Esse evento é acionado sempre que um nó é reiniciado a partir de um estado desalocado. Ele inclui os seguintes detalhes sobre horários:

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

Microsoft.CycleCloud.NodeTerminated

Este evento é acionado sempre que um nó é encerrado e a respectiva VM é excluída. Ele inclui os seguintes detalhes sobre horários:

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

Assunto

Cada evento tem um assunto que você pode usar 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 no nível do cluster
  • /sites/SITENAME/clusters/CLUSTERNAME/nodes/NODENAME: para eventos de nível de nó

Esse padrão permite que você delimite uma assinatura do Event Grid a um prefixo específico para coletar um subconjunto de eventos. Use esse padrão com filtragem de tipo de evento.

Situação

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

Motivo

Alguns eventos têm um motivo para serem iniciados. A menos que indicado de outra forma, esses motivos são definidos nos eventos ClusterSizeIncreased, NodeAdded, NodeCreated, NodeDeallocated, NodeStarted e 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: o CycleCloud iniciou a operação (por exemplo, por padrão, os nós de execução são removidos automaticamente do cluster quando encerrados)
  • SpotEvicted: uma remoção de VM spot disparou o evento (somente eventos NodeTerminated)
  • VMDisappeared: o desaparecimento de uma VM não spot disparou o evento (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ó não é criado devido à capacidade, ele falha com o código de erro específico do Azure (dos quais há vários). O nó é encerrado automaticamente e o motivo do encerramento é AllocationFailed. Quando uma VM spot em execução é removida, a operação de criação já foi bem-sucedida. O nó é encerrado automaticamente e o motivo fornecido para o evento de encerramento é SpotEvicted.

Cronometragem

Alguns eventos contêm informações de tempo. A entrada timing em data é um objeto com chaves correspondentes a estágios do evento e valores que representam 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 especificação de tempo.
  • T2: A operação de criação de VM falha, então NodeCreated é enviada com um status de falha e as seguintes informações de tempo:
    • Create: T2-T1
    • CreateVM: T2-T1
  • T3: O usuário clica em Repetir
  • T4: a operação de Criação de VM é bem-sucedida, portanto, o nó começa a instalar o software.
  • T5. O software é instalado com êxito, portanto NodeCreated é enviado com um status de êxito e as seguintes informações de cronograma:
    • 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 temporização:
    • 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. Esse tempo é incluído somente se o nó tiver atingido o estado anterior com êxito. Essas entradas de tempo medem a duração dos seguintes estados:

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

Você pode usar esse tempo para acompanhar por quanto tempo uma VM spot estava em execução antes de ser removida.

Contagem de repetições

No CycleCloud, você poderá repetir algumas operações se elas falharem. Essas operações são refletidas nos eventos NodeCreated, NodeDeallocated, NodeStarted e NodeTerminated. Esses eventos contêm uma propriedade opcional retryCount na propriedade do data evento que indica quantas vezes a operação foi tentada antes desse evento. Essa propriedade é incluída em tentativas seguintes, independentemente de essas tentativas terem sido bem-sucedidas ou falhado.