Receba notificações de status de integridade de componentes e implantações - AWS IoT Greengrass

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Receba notificações de status de integridade de componentes e implantações

As regras de EventBridge eventos da Amazon fornecem notificações sobre mudanças de estado para suas implantações do Greengrass recebidas por seus dispositivos e para componentes instalados em seu dispositivo. EventBridge fornece um fluxo quase em tempo real de eventos do sistema que descreve as mudanças nos AWS recursos. AWS IoT Greengrass envia esses eventos com EventBridge base no melhor esforço. Isso significa que as AWS IoT Greengrass tentativas de enviar todos os eventos para, EventBridge mas, em alguns casos raros, um evento podem não ser entregues. Além disso, AWS IoT Greengrass pode enviar várias cópias de um determinado evento, o que significa que seus ouvintes do evento podem não receber os eventos na ordem em que os eventos ocorreram.

nota

EventBridge A Amazon é um serviço de ônibus de eventos que você pode usar para conectar seus aplicativos a dados de várias fontes, como os principais dispositivos do Greengrass e notificações de componentes e de implantação. Para obter mais informações, consulte O que é a Amazon EventBridge? no Guia do EventBridge usuário da Amazon.

Evento de alteração do status de implantação

AWS IoT Greengrass emite um evento quando uma implantação entra nos seguintes estados: FAILEDSUCCEEDED,COMPLETED,REJECTED, e. CANCELED Você pode criar uma EventBridge regra que seja executada para todas as transições de estado ou transições para estados que você especificar. Quando uma implantação entra em um estado que inicia uma regra, EventBridge invoca as ações de destino definidas na regra. Isso permite enviar notificações, capturar informações de eventos, executar ações corretivas ou iniciar outros eventos em resposta a uma alteração de estado. Por exemplo, você pode criar regras para os seguintes casos de uso:

  • Iniciar operações pós-implantação, como fazer download de ativos e notificar a equipe.

  • Enviar notificações após uma implantação bem-sucedida ou com falha.

  • Publicar métricas personalizadas sobre eventos de implantação.

O evento para uma alteração no estado da implantação usa o seguinte formato:

{ "version":"0", "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8", "detail-type":"Greengrass V2 Effective Deployment Status Change", "source":"aws.greengrass", "account":"123456789012", "region":"us-west-2", "time":"2018-03-22T00:38:11Z", "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"], "detail":{ "deploymentId": "4f38f1a7-3dd0-42a1-af48-EXAMPLE09681", "coreDeviceExecutionStatus": "FAILED|SUCCEEDED|COMPLETED|REJECTED|CANCELED", "statusDetails": { "errorStack": ["DEPLOYMENT_FAILURE", "ARTIFACT_DOWNLOAD_ERROR", "S3_ERROR", "S3_ACCESS_DENIED", "S3_HEAD_OBJECT_ACCESS_DENIED"], "errorTypes": ["DEPENDENCY_ERROR", "PERMISSION_ERROR"], }, "reason": "S3_HEAD_OBJECT_ACCESS_DENIED: FAILED_NO_STATE_CHANGE: Failed to download artifact name: 's3://pentest27/nucleus/281/aws.greengrass.nucleus.zip' for component aws.greengrass.Nucleus-2.8.1, reason: S3 HeadObject returns 403 Access Denied. Ensure the IAM role associated with the core device has a policy granting s3:GetObject. null (Service: S3, Status Code: 403, Request ID: HR94ZNT2161DAR58, Extended Request ID: wTX4DDI+qigQt3uzwl9rlnQiYlBgwvPm/KJFWeFAn9t1mnGXTms/luLCYANgq08RIH+x2H+hEKc=)" } }

Você pode criar regras e eventos que o atualizarão sobre o status de uma implantação. Um evento é iniciado quando uma implantação é concluída comoFAILED,SUCCEEDED, COMPLETEDREJECTED, ouCANCELED. Se a implantação falhar no dispositivo principal, você receberá uma resposta detalhada que explica por que a implantação falhou. Para obter mais informações sobre códigos de erro de implantação, consulteCódigos de erro de implantação detalhados.

Estados de implantação
  • FAILED. Houve falha na implantação.

  • SUCCEEDED. A implantação direcionada a um grupo de coisas foi concluída com sucesso.

  • COMPLETED. A implantação foi direcionada para uma coisa concluída com sucesso.

  • REJECTED. A implantação foi rejeitada. Para obter mais informações, consulte o statusDetails campo.

  • CANCELED. A implantação foi cancelada pelo usuário.

É possível que os eventos estejam duplicados ou fora de ordem. Para determinar a ordem dos eventos, use a propriedade time.

Para obter uma lista completa dos códigos de erro em errorStacks eerrorTypes, consulte Códigos de erro de implantação detalhados Códigos detalhados de status do componente e.

Evento de alteração do status do componente

AWS IoT Greengrass Nas versões 2.12.2 e anteriores, o Greengrass emite um evento quando um componente entra nos seguintes estados: e. ERRORED BROKEN Para as versões 2.12.3 e posteriores do Greengrass nucleus, o Greengrass emite um evento quando um componente entra nos seguintes estados:,, e. ERRORED BROKEN RUNNING FINISHED O Greengrass também emitirá um evento quando a implantação for concluída. Você pode criar uma EventBridge regra que seja executada para todas as transições de estado ou transições para estados que você especificar. Quando um componente instalado entra em um estado que inicia uma regra, EventBridge invoca as ações de destino definidas na regra. Isso permite enviar notificações, capturar informações de eventos, executar ações corretivas ou iniciar outros eventos em resposta a uma alteração de estado.

O evento para uma alteração do estado do componente usa os seguintes formatos:

Greengrass nucleus v2.12.2 and earlier

Status do componente: ERRORED ou BROKEN

{ "version":"0", "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8", "detail-type":"Greengrass V2 Installed Component Status Change", "source":"aws.greengrass", "account":"123456789012", "region":"us-west-2", "time":"2018-03-22T00:38:11Z", "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"], "detail": { "components": [ { "componentName": "MyComponent", "componentVersion": "1.0.0", "root": true, "lifecycleState": "ERRORED|BROKEN", "lifecycleStatusCodes": ["STARTUP_ERROR"], "lifecycleStateDetails": "An error occurred during startup. The startup script exited with code 1." } ] } }
Greengrass nucleus v2.12.3 and later

Status do componente: ERRORED ou BROKEN

{ "version":"0", "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8", "detail-type":"Greengrass V2 Installed Component Status Change", "source":"aws.greengrass", "account":"123456789012", "region":"us-west-2", "time":"2018-03-22T00:38:11Z", "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"], "detail": { "components": [ { "componentName": "MyComponent", "componentVersion": "1.0.0", "root": true, "lifecycleState": "ERRORED|BROKEN", "lifecycleStatusCodes": ["STARTUP_ERROR"], "lifecycleStateDetails": "An error occurred during startup. The startup script exited with code 1." } ] } }

Status do componente: RUNNING ou FINISHED

{ "version":"0", "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8", "detail-type":"Greengrass V2 Installed Component Status Change", "source":"aws.greengrass", "account":"123456789012", "region":"us-west-2", "time":"2018-03-22T00:38:11Z", "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"], "detail": { "components": [ { "componentName": "MyComponent", "componentVersion": "1.0.0", "root": true, "lifecycleState": "RUNNING|FINISHED", "lifecycleStateDetails": null } ] } }

Você pode criar regras e eventos que o atualizarão sobre o status de um componente instalado. Um evento é iniciado quando um componente muda de estado no dispositivo. Você receberá uma resposta detalhada que explica por que um componente está errado ou quebrado. Você também receberá um código de status que indicará o motivo da falha. Para obter mais informações sobre códigos de status de componentes, consulteCódigos detalhados de status do componente.

Pré-requisitos para criar regras EventBridge

Antes de criar uma EventBridge regra para AWS IoT Greengrass, faça o seguinte:

  • Familiarize-se com eventos, regras e metas em EventBridge.

  • Crie e configure os alvos invocados por suas EventBridge regras. As regras podem invocar muitos tipos de destinos, incluindo:

    • Amazon Simple Notification Service (Amazon SNS)

    • AWS Lambda funções

    • Amazon Kinesis Video Streams

    • Filas do Amazon Simple Queue Service (Amazon SQS)

Para obter mais informações, consulte O que é a Amazon EventBridge? e Introdução à Amazon EventBridge no Guia do EventBridge usuário da Amazon.

Configurar notificações de integridade do dispositivo (console)

Use as etapas a seguir para criar uma EventBridge regra que publique um tópico do Amazon SNS quando o estado de implantação mudar para um grupo. Isso permite que servidores web, endereços de e-mail e outros assinantes de tópicos respondam ao evento. Para obter mais informações, consulte Criação de uma EventBridge regra que é acionada em um evento a partir de um AWS recurso no Guia do EventBridge usuário da Amazon.

  1. Abra o EventBridgeconsole da Amazon.

  2. No painel de navegação, escolha Regras.

  3. Escolha Create rule.

  4. Insira um nome e uma descrição para a regra.

    Uma regra não pode ter o mesmo nome que outra na mesma Região e barramento de eventos.

  5. Em Barramento de eventos, selecione o barramento de eventos que você deseja associar a essa regra. Se quiser que essa regra faça a correspondência com eventos provenientes da sua conta, escolha Barramento de eventos padrão da AWS . Quando um AWS serviço em sua conta emite um evento, ele sempre vai para o barramento de eventos padrão da sua conta.

  6. Em Tipo de Regra, escolha Regra com Padrão de Evento.

  7. Escolha Próximo.

  8. Em Origem de eventos, escolha Eventos da AWS .

  9. Em Padrão do evento, selecione Serviços da AWS .

  10. Em Serviço da AWS , selecione Greengrass.

  11. Para Tipo de evento, escolha entre as seguintes opções:

    • Para eventos de implantação, escolha Greengrass V2 Effective Deployment Status Change.

    • Para eventos de componentes, escolha Greengrass V2 Installed Component Status Change.

  12. Selecione Next (Próximo).

  13. Em Target types (Tipos de destinos), selecione AWS service (Serviço da ).

  14. Em Selecionar um destino, configure seu destino. Este exemplo usa um tópico do Amazon SNS, mas você pode configurar outros tipos de destino para enviar notificações.

    1. Em Target (Destino), selecione SNS topic (Tópico do SNS).

    2. Em Topic (Tópico), selecione o tópico de destino.

    3. Escolha Próximo.

  15. Escolha Próximo.

  16. Analise os detalhes da regra e selecione Criar regra.

Configurar notificações de integridade do dispositivo (CLI)

Use as etapas a seguir para criar uma EventBridge regra que publique um tópico do Amazon SNS quando houver um evento de mudança de status do Greengrass. Isso permite que servidores web, endereços de e-mail e outros assinantes de tópicos respondam ao evento.

  1. Crie a regra.

    • Para eventos de mudança de status de implantação.

      aws events put-rule \ --name TestRule \ --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail-type\": [\"Greengrass V2 Effective Deployment Status Change\"]}"
    • Para eventos de mudança de status de componentes.

      aws events put-rule \ --name TestRule \ --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail-type\": [\"Greengrass V2 Installed Component Status Change\"]}"

    As propriedades que são omitidas do padrão são ignoradas.

  2. Adicione o tópico como um destino de regra.

    • Substitua topic-arn pelo ARN do tópico do Amazon SNS.

    aws events put-targets \ --rule TestRule \ --targets "Id"="1","Arn"="topic-arn"
    nota

    Para permitir que EventBridge a Amazon ligue para seu tópico de destino, você deve adicionar uma política baseada em recursos ao seu tópico. Para obter mais informações, consulte as permissões do Amazon SNS no Guia EventBridge do usuário da Amazon.

Para obter mais informações, consulte Eventos e padrões de eventos EventBridge no Guia do EventBridge usuário da Amazon.

Configurar notificações de saúde do dispositivo (AWS CloudFormation)

Use AWS CloudFormation modelos para criar EventBridge regras que enviem notificações sobre mudanças de estado para suas implantações de grupos do Greengrass. Para obter mais informações, consulte a referência EventBridge de tipo de recurso da Amazon no Guia AWS CloudFormation do usuário.

Consulte também