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á umreason
e/ouerrorCode
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 ClusterSizeIncreased
eventos , 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
: 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, portanto
NodeCreated
, é 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, portanto
NodeCreated
, é 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 NodeCreated
eventos , NodeDeallocated
, NodeStarted
e 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.