Todos os produtos
Search
Central de documentação

Elastic Compute Service:Subscribe to Cloud Assistant events

Última atualização: Aug 25, 2026

Inscreva-se em eventos do Cloud Assistant para criar fluxos de trabalho automatizados de resposta a operações e manutenção. Por exemplo, você pode receber alertas imediatos quando tarefas automatizadas — como instalação de software ou execução de scripts de inspeção — falham. Isso elimina a necessidade de polling manual, que gera custos elevados e alta latência.

Procedimento

O procedimento a seguir usa a inscrição em eventos de status de tarefa do Cloud Assistant como exemplo. Para mais informações, consulte Descrições de eventos do Cloud Assistant.

Usar o EventBridge

Antes de começar, verifique se você ativou o EventBridge e concedeu as permissões necessárias.

  1. Faça login no console do EventBridge. No painel de navegação à esquerda, clique em Event Buses.

  2. Na barra de menu superior, selecione uma região.

  3. Na página Event Buses, clique em default.

  4. Na página Event Bus, clique em Event Rule na barra de navegação à esquerda e clique em Create Rule.

  5. Na aba Configure Basic Info, insira um nome para a regra no campo Name e uma descrição no campo Description. Em seguida, clique em Next.

  6. Na aba Configure Event Pattern, conclua as configurações abaixo e clique em Next.

    1. Na lista suspensa Event Source, selecione acs.ecs.

    2. Na lista suspensa Event Type, selecione o tipo de evento do Cloud Assistant desejado.

      A task is completed in Cloud Assistant.: ecs:CloudAssistant:TaskCompleted.

    3. Na seção Event Pattern Debugging, visualize uma amostra do tipo de evento inscrito.

      {
          "id": "45ef4dewdwe1-7c35-447a-bd93-fab****",
          "source": "acs.ecs",
          "specversion": "1.0",
          "subject": "acs.ecs:cn-hangzhou:123456789098****:215672",
          "time": "2020-11-19T21:04:41+08:00",
          "type": "ecs:CloudAssistant:TaskCompleted",
          "aliyunaccountid": "123456789098****",
          "aliyunpublishtime": "2020-11-19T21:04:42Z",
          "aliyuneventbusname": "default",
          "aliyunregionid": "cn-hangzhou",
          "aliyunpublishaddr": "172.25.XX.XX",
          "data": {
              "commandId": "c-hz045**********",
              "commandName": "hello-linux.sh",
              "exitCode": "0",
              "finishTime": "2023-12-14T07:39:48Z",
              "instanceId": "i-bp114***************",
              "invocationStatus": "Success",
              "invokeId": "t-hz045**********",
              "ownerId": "158*************",
              "playerUid": "256***************",
              "repeatMode": "Once",
              "repeats": "1",
              "startTime": "2023-12-14T07:39:48Z",
              "errorCode": "0",
              "errorDesc": ""
          }
      }
    4. Abaixo da amostra, clique em Test para simular um evento. Se a mensagem Match Succeeded. The event can be triggered as expected for exibida, o evento poderá ser acionado.

  7. Configure um destino de evento. Selecione um Service Type e configure os cenários de envio.

    Para mais informações sobre cenários de envio, consulte Set push scenarios.

Usar o CloudMonitor

  1. Faça login no console do Cloud Monitor.

  2. No painel de navegação à esquerda, escolha Event Center > Event Subscription.

  3. Na aba Subscription Policy, clique em Create Subscription Policy.

  4. Na página Create Subscription Policy, configure os parâmetros para inscrever-se nos eventos do Cloud Assistant.

    Este exemplo mostra apenas os parâmetros relacionados aos eventos do Cloud Assistant. Para mais informações, consulte Subscription policy parameters .
    • Subscription Type: Selecione System Events.

    • Subscription Scope:

      • Service: Selecione ECS.

      • Event Type: Selecione Notifications.

      • Event Name: Selecione CloudAssistant:TaskCompleted.

  5. Clique em Submit.

    Quando um evento relevante for acionado, você receberá uma notificação. Também é possível chamar a operação DescribeSystemEventAttribute para consultar os detalhes dos eventos do sistema.

Descrições de eventos do Cloud Assistant

Eventos de status de tarefa do Cloud Assistant

Descrição do evento

Comandos e scripts levam tempo para serem executados. Os eventos de status de tarefa do Cloud Assistant ajudam a acompanhar a conclusão das tarefas. Use esses eventos para as seguintes finalidades:

  • Receber notificações quando tarefas do Cloud Assistant falharem ou forem concluídas. Use essas notificações para alertas ou operações subsequentes.

  • Evitar o consumo da cota de chamadas de API causada pelo polling. A inscrição em eventos é a alternativa recomendada.

  • Prevenir interrupções decorrentes de lançamentos de aplicações, comuns durante processos longos de polling. O uso de eventos simplifica o fluxo de trabalho.

Condições de acionamento e limites

Condições de acionamento: Ao chamar a operação RunCommand ou InvokeCommand para executar uma tarefa, o Cloud Assistant monitora o status da tarefa e envia um evento de status quando ela é concluída.

Limites:

  • Um evento de status de tarefa do Cloud Assistant é enviado somente quando uma tarefa em uma instância ECS atinge um dos seguintes estados finais (InvocationStatus):

    • Aborted: Falha no envio da tarefa.

    • Success: Tarefa concluída com êxito.

    • Failed: A tarefa falhou.

    • Invalid: Conteúdo da tarefa inválido.

    • Timeout: Tempo limite da tarefa excedido.

    • Cancelled: Tarefa cancelada.

    • Terminated: Tarefa encerrada.

  • As operações DescribeInvocations e DescribeInvocationResults retornam dados no formato array<object>. No entanto, um evento de status de tarefa relata o status de uma única tarefa em uma única instância, e não de múltiplas tarefas.

Campos do evento

Campo

Descrição

Exemplo

instanceId

ID da instância.

i-bp114*

invokeId

ID de execução do comando.

t-hz045

commandId

ID do comando.

c-hz045

commandName

Nome do comando.

ACS-ECS-ResetPassword-for-linux.sh

ownerUid

Conta proprietária da instância onde o comando é executado.

158***

playerUid

ID da conta que assume uma função para executar o comando.

256*

repeatMode

Modo de execução do comando. Este parâmetro é ignorado se InstanceId também for especificado. Valores válidos:

  • Once: Executa o comando imediatamente.

  • Period: Executa o comando conforme agendamento.

  • NextRebootOnly: Executa o comando na próxima inicialização da instância.

  • EveryReboot: Executa o comando sempre que a instância for iniciada.

Once

repeats

Número de vezes que o comando foi executado na instância.

  • Se o método de execução for imediato, o valor é 0 ou 1.

    • 0: Falha no envio do comando e o script não foi iniciado.

    • 1: Comando enviado com sucesso. Esta é a primeira execução do comando na instância.

  • Se repeatMode for Period, o valor corresponde ao número de execuções do comando.

0

invocationStatus

Status de execução do comando.

  • Invalid: Tipo de comando ou parâmetro inválido.

  • Aborted: Falha ao enviar o comando para a instância. A instância deve estar no estado Running e o comando deve ser enviado dentro de 1 minuto.

  • Success:

    • Comando de execução única: Comando concluído com código de saída 0.

    • Comando agendado: Execução anterior bem-sucedida com código de saída 0 e tempo de execução especificado encerrado.

  • Failed:

    • Comando de execução única: Comando concluído, mas com código de saída diferente de 0.

    • Comando agendado: Execução anterior concluída com código de saída diferente de zero; o agendamento de execução especificado será abortado.

  • Timeout: Tempo limite de execução do comando excedido.

  • Cancelled: Execução do comando cancelada antes do início.

  • Terminated: Comando encerrado durante a execução.

Success

exitCode

Código de saída do processo do comando.

0

startTime

Hora de início da tarefa.

2023-12-20T06:15:55Z

finishTime

Hora de término da tarefa.

2023-12-20T06:15:59Z

errorCode

Código de erro retornado se houver falha no envio ou na execução do comando.

0

errorDesc

Detalhes da falha no envio ou na execução do comando.

-

Eventos de primeiro heartbeat do Cloud Assistant

Descrição do evento

Os heartbeats do Cloud Assistant são uma forma de determinar o status do sistema operacional de uma instância. O primeiro heartbeat indica quando o sistema operacional foi iniciado. Essa informação permite verificar a integridade da instância ou decidir quando enviar comandos do Cloud Assistant.

Utilizar eventos de primeiro heartbeat em vez de fazer polling na operação DescribeCloudAssistantStatus resolve os seguintes problemas:

  • Fazer polling em DescribeCloudAssistantStatus para verificar se o status mudou para verdadeiro é complexo. Um intervalo de polling inadequado pode gerar excesso de requisições, causando limitação de taxa (throttling) ou sobrecarga no sistema.

  • O tempo de inicialização do sistema operacional de uma instância varia bastante. Algumas instâncias Windows podem levar até 5 minutos para iniciar, dificultando o controle da duração total do polling.

  • O status retornado por DescribeCloudAssistantStatus pode apresentar atraso. Existe uma defasagem de 2 minutos entre a parada do heartbeat e a alteração do status, o que dificulta a detecção de reinicializações de instância por DescribeCloudAssistantStatus.

Condições de acionamento e limites

Condições de acionamento: Quando o Cloud Assistant reporta um heartbeat, ele envia um evento de primeiro heartbeat se detectar que este é o primeiro heartbeat após a inicialização do cliente do Cloud Assistant.

Limites de versão do Cloud Assistant:

  • Instâncias Windows: A versão do Cloud Assistant Agent deve ser posterior a 1.0.0.149.

  • Instâncias Linux: A versão do Cloud Assistant Agent deve ser posterior a 1.0.2.569.

Versões mais antigas do Cloud Assistant não reportam heartbeats a cada minuto ou não reportam o campo index. Consequentemente, não conseguem identificar com precisão o primeiro heartbeat após a inicialização. Essas versões antigas não são suportadas.

Campos do evento

Campo

Descrição

Exemplo

bizEventId

ID do evento.

ea33c3e2-aaf0-**-**-5d49b1ecce99

vmName

ID da instância associada ao evento.

i-bp19

extensions

Informações sobre expansão de negócios.

-

azone

Zona.

cn-shenzhen-e

region

Região.

cn-shenzhen

agentVersion

Versão do Cloud Assistant Agent.

2.2.3.529

uptime

Tempo de atividade do sistema operacional, em milissegundos.

19000

Eventos de resultado de entrega de saída de execução de tarefa do Cloud Assistant

Descrição do evento

  • Ao executar um comando, no máximo 24 KB da saída do comando são retidos. Qualquer saída que exceda esse limite será truncada.

  • Para obter a saída completa ou persisti-la, configure a entrega da saída em um caminho do Object Storage Service (OSS) quando a execução do comando atingir um estado final.

  • Use este evento para as seguintes finalidades:

    • Receber notificações e detalhes sobre a entrega da saída. Ao receber uma notificação de sucesso, baixe o arquivo de saída do bucket OSS correspondente. Isso evita o polling na operação DescribeInvocations para obter resultados e aumenta a eficiência.

    • Obter o motivo detalhado da falha diretamente do evento quando a entrega não for bem-sucedida.

Condições de acionamento e limites

Condições de acionamento: Ao usar RunCommand ou InvokeCommand para executar uma tarefa e especificar um parâmetro OssOutputDelivery válido, este evento é enviado quando a tarefa atinge um estado final.

Limites:

  • Um evento é enviado somente quando uma tarefa em uma instância atinge um dos seguintes estados finais (InvocationStatus):

    • Aborted: Falha no envio da tarefa.

    • Success: Tarefa concluída com êxito.

    • Failed: A tarefa falhou.

    • Invalid: Conteúdo da tarefa inválido.

    • Timeout: Tempo limite da tarefa excedido.

    • Cancelled: Tarefa cancelada.

    • Terminated: Tarefa encerrada.

Limites de versão do Cloud Assistant:

  • Instâncias Windows: A versão do Cloud Assistant Agent deve ser posterior a 2.1.4.1007.

  • Instâncias Linux: A versão do Cloud Assistant Agent deve ser posterior a 2.2.4.1007.

Campos do evento

Campo

Descrição

instanceId

ID da instância.

invokeId

ID de execução do comando.

ownerUid

Conta proprietária da instância onde o comando é executado.

playerUid

ID da conta que assume uma função para executar o comando.

repeatMode

Modo de execução do comando. Valores válidos:

  • Once: Executa o comando imediatamente.

  • Period: Executa o comando conforme agendamento.

  • NextRebootOnly: Executa o comando na próxima inicialização da instância.

  • EveryReboot: Executa o comando sempre que a instância for iniciada.

repeats

Número de vezes que o comando foi executado na instância.

  • Se o modo de execução for imediato, o valor é 0 ou 1.

    • 0: Falha no envio do comando e o script não foi iniciado.

    • 1: Comando enviado com sucesso. Esta é a primeira execução do comando na instância.

  • Se repeatMode for Period, o valor corresponde ao número de execuções do comando.

ossOutputDelivery

Configuração do OSS para entrega da saída do comando.

ossOutputUri

URI do arquivo OSS para o qual a saída do comando é entregue.

status

Status da entrega.

  • InProgress: Entrega em andamento.

  • Finished: Entrega concluída.

  • Failed: Falha na entrega.

statusCode

Código de status da entrega. Este parâmetro é retornado apenas quando o status é Failed.

errorCode

Código de erro da falha na entrega. Este parâmetro é retornado apenas quando o status é Failed. Valores possíveis:

  • UnsupportedInvocationStatus: Falha no envio ou na validação do comando.

  • ClientNeedUpgrade: A versão do Cloud Assistant Agent não suporta o recurso de entrega.

  • Falha na entrega para OSS. Para mais informações, consulte PutObject.

  • O código de erro da biblioteca de rede correspondente é retornado se a rede estiver desconectada.

errorInfo

Detalhes do erro da falha na entrega. Este parâmetro é retornado apenas quando o status é Failed.

Eventos de notificação de falha na atualização do Cloud Assistant Agent

Descrição do evento

  • Por padrão, o Cloud Assistant Agent verifica automaticamente atualizações de versão a cada 30 minutos.

  • Inscreva-se em eventos de notificação de falha na atualização para conhecer prontamente os motivos e soluções das falhas, simplificando a solução de problemas.

Descrições dos campos do evento

Campo

Descrição

Exemplo

instanceId

ID da instância.

i-bp114*

currentVersion

Versão atual do Cloud Assistant Agent.

2.2.3.529

expectedVersion

Versão alvo da atualização do Cloud Assistant Agent.

2.2.4.1007

errorCode

Código de erro da falha na atualização. Para mais informações sobre os códigos de erro, consulte Descrições dos códigos de erro abaixo.

AgentUpdateFailure:DownloadPackageFailed:NetworkTimeout

errorInfo

Motivo da falha na atualização.

A rede de service da Alibaba Cloud está bloqueada.

occurrenceTime

Hora em que a atualização falhou.

2026-02-28T03:30:00Z

Descrições dos códigos de erro

Os códigos de erro possuem o prefixo AgentUpdateFailure:. A tabela a seguir descreve os códigos de erro.

Motivo da falha

Descrição do erro

errorCode

Falha no download

Acesso negado.

DownloadPackageFailed:AccessDenied

Tempo limite de rede excedido.

DownloadPackageFailed:NetworkTimeout

Espaço em disco insuficiente.

DownloadPackageFailed:NoEnoughSpace

Fim inesperado de arquivo (dados incompletos ou conexão encerrada prematuramente).

DownloadPackageFailed:UnexpectedEOF

Falha na validação MD5

Falha na validação MD5.

CheckMD5Failed

Falha na extração do pacote

Falha na extração do pacote.

ExtractPackageFailed

Falha na validação do arquivo executável

Falha na validação do arquivo executável.

ValidateExecutableFailed

Tempo limite na execução do script de atualização excedido

Arquivo de script não existe.

ExecuteUpdateScriptRunnerTimeout:FileNotExist

Processo encerrado por sinal (como SIGKILL ou SIGTERM).

ExecuteUpdateScriptRunnerTimeout:ExitedBySignal

Processo eliminado (killed).

ExecuteUpdateScriptRunnerTimeout:Killed

Status de saída anormal do processo (código de saída inesperado).

ExecuteUpdateScriptRunnerTimeout:UnexpectedExitStatus

Falha na execução do script de atualização

Arquivo de script não existe.

ExecuteUpdateScriptRunnerFailed:FileNotExist

Processo encerrado por sinal (como SIGKILL ou SIGTERM).

ExecuteUpdateScriptRunnerFailed:ExitedBySignal

Processo eliminado (killed).

ExecuteUpdateScriptRunnerFailed:Killed

Status de saída anormal do processo (código de saída inesperado).

ExecuteUpdateScriptRunnerFailed:UnexpectedExitStatus

Amostra JSON do evento

{
    "id": "a1b2c3d4-e5f6-7890-abcd-ef1234****",
    "source": "acs.ecs",
    "specversion": "1.0",
    "subject": "acs.ecs:cn-hangzhou:123456789098****:215672",
    "time": "2026-02-28T03:30:00+08:00",
    "type": "ecs:CloudAssistant:UpdateFailed",
    "aliyunaccountid": "123456789098****",
    "aliyunpublishtime": "2026-02-28T03:30:01Z",
    "aliyuneventbusname": "default",
    "aliyunregionid": "cn-hangzhou",
    "aliyunpublishaddr": "172.25.XX.XX",
    "data": {
        "instanceId": "i-bp114***************",
        "currentVersion": "2.2.3.529",
        "expectedVersion": "2.2.4.1007",
        "errorCode": "AgentUpdateFailure:DownloadPackageFailed:NetworkTimeout",
        "errorInfo": "The aliyun service network is blocked.",
        "occurrenceTime": "2026-02-28T03:30:00Z"
    }
}

Eventos de notificação de sucesso na atualização do Cloud Assistant Agent

Descrição do evento

  • Por padrão, o Cloud Assistant Agent verifica automaticamente atualizações de versão a cada 30 minutos.

  • Inscreva-se em eventos de notificação de sucesso na atualização para manter-se informado sobre o status da atualização, simplificando a solução de problemas.

Descrições dos campos do evento

Campo

Descrição

Exemplo

instanceId

ID da instância.

i-bp114*

currentVersion

Versão atual do Cloud Assistant Agent.

2.2.4.1007

occurrenceTime

Hora em que a atualização foi concluída com sucesso.

2026-02-28T03:30:00Z

Amostra JSON do evento

{
    "id": "f1e2d3c4-b5a6-7890-abcd-123456****",
    "source": "acs.ecs",
    "specversion": "1.0",
    "subject": "acs.ecs:cn-hangzhou:123456789098****:215672",
    "time": "2026-02-28T03:30:00+08:00",
    "type": "ecs:CloudAssistant:UpdateCompleted",
    "aliyunaccountid": "123456789098****",
    "aliyunpublishtime": "2026-02-28T03:30:01Z",
    "aliyuneventbusname": "default",
    "aliyunregionid": "cn-hangzhou",
    "aliyunpublishaddr": "172.25.XX.XX",
    "data": {
        "instanceId": "i-bp114***************",
        "currentVersion": "2.2.4.1007",
        "occurrenceTime": "2026-02-28T03:30:00Z"
    }
}

Recomendações para ambientes de produção

  • Idempotência: Sistemas de eventos podem entregar o mesmo evento várias vezes devido a problemas de rede ou tentativas de repetição. Sua lógica de processamento deve ser idempotente, ou seja, processar o mesmo evento múltiplas vezes deve produzir o mesmo resultado que processá-lo apenas uma vez. Utilize o campo id ou data.bizEventId do evento como identificador único. Antes de processar um evento, verifique se esse ID já foi processado anteriormente.

  • Política de repetição e fila de mensagens mortas: Ao configurar um destino de evento no EventBridge, recomenda-se fortemente configurar uma Retry Policy e uma Dead-Letter Queue. Se a função de processamento falhar temporariamente, o EventBridge fará novas tentativas automaticamente. Caso as tentativas de repetição falhem, o evento será enviado para uma fila de mensagens mortas, como uma fila do Message Service (MNS). Assim, é possível investigar manualmente e recuperar o evento para evitar perda de dados.

  • Monitoramento e alertas: Monitore a própria função de processamento de eventos. Acompanhe a taxa de sucesso da execução, a duração e os logs de erro, além de configurar alertas. Isso permite intervenção imediata caso a lógica de processamento apresente falhas consistentes.

FAQ

Por que não recebo notificações de eventos após me inscrever em eventos do Cloud Assistant usando o EventBridge?

  1. Verifique os pré-requisitos: Confirme se a versão do Cloud Assistant Agent atende aos requisitos.

  2. Verifique a regra do EventBridge:

    • Faça login no console do EventBridge. Confirme se o Event Pattern da regra está correto. O campo source deve ser acs.ecs e o campo type deve corresponder ao tipo de evento correto.

    • Utilize o recurso Event Pattern Debugging para testar se a regra corresponde a uma amostra JSON real do evento.

  3. Verifique a integridade do destino do evento:

    • Na página de detalhes da regra de evento no console do EventBridge, visualize os registros de invocação e logs de erro do destino do evento.

    • Confirme se o service de destino, como Function Compute ou webhook, está funcionando normalmente e acessível pela rede.