

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á.

# Registrar em log e monitorar no AWS IoT Greengrass
<a name="logging-and-monitoring"></a>

O monitoramento é uma parte importante da manutenção da confiabilidade, da disponibilidade e do desempenho do AWS IoT Greengrass e de soluções da AWS. Você deve coletar dados de monitoramento de todas as partes de sua solução da AWS para facilitar a depuração de uma falha multipontos, caso ela ocorra. Antes de começar a monitorar o AWS IoT Greengrass, crie um plano de monitoramento que inclua as respostas para as seguintes perguntas:
+ Quais são seus objetivos de monitoramento?
+ Quais recursos você vai monitorar?
+ Com que frequência você vai monitorar esses recursos?
+ Quais ferramentas de monitoramento você usará?
+ Quem realizará o monitoramento das tarefas?
+ Quem deve ser notificado quando algo der errado?

**Topics**
+ [Ferramentas de monitoramento](#monitoring-tools)
+ [Monitore AWS IoT Greengrass logs](monitor-logs.md)
+ [Registre chamadas de AWS IoT Greengrass V2 API com AWS CloudTrail](logging-using-cloudtrail.md)
+ [Colete dados de telemetria de integridade do sistema a partir dos dispositivos principais AWS IoT Greengrass](telemetry.md)
+ [Receber notificações de status de integridade de componentes e implantações](deployment-health-notifications.md)
+ [Verificar o status do dispositivo principal do Greengrass](device-status.md)

## Ferramentas de monitoramento
<a name="monitoring-tools"></a>

AWS A fornece ferramentas que você pode usar para monitorar o AWS IoT Greengrass. Você pode configurar algumas dessas ferramentas para que façam o monitoramento para você. Algumas das ferramentas exigem intervenção manual. Recomendamos que as tarefas de monitoramento sejam automatizadas ao máximo possível.

É possível usar as seguintes ferramentas de monitoramento automatizadas para supervisionar o AWS IoT Greengrass e relatar os seguintes problemas:
+ **Amazon CloudWatch Logs**: monitore, armazene e acesse seus arquivos de log do AWS CloudTrail ou de outras origens. Para obter mais informações, consulte [Como monitorar arquivos de log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html) no *Guia do usuário do Amazon CloudWatch*.
+ **Monitoramento de log AWS CloudTrail**: compartilhe arquivos de log entre contas, monitore os arquivos de log do CloudTrail em tempo real enviando-os para o CloudWatch Logs, escreva aplicações de processamento de logs em Java e confirme se os arquivos de log não foram alterados após a entrega pelo CloudTrail. Para obter mais informações, consulte [Trabalhar com arquivos de log do CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-working-with-log-files.html) no *Guia do usuário AWS CloudTrail*.
+ **Telemetria da integridade do sistema Greengrass**: inscreva-se para receber dados de telemetria enviados a partir do núcleo do Greengrass. Para obter mais informações, consulte [Colete dados de telemetria de integridade do sistema a partir dos dispositivos principais AWS IoT Greengrass](telemetry.md).
+ **Notificações de saúde do dispositivo** Crie eventos usando o Amazon EventBridge para receber atualizações de status sobre implantações e componentes. Para obter mais informações, consulte [Receber notificações de status de integridade de componentes e implantações](deployment-health-notifications.md).
+ **Serviço de status da frota**: use as operações da API de status da frota para verificar o status dos dispositivos principais e seus componentes do Greengrass. Também é possível visualizar as informações de status de frota no console do AWS IoT Greengrass. Para obter mais informações, consulte [Verificar o status do dispositivo principal do Greengrass](device-status.md).

# Monitore AWS IoT Greengrass logs
<a name="monitor-logs"></a>

O AWS IoT Greengrass consiste no serviço em nuvem e no software do AWS IoT Greengrass Core. O software AWS IoT Greengrass Core pode gravar logs no Amazon CloudWatch Logs e no sistema de arquivos local do dispositivo principal. Os componentes do Greengrass executados no dispositivo principal também podem gravar logs no CloudWatch Logs e no sistema de arquivos local. Você pode usar os logs para monitorar eventos e solucionar problemas. Todas as entradas de log do AWS IoT Greengrass incluem um time stamp, nível de log e informações sobre o evento.

Por padrão, o software AWS IoT Greengrass Core grava logs somente no sistema de arquivos local. Você pode visualizar os logs do sistema de arquivos em tempo real, para poder depurar os componentes do Greengrass que você desenvolve e implanta. Você também pode configurar um dispositivo principal para gravar logs no CloudWatch Logs, para que você possa solucionar problemas no dispositivo principal sem acessar o sistema de arquivos local. Para obter mais informações, consulte [Habilitar o log no CloudWatch Logs](#enable-cloudwatch-logs).

**Topics**
+ [Acessar os logs do sistema de arquivos](#access-local-logs)
+ [Acessar o CloudWatch Logs](#access-cloudwatch-logs)
+ [Acesse os logs de serviços do sistema](#access-system-service-logs)
+ [Habilitar o log no CloudWatch Logs](#enable-cloudwatch-logs)
+ [Configurar o log em log para o AWS IoT Greengrass](#configure-logging)
+ [Logs do AWS CloudTrail](#cloudtrail-integration)

## Acessar os logs do sistema de arquivos
<a name="access-local-logs"></a>

O software AWS IoT Greengrass Core armazena os logs na pasta `/greengrass/v2/logs` em um dispositivo principal, em que `/greengrass/v2` é o caminho para a pasta raiz do AWS IoT Greengrass. A pasta de logs tem a estrutura a seguir.

```
/greengrass/v2
└── logs
    ├── greengrass.log
    ├── greengrass_2021_09_14_15_0.log
    ├── ComponentName.log
    ├── ComponentName_2021_09_14_15_0.log
    └── main.log
```
+ `greengrass.log`: o arquivo de log do software AWS IoT Greengrass Core. Use esse arquivo de log para visualizar informações em tempo real sobre componentes e implantações. Esse arquivo de log inclui logs do núcleo Greengrass, que é o núcleo do software AWS IoT Greengrass Core, e componentes de plug-in, como [gerenciador de logs](log-manager-component.md) e [gerenciador de segredos](secret-manager-component.md).
+ `ComponentName.log`: arquivos de log do componente Greengrass. Use arquivos de log de componentes para visualizar informações em tempo real sobre um componente do Greengrass que é executado no dispositivo principal. Componentes genéricos e componentes Lambda gravam saída padrão (stdout) e erro padrão (stderr) nesses arquivos de log.
+ `main.log`: o arquivo de log do serviço `main` que manipula os ciclos de vida dos componentes. Esse arquivo de log estará sempre vazio.

Para obter mais informações sobre as diferenças entre plugins, genéricos e do Lambda, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).

As seguintes considerações se aplicam ao usar logs de sistema de arquivos:
+ **Permissões de usuário root**

  É necessário ter permissões raiz para ler logs do AWS IoT Greengrass no sistema de arquivos.
+ **Rotação do arquivo de log**

  O software AWS IoT Greengrass Core gira os arquivos de log a cada hora ou quando eles excedem o limite de tamanho do arquivo. Os arquivos de log rotacionados contêm um carimbo de data/hora no nome do arquivo. Por exemplo, um arquivo de log rotativo do software AWS IoT Greengrass Core pode receber o nome de `greengrass_2021_09_14_15_0.log`. O limite de tamanho de arquivo padrão é 1.024 KB (1 MB). Você pode configurar o limite de tamanho do arquivo no [componente do núcleo do Greengrass](greengrass-nucleus-component.md).
+ **Exclusão do arquivo de log**

  O software AWS IoT Greengrass Core limpa os arquivos de log anteriores quando o tamanho dos arquivos de log do software AWS IoT Greengrass Core ou dos arquivos de log dos componentes do Greengrass, incluindo arquivos de log rotacionados, excede o limite de espaço em disco. O limite de espaço em disco padrão para o log do software AWS IoT Greengrass Core e cada log de componente é de 10.240 KB (10 MB). Você pode configurar o limite de espaço em disco do log do software AWS IoT Greengrass Core no componente [nucleus do Greengrass ou no componente](greengrass-nucleus-component.md) do gerenciador de logs[Gerenciador de logs](log-manager-component.md). Você pode configurar o limite de espaço em disco de log de cada componente no [componente do gerenciador de logs](log-manager-component.md).

**Para visualizar o arquivo de log do software AWS IoT Greengrass principal**
+ Execute o comando a seguir para visualizar o arquivo de log em tempo real. Substitua `/greengrass/v2` pelo caminho para a pasta raiz do AWS IoT Greengrass.

------
#### [ Linux or Unix ]

  ```
  sudo tail -f /greengrass/v2/logs/greengrass.log
  ```

------
#### [ Windows Command Prompt (CMD) ]

  ```
  type C:\greengrass\v2\logs\com.example.HelloWorld.log
  ```

  <a name="windows-cmd-type-observe-logs"></a>O comando `type` grava o conteúdo do arquivo no terminal. Execute esse comando várias vezes para observar as alterações no arquivo.

------
#### [ PowerShell ]

  ```
  gc C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

**Para visualizar o arquivo de log de um Componente**
+ Execute o comando a seguir para visualizar o arquivo de log em tempo real. Substitua `/greengrass/v2` ou *C:\$1greengrass\$1v2* pelo caminho para a pasta AWS IoT Greengrass raiz e substitua *com.example.HelloWorld pelo* nome do componente.

------
#### [ Linux or Unix ]

  ```
  sudo tail -f /greengrass/v2/logs/com.example.HelloWorld.log
  ```

------
#### [ PowerShell ]

  ```
  gc C:\greengrass\v2\logs\com.example.HelloWorld.log -Tail 10 -Wait
  ```

------

Você também pode usar o `logs` comando da [CLI do Greengrass para](greengrass-cli-component.md) analisar os logs do Greengrass em um dispositivo principal. Para usar o `logs` comando, você deve configurar o [núcleo do Greengrass](greengrass-nucleus-component.md) para gerar arquivos de log no formato JSON. Para obter mais informações, consulte [Interface de linha de comando do Greengrass](gg-cli.md) e [logs](gg-cli-logs.md).

## Acessar o CloudWatch Logs
<a name="access-cloudwatch-logs"></a>

Você pode implantar o [componente do gerenciador de logs](log-manager-component.md) para configurar o dispositivo principal para gravar no CloudWatch Logs. Para obter mais informações, consulte [Habilitar o log no CloudWatch Logs](#enable-cloudwatch-logs). Se você configurar o log em log do CloudWatch, você poderá visualizar os logs na página **Logs** do console do Amazon CloudWatch.<a name="log-manager-log-group-stream-format"></a>

**Nome do grupo de logs**  

```
/aws/greengrass/componentType/region/componentName
```
O nome do grupo de logs usa as seguintes variáveis:  
+ `componentType`: o tipo do componente, que pode ser um dos seguintes:
  + `GreengrassSystemComponent`: esse grupo de logs inclui logs do núcleo e dos componentes do plug-in, que são executados na mesma JVM do núcleo do Greengrass. O componente faz parte do [núcleo do Greengrass](greengrass-nucleus-component.md).
  + `UserComponent`: esse grupo de logs inclui logs de componentes genéricos, componentes Lambda e outras aplicações no dispositivo. O componente faz parte do núcleo do Greengrass.

  Para obter mais informações, consulte [Tipos de componentes](develop-greengrass-components.md#component-types).
+ `region`: a região da AWS que o dispositivo principal usa.
+ `componentName`: o nome do componente. Para logs do sistema, esse valor é `System`.

**Nome do fluxo de logs**  

```
/date/thing/thingName
```
O nome do fluxo de logs usa as seguintes variáveis:  
+ `date`: a data do log, como `2020/12/15`. O componente do gerenciador de logs usa o formato `yyyy/MM/dd`.
+ `thingName`: o nome do dispositivo principal.
Se o nome de uma coisa contiver dois pontos (`:`), o gerenciador de logs substituirá os dois pontos por um sinal de adição (`+`).

<a name="log-manager-considerations-intro"></a>As seguintes considerações se aplicam ao usar o CloudWatch Logs:<a name="log-manager-considerations"></a>
+ **Atrasos no log**
**nota**  
Recomendamos que você atualize para a versão 2.3.0 do gerenciador de logs, que reduz os atrasos nos arquivos de log rotacionados e ativos. Ao atualizar para o log manager 2.3.0, recomendamos que você também atualize para o Greengrass nucleus 2.9.1.

  A versão 2.2.8 (e anteriores) do componente gerenciador de logs processa e carrega logs somente de arquivos de log rotacionados. Por padrão, o software AWS IoT Greengrass Core rotaciona os arquivos de log a cada hora ou depois de atingirem 1.024 KB. Como resultado, o componente do gerenciador de logs os carrega somente depois que o software AWS IoT Greengrass Core ou um componente do Greengrass grava mais de 1.024 KB de logs. Você pode configurar um limite menor para o tamanho dos arquivos de log para que rotacionem com mais frequência. Isso faz com que o componente do gerenciador de logs faça o upload deles para o CloudWatch Logs com mais frequência.

  A versão 2.3.0 (e posteriores) do componente gerenciador de logs processa e carrega todos os logs. Quando você grava um novo log, a versão 2.3.0 (e posteriores) do gerenciador de logs processa e carrega diretamente esse arquivo de log ativo em vez de esperar que ele seja rotacionado. Isso significa que você pode ver o novo log em cinco minutos ou menos.

  O componente do gerenciador de logs carrega novos logs periodicamente. Por padrão, o componente do gerenciador de logs carrega novos logs a cada 5 minutos. Você pode configurar um intervalo de upload menor, para que o componente do gerenciador de logs carregue os logs no CloudWatch Logs com mais frequência configurando o `periodicUploadIntervalSec`. Para obter mais informações sobre como configurar esse intervalo periódico, consulte [Configuração](https://docs.aws.amazon.com/greengrass/v2/developerguide/log-manager-component.html#log-manager-component-configuration).

  Os logs podem ser carregados quase em tempo real a partir do mesmo sistema de arquivos do Greengrass. Se você precisar observar os logs em tempo real, verifique se é possível usar os [logs do sistema de arquivos](#access-local-logs).
**nota**  
Se você estiver usando sistemas de arquivos diferentes para gravar logs, o gerenciador de logs retornará ao comportamento nas versões 2.2.8 e anteriores. Para obter informações sobre como acessar logs do sistema de arquivos, consulte [Acessar logs do sistema de arquivos](https://docs.aws.amazon.com/greengrass/v2/developerguide/monitor-logs.html#access-local-logs).
+ **Distorção do relógio**

  O componente do gerenciador de logs usa o processo de assinatura padrão do Signature versão 4 para criar solicitações de API para o CloudWatch Logs. Se o horário do sistema em um dispositivo principal estiver fora de sincronia por mais de 15 minutos, o CloudWatch Logs rejeitará as solicitações. Para obter mais informações, consulte [Processo de assinatura do Signature versão 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) na *Referência geral da AWS*.

## Acesse os logs de serviços do sistema
<a name="access-system-service-logs"></a>

Se você [configurar o software AWS IoT Greengrass Core como um serviço do sistema](configure-greengrass-core-v2.md#configure-system-service), poderá visualizar os logs do serviço do sistema para solucionar problemas, como a falha na inicialização do software.

**Para visualizar os logs de serviços do sistema (CLI)**

1. Execute o comando a seguir para visualizar logs de serviço do sistema de software AWS IoT Greengrass Core.

------
#### [ Linux or Unix (systemd) ]

   ```
   sudo journalctl -u greengrass.service
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   type C:\greengrass\v2\logs\greengrass.wrapper.log
   ```

------
#### [ PowerShell ]

   ```
   gc C:\greengrass\v2\logs\greengrass.wrapper.log
   ```

------

1. Em dispositivos Windows, o software AWS IoT Greengrass Core cria um arquivo de log separado para erros de serviço do sistema. Execute o comando a seguir para visualizar os logs de erro do serviço do sistema.

------
#### [ Windows Command Prompt (CMD) ]

   ```
   type C:\greengrass\v2\logs\greengrass.err.log
   ```

------
#### [ PowerShell ]

   ```
   gc C:\greengrass\v2\logs\greengrass.err.log
   ```

------

Em dispositivos Windows, você também pode usar a aplicação **Event Viewer** para visualizar os logs de serviços do sistema.

**Para visualizar os logs de serviços do Windows (Visualizador de eventos)**

1. Abra a aplicação **Visualizador de Eventos**.

1. Selecione **Logs do Windows** para expandi-lo.

1. Escolha **Aplicação** para visualizar os logs do serviço da aplicação.

1. Encontre e abra logs de eventos cuja **fonte** é **greengrass**.

## Habilitar o log no CloudWatch Logs
<a name="enable-cloudwatch-logs"></a>

Você pode implantar o [componente do gerenciador de logs](log-manager-component.md) para configurar um dispositivo principal para gravar logs no CloudWatch Logs. Você pode habilitar o CloudWatch Logs para os AWS IoT Greengrass principais logs de software e pode habilitar o CloudWatch Logs para componentes específicos do Greengrass.

**nota**  
A função de troca de tokens do dispositivo principal do Greengrass deve permitir que o dispositivo principal grave no CloudWatch Logs, conforme mostrado no exemplo de política do IAM a seguir. Se você [instalou o software AWS IoT Greengrass Core com provisionamento automático de recursos](quick-installation.md), seu dispositivo principal tem essas permissões.  

```
{
  "Version": "2012-10-17",		 	 	 
  "Statement": [
    {
      "Action": [
        "logs:CreateLogGroup",
        "logs:CreateLogStream",
        "logs:PutLogEvents",
        "logs:DescribeLogStreams"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:logs:*:*:*"
    }
  ]
}
```

Para configurar um dispositivo principal para gravar logs do software AWS IoT Greengrass principal no CloudWatch Logs, [crie uma implantação](create-deployments.md) que especifique uma atualização de configuração definida para o componente. `uploadToCloudWatch` `true` `aws.greengrass.LogManager` AWS IoT Greengrass [Os principais logs do software incluem logs do [núcleo do Greengrass](greengrass-nucleus-component.md) e dos componentes do plug-in.](develop-greengrass-components.md#component-types)

```
{
  "logsUploaderConfiguration": {
    "systemLogsConfiguration": {
      "uploadToCloudWatch": "true"
    }
  }
}
```

Para configurar um dispositivo principal para gravar os logs de um componente do Greengrass no CloudWatch Logs[, crie uma implantação que especifique uma atualização de configuração que adicione o componente à lista de configurações de log](create-deployments.md) de componentes. Quando você adiciona um componente a essa lista, o componente gerenciador de logs grava seus logs no CloudWatch Logs. Os logs de componentes incluem logs de [componentes genéricos e componentes Lambda](develop-greengrass-components.md#component-types).

```
{
  "logsUploaderConfiguration": {
    "componentLogsConfigurationMap": {
      "com.example.HelloWorld": {
      
      }
    }
  }
}
```

Ao implantar o componente do gerenciador de logs, você também pode configurar os limites de espaço em disco e se o dispositivo principal excluirá os arquivos de log depois de gravá-los no CloudWatch Logs. Para obter mais informações, consulte [Configurar o log em log para o AWS IoT Greengrass](#configure-logging).

## Configurar o log em log para o AWS IoT Greengrass
<a name="configure-logging"></a>

Você pode configurar as seguintes opções para personalizar o log nos dispositivos principais do Greengrass. Para configurar essas opções, [crie uma implantação](create-deployments.md) que especifique uma atualização de configuração para os componentes do Greengrass nucleus ou do gerenciador de logs.
+ **Gravar logs no CloudWatch Logs**

  Para solucionar problemas remotamente nos dispositivos principais, você pode configurar os dispositivos principais para gravar logs principais de software e componentes no AWS IoT Greengrass CloudWatch Logs. Para fazer isso, implante e configure o [componente do gerenciador de logs](log-manager-component.md). Para obter mais informações, consulte [Habilitar o log no CloudWatch Logs](#enable-cloudwatch-logs).
+ **Excluir arquivos de log enviados**

  Para reduzir o uso do espaço em disco, você pode configurar os dispositivos principais para excluir arquivos de log depois de gravá-los no CloudWatch Logs. Para obter mais informações, consulte o parâmetro `deleteLogFileAfterCloudUpload` do componente gerenciador de logs, que você pode especificar para os [logs do software AWS IoT Greengrass Core](log-manager-component.md#log-manager-component-configuration-system-logs-configuration) e os [logs de componentes](log-manager-component.md#log-manager-component-configuration-component-logs-configuration).
+ **Limites de espaço em disco para logs**

  Para limitar o uso do espaço em disco, você pode configurar o espaço máximo em disco para cada log, incluindo seus arquivos de log rotacionados, em um dispositivo principal. Por exemplo, você pode configurar o espaço máximo combinado em disco para `greengrass.log` e arquivos `greengrass.log` rotacionados. Para obter mais informações, consulte o parâmetro `logging.totalLogsSizeKB` do componente Greengrass nucleus e o parâmetro `diskSpaceLimit` do componente gerenciador de logs, que você pode especificar para os [logs do software AWS IoT Greengrass Core](log-manager-component.md#log-manager-component-configuration-system-logs-configuration) e os [logs de componentes](log-manager-component.md#log-manager-component-configuration-component-logs-configuration).
+ **Limite de tamanho do arquivo de log**

  Você pode configurar o tamanho máximo de arquivo para cada arquivo de log. Depois que um arquivo de log excede esse limite de tamanho de arquivo, o software AWS IoT Greengrass Core cria um novo arquivo de log. A versão 2.28 (e anterior) do [componente gerenciador](log-manager-component.md) de logs grava somente arquivos de log rotacionados no CloudWatch Logs, para que você possa especificar um limite menor de tamanho de arquivo para gravar logs no CloudWatch Logs com mais frequência. A versão 2.3.0 (e posterior) do componente gerenciador de logs processa e carrega todos os logs em vez de esperar que eles sejam alternados. Para obter mais informações, consulte o [parâmetro de limite de tamanho de log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-log-file-size) do núcleo do Greengrass nucleus (`logging.fileSizeKB`).
+ **Níveis mínimos de log**

  Você pode configurar o nível mínimo de log que o componente nucleus do Greengrass grava nos logs do sistema de arquivos. Por exemplo, você pode especificar logs de `DEBUG` nível para ajudar na solução de problemas ou pode especificar logs de `ERROR` nível para reduzir a quantidade de logs que um dispositivo principal cria. Para obter mais informações, consulte o [parâmetro de nível de log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-log-level) do núcleo do Greengrass (`logging.level`).

  Você também pode configurar o nível mínimo de log que o componente do gerenciador de logs grava no CloudWatch Logs. Por exemplo, você pode especificar um nível de log mais alto para reduzir [os custos de log](https://aws.amazon.com/cloudwatch/pricing/). Para obter mais informações, consulte o parâmetro `minimumLogLevel` do componente gerenciador de logs, que você pode especificar para os [logs do software AWS IoT Greengrass Core](log-manager-component.md#log-manager-component-configuration-system-logs-configuration) e os [logs de componentes](log-manager-component.md#log-manager-component-configuration-component-logs-configuration).
+ **Intervalo para verificar se há logs a serem gravados no CloudWatch Logs**

  Para aumentar ou diminuir a frequência com que o componente do gerenciador de logs grava logs no CloudWatch Logs, você pode configurar o intervalo em que ele verifica se há novos arquivos de log a serem gravados. Por exemplo, você pode especificar um intervalo menor para visualizar os logs no CloudWatch Logs mais cedo do que faria com o intervalo padrão de 5 minutos. Você pode especificar um intervalo maior para reduzir custos, porque o componente do gerenciador de logs agrupa os arquivos de log em menos solicitações. Para obter mais informações, consulte o [parâmetro de intervalo de upload](log-manager-component.md#log-manager-component-configuration-periodic-upload-interval-sec) do componente gerenciador de logs (`periodicUploadIntervalSec`).
+ **Formato do log**

  É possível escolher se o software AWS IoT Greengrass Core grava logs no formato de texto ou JSON. Escolha o formato de texto se você ler logs ou escolha o formato JSON se usar uma aplicação para ler ou analisar logs. Para obter mais informações, consulte o [parâmetro de formato de log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format) componente de núcleo do Greengrass (`logging.format`).
+ **Pasta de logs do sistema de arquivos local**

  Você pode alterar a pasta de logs `/greengrass/v2/logs` para outra pasta no dispositivo principal. Para obter mais informações, consulte o [parâmetro de diretório de saída](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-log-level) do componente de núcleo do Greengrass (`logging.outputDirectory`).

## Logs do AWS CloudTrail
<a name="cloudtrail-integration"></a>

O AWS IoT Greengrass se integra ao AWS CloudTrail, um serviço que fornece um registro das ações realizadas por um usuário, por uma função ou um AWS service (Serviço da AWS) no AWS IoT Greengrass. Para obter mais informações, consulte [Registre chamadas de AWS IoT Greengrass V2 API com AWS CloudTrail](logging-using-cloudtrail.md).

# Registre chamadas de AWS IoT Greengrass V2 API com AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

AWS IoT Greengrass V2 é integrado com AWS CloudTrail, um serviço que fornece um registro das ações realizadas por um usuário, função ou AWS serviço em AWS IoT Greengrass Version 2. CloudTrail captura todas as chamadas de API AWS IoT Greengrass como eventos. As chamadas capturadas incluem chamadas do AWS IoT Greengrass console e chamadas de código para as operações da AWS IoT Greengrass API.

Se você criar uma trilha, poderá habilitar a entrega contínua de CloudTrail eventos para um bucket do S3, incluindo eventos para AWS IoT Greengrass. Se você não configurar uma trilha, ainda poderá ver os eventos mais recentes no CloudTrail console no **Histórico de eventos**. Usando as informações coletadas por CloudTrail, você pode determinar a solicitação que foi feita AWS IoT Greengrass, o endereço IP do qual a solicitação foi feita, quem fez a solicitação, quando ela foi feita e detalhes adicionais.

Para obter mais informações sobre CloudTrail, consulte o [Guia AWS CloudTrail do usuário](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html).

**Topics**
+ [AWS IoT Greengrass V2 informações em CloudTrail](#service-name-info-in-cloudtrail)
+ [AWS IoT Greengrass eventos de dados em CloudTrail](#greengrass-data-events-cloudtrail)
+ [AWS IoT Greengrass eventos de gerenciamento em CloudTrail](#greengrass-management-events-cloudtrail)
+ [Entendendo as entradas do arquivo de AWS IoT Greengrass V2 log](#understanding-service-name-entries)

## AWS IoT Greengrass V2 informações em CloudTrail
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail é ativado no seu Conta da AWS quando você cria a conta. Quando a atividade ocorre em AWS IoT Greengrass, essa atividade é registrada em um CloudTrail evento junto com outros eventos AWS de serviço no **histórico de eventos**. Você pode exibir, pesquisar e baixar eventos recentes em sua Conta da AWS. Para obter mais informações, consulte [Visualização de eventos com histórico de CloudTrail eventos](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html).

Para um registro contínuo dos eventos em sua Conta da AWS, incluindo eventos para AWS IoT Greengrass, crie uma trilha. Uma *trilha* permite CloudTrail entregar arquivos de log para um bucket do S3. Por padrão, quando você cria uma trilha no console, a trilha se aplica a todos os Região da AWS s. A trilha registra eventos de todas as regiões na AWS partição e entrega os arquivos de log ao bucket do S3 que você especificar. Além disso, você pode configurar outros AWS serviços para analisar e agir com base nos dados de eventos coletados nos CloudTrail registros. Para saber mais, consulte:
+ [Visão geral da criação de uma trilha](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail serviços e integrações suportados](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [Configurando notificações do Amazon SNS para CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [Recebendo arquivos de CloudTrail log de várias regiões](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) e [Recebendo arquivos de CloudTrail log de várias contas](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Todas AWS IoT Greengrass V2 as ações são registradas CloudTrail e documentadas na [Referência da AWS IoT Greengrass V2 API](https://docs.aws.amazon.com/greengrass/v2/APIReference/Welcome.html). Por exemplo, chamadas para o `CreateComponentVersion` `CreateDeployment` e `CancelDeployment` as ações geram entradas nos arquivos de CloudTrail log.

Cada entrada de log ou evento contém informações sobre quem gerou a solicitação. As informações de identidade ajudam a determinar o seguinte:
+ Se a solicitação foi feita com credenciais de usuário root ou AWS Identity and Access Management (IAM).
+ Se a solicitação foi feita com credenciais de segurança temporárias de um perfil ou de um usuário federado.
+ Se a solicitação foi feita por outro AWS serviço.

Para obter mais informações, consulte [Elemento userIdentity do CloudTrail ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## AWS IoT Greengrass eventos de dados em CloudTrail
<a name="greengrass-data-events-cloudtrail"></a>

Os [eventos de dados](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) fornecem informações sobre as operações de recursos realizadas em um recurso (por exemplo, obter uma versão de um componente ou a configuração de uma implantação). Também são conhecidas como operações de plano de dados. Os eventos de dados costumam ser atividades de alto volume. Por padrão, CloudTrail não registra eventos de dados. O **histórico de CloudTrail eventos** não registra eventos de dados.

Há cobranças adicionais para eventos de dados. Para obter mais informações sobre CloudTrail preços, consulte [AWS CloudTrail Preços](https://aws.amazon.com/cloudtrail/pricing/).

Você pode registrar eventos de dados para os tipos de AWS IoT Greengrass recursos usando o CloudTrail console ou AWS CLI as operações CloudTrail da API. A [tabela](#data-events-table) nesta seção mostra os tipos de recursos disponíveis para AWS IoT Greengrass.
+ Para registrar eventos de dados usando o CloudTrail console, crie um [armazenamento de dados de [trilhas](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html#creating-a-trail-in-the-console) ou eventos](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store-cloudtrail.html) para registrar eventos de dados ou [atualize um armazenamento de dados de trilhas ou eventos existente](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-console) para registrar eventos de dados.

  1. Selecione **Eventos de dados** para registrar eventos de dados em log.

  1. Em **Tipo de evento de dados**, escolha o tipo de recurso para o qual você deseja registrar eventos de dados em log.

  1. Selecione o modelo de seletor de logs que deseja usar. Você pode registrar todos os eventos de dados para o tipo de recurso, registrar todos os eventos `readOnly`, registrar todos os eventos `writeOnly` ou criar um modelo de seletor de logs personalizado para filtrar os campos `readOnly`, `eventName` e `resources.ARN`.
+ Para registrar eventos de dados usando o AWS CLI, configure o `--advanced-event-selectors` parâmetro para definir o `eventCategory` campo igual `Data` e o `resources.type` campo igual ao valor do tipo de recurso (consulte a [tabela](#data-events-table)). É possível adicionar condições para filtrar os valores dos campos `readOnly`, `eventName` e `resources.ARN`.
  + Para configurar uma trilha e registrar eventos de dados em log, execute o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/put-event-selectors.html](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/put-event-selectors.html). Para ter mais informações, consulte [Logging data events for trails with the AWS CLI](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-CLI-trail-examples).
  + Para configurar um armazenamento de dados de eventos e registrar eventos de dados em log, execute o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/create-event-data-store.html](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/create-event-data-store.html) para criar um armazenamento e registrar eventos de dados em log ou execute o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/update-event-data-store.html](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/update-event-data-store.html) para atualizar um armazenamento existente. Para obter mais informações, consulte [Log em log de eventos de dados para trilhas AWS CLI](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-CLI-eds-examples).

A tabela a seguir lista os tipos de AWS IoT Greengrass recursos. A coluna **Tipo de evento de dados (console)** mostra o valor a ser escolhido na lista **Tipo de evento de dados** no CloudTrail console. A coluna de **valor resources.type** mostra o `resources.type` valor, que você especificaria ao configurar seletores de eventos avançados usando o ou. AWS CLI CloudTrail APIs A CloudTrail coluna **Dados APIs registrados** em mostra as chamadas de API registradas CloudTrail para o tipo de recurso.


| Tipo de evento de dados (console) | valor resources.type | Dados APIs registrados em CloudTrail | 
| --- | --- | --- | 
| Certificado de IoT | AWS::IoT::Certificate |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/logging-using-cloudtrail.html)  | 
| Versão do componente de IoT do Greengrass |  AWS::GreengrassV2::ComponentVersion  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/logging-using-cloudtrail.html)  | 
| Implantação do IoT Greengrass |  AWS::GreengrassV2::Deployment  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/logging-using-cloudtrail.html)  | 
| Coisa da IoT | AWS::IoT::Thing |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/greengrass/v2/developerguide/logging-using-cloudtrail.html)  | 

É possível configurar seletores de eventos avançados para filtrar os campos `eventName`, `readOnly` e `resources.ARN` para registrar em log somente os eventos que são importantes para você.

Adicione um filtro `eventName` para incluir ou excluir dados específicos APIs.

Consulte mais informações sobre esses campos em [https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html).

Os exemplos a seguir mostram como configurar seletores avançados usando o AWS CLI. Substitua *TrailName* e *region* pelas próprias informações.

**Example – Registrar eventos de dados para coisas de IoT**  

```
aws cloudtrail put-event-selectors --trail-name TrailName --region region \
--advanced-event-selectors \
‘[
    {
            “Name”: “Log all thing data events”,
            “FieldSelectors”: [
                { “Field”: “eventCategory”, “Equals”: [“Data”] },
                { “Field”: “resources.type”, “Equals”: [“AWS::IoT::Thing”] }
            ]
        }
]’
```

**Example – Filtrar em uma API específica de IoT**  

```
aws cloudtrail put-event-selectors --trail-name TrailName --region region \
--advanced-event-selectors \
‘[
    {
            “Name”: “Log IoT Greengrass PutCertificateAuthorities API calls”,
            “FieldSelectors”: [
                { “Field”: “eventCategory”, “Equals”: [“Data”] },
                { “Field”: “resources.type”, “Equals”: [“AWS::IoT::Thing”] },
                { “Field”: “eventName”, “Equals”: [“PutCertificateAuthorities”] }
            ]
    }
]’
```

**Example – Registrar todos os eventos de dados do Greengrass**  

```
aws cloudtrail put-event-selectors --trail-name TrailName --region region \
--advanced-event-selectors \
‘[
    {
        “Name”: “Log all certificate data events”,
        “FieldSelectors”: [
            {
                “Field”: “eventCategory”,
                “Equals”: [
                    “Data”
                ]
            },
            {
                “Field”: “resources.type”,
                “Equals”: [
                    “AWS::IoT::Certificate”
                ]
            }
        ]
    },
    {
        “Name”: “Log all component version data events”,
        “FieldSelectors”: [
            {
                “Field”: “eventCategory”,
                “Equals”: [
                    “Data”
                ]
            },
            {
                “Field”: “resources.type”,
                “Equals”: [
                    “AWS::GreengrassV2::ComponentVersion”
                ]
            }
        ]
    },
    {
        “Name”: “Log all deployment version”,
        “FieldSelectors”: [
            {
                “Field”: “eventCategory”,
                “Equals”: [
                    “Data”
                ]
            },
            {
                “Field”: “resources.type”,
                “Equals”: [
                    “AWS::GreengrassV2::Deployment”
                ]
            }
        ]
    },
    {
        “Name”: “Log all thing data events”,
        “FieldSelectors”: [
            {
                “Field”: “eventCategory”,
                “Equals”: [
                    “Data”
                ]
            },
            {
                “Field”: “resources.type”,
                “Equals”: [
                    “AWS::IoT::Thing”
                ]
            }
        ]
    }
]’
```

## AWS IoT Greengrass eventos de gerenciamento em CloudTrail
<a name="greengrass-management-events-cloudtrail"></a>

[Os eventos de gerenciamento](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events) fornecem informações sobre as operações de gerenciamento que são realizadas nos recursos AWS da sua conta. Também são conhecidas como operações de ambiente de gerenciamento. Por padrão, CloudTrail registra eventos de gerenciamento.

AWS IoT Greengrass registra todas as operações do plano de AWS IoT Greengrass controle como eventos de gerenciamento. Para ver uma lista das operações do plano de AWS IoT Greengrass controle AWS IoT Greengrass registradas CloudTrail, consulte a [referência da AWS IoT Greengrass API, versão 2](https://docs.aws.amazon.com/greengrass/v2/APIReference/Welcome.html).

## Entendendo as entradas do arquivo de AWS IoT Greengrass V2 log
<a name="understanding-service-name-entries"></a>

Uma trilha é uma configuração que permite a entrega de eventos como arquivos de log para um bucket do S3 que você especificar. CloudTrail os arquivos de log contêm uma ou mais entradas de log. Um evento representa uma solicitação única de qualquer fonte. Ele inclui informações sobre a ação solicitada, a data e a hora da ação, os parâmetros da solicitação e assim por diante. CloudTrail os arquivos de log não são um rastreamento de pilha ordenado das chamadas públicas de API, portanto, eles não aparecem em nenhuma ordem específica. 

O exemplo a seguir mostra uma entrada de CloudTrail registro que demonstra a `CreateDeployment` ação.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "AIDACKCEVSQ6C2EXAMPLE",
        "arn": "arn:aws:iam::123456789012:user/Administrator",
        "accountId": "123456789012",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "userName": "Administrator"
    },
    "eventTime": "2021-01-06T02:38:05Z",
    "eventSource": "greengrass.amazonaws.com",
    "eventName": "CreateDeployment",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "203.0.113.0",
    "userAgent": "aws-cli/2.1.9 Python/3.7.9 Windows/10 exe/AMD64 prompt/off command/greengrassv2.create-deployment",
    "requestParameters": {
        "deploymentPolicies": {
            "failureHandlingPolicy": "DO_NOTHING",
            "componentUpdatePolicy": {
                "timeoutInSeconds": 60,
                "action": "NOTIFY_COMPONENTS"
            },
            "configurationValidationPolicy": {
                "timeoutInSeconds": 60
            }
        },
        "deploymentName": "Deployment for MyGreengrassCoreGroup",
        "components": {
            "aws.greengrass.Cli": {
                "componentVersion": "2.0.3"
            }
        },
        "iotJobConfiguration": {},
        "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup"
    },
    "responseElements": {
        "iotJobArn": "arn:aws:iot:us-west-2:123456789012:job/fdfeba1d-ac6d-44ef-ab28-54f684ea578d",
        "iotJobId": "fdfeba1d-ac6d-44ef-ab28-54f684ea578d",
        "deploymentId": "4196dddc-0a21-4c54-a985-66a525f6946e"
    },
    "requestID": "311b9529-4aad-42ac-8408-c06c6fec79a9",
    "eventID": "c0f3aa2c-af22-48c1-8161-bad4a2ab1841",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "eventCategory": "Management",
    "recipientAccountId": "123456789012"
}
```

# Colete dados de telemetria de integridade do sistema a partir dos dispositivos principais AWS IoT Greengrass
<a name="telemetry"></a>

Os dados de telemetria da integridade do sistema são dados de diagnóstico que podem ajudá-lo a monitorar a performance de operações críticas em seus dispositivos de Greengrass nucleus. É possível criar projetos e aplicações para recuperar, analisar, transformar e relatar dados de telemetria de seus dispositivos de borda. Especialistas em domínio, como engenheiros de processo, podem usar essas aplicações para obter informações sobre a integridade da frota.

É possível usar os seguintes métodos para coletar os dados de telemetria dos seus dispositivos principais do Greengrass:
+ **Componente emissor de telemetria do núcleo**: por padrão, o [componente emissor de telemetria do núcleo](nucleus-emitter-component.md) (`aws.greengrass.telemetry.NucleusEmitter`) em um dispositivo principal do Greengrass publica os dados de telemetria no tópico `$local/greengrass/telemetry`. É possível usar os dados publicados nesse tópico para agir localmente em seu dispositivo principal, mesmo quando seu dispositivo tem conectividade limitada com a nuvem. Opcionalmente, você também pode configurar o componente para publicar dados de telemetria em um tópico do AWS IoT Core MQTT de sua escolha.

  É necessário implantar o componente emissor do núcleo em um dispositivo principal para publicar os dados de telemetria. Não há custos associados à publicação de dados de telemetria no tópico local. No entanto, o uso de um tópico do MQTT para publicar dados no Nuvem AWS está sujeito a [AWS IoT Core preços](https://aws.amazon.com/iot-core/pricing/).

  <a name="greengrass-software-catalog-influxdb-telemetry-publisher"></a>AWS IoT Greengrass fornece vários [componentes da comunidade](greengrass-software-catalog.md) para ajudá-lo a analisar e visualizar dados de telemetria localmente em seu dispositivo principal usando o InfluxDB e o Grafana. Esses componentes usam os dados de telemetria do componente emissor do núcleo. Para obter mais informações, consulte o README do componente do [publicador do InfluxDB](https://github.com/awslabs/aws-greengrass-labs-telemetry-influxdbpublisher).
+ Agente de **telemetria — O agente** de telemetria nos principais dispositivos do Greengrass coleta dados de telemetria locais e os publica na Amazon sem exigir nenhuma interação com o cliente. EventBridge Os dispositivos principais publicam dados de telemetria com EventBridge base no melhor esforço. Por exemplo, os dispositivos de núcleo podem falhar em fornecer dados de telemetria quando estão off-line. 

  Por padrão, o recurso do agente de telemetria está habilitado para todos os dispositivos principais do Greengrass. Você começa a receber os dados automaticamente logo que configura um dispositivo principal do Greengrass. Além dos custos do link de dados, a transferência de dados do dispositivo principal para o AWS IoT Core é gratuita. Isso ocorre porque o agente publica em um tópico AWS reservado. No entanto, dependendo do seu caso de uso, você pode incorrer em custos ao receber ou processar os dados.
**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. Para obter mais informações, consulte [O que é a Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) no *Guia do EventBridge usuário da Amazon*.

Para garantir que o software AWS IoT Greengrass principal funcione adequadamente, AWS IoT Greengrass use os dados para fins de desenvolvimento e melhoria da qualidade. Esse recurso também ajuda a informar recursos de ponta novos e aprimorados. AWS IoT Greengrass retém os dados de telemetria por até sete dias.

Esta seção descreve como configurar e usar o agente de telemetria. Para obter informações sobre como configurar o componente emissor de telemetria do núcleo, consulte [Emissor de telemetria de núcleo](nucleus-emitter-component.md).

**Topics**
+ [Métricas de telemetria](#telemetry-metrics)
+ [Definir as configurações do agente de telemetria](#configure-telemetry-agent-settings)
+ [Assine os dados de telemetria em EventBridge](#subscribe-for-telemetry-data)

## Métricas de telemetria
<a name="telemetry-metrics"></a>

A tabela a seguir descreve as métricas publicadas pelo agente de telemetria.


| Name (Nome) | Description | 
| --- | --- | 
|  **Sistema**  | 
|  `SystemMemUsage`  |  A quantidade de memória atualmente em uso por todas as aplicações no dispositivo principal do Greengrass, incluindo o sistema operacional.  | 
|  `CpuUsage`  |  A quantidade de CPU atualmente em uso por todas as aplicações no dispositivo principal do Greengrass, incluindo o sistema operacional.  | 
|  `TotalNumberOfFDs`  |  O número de descritores de arquivo armazenados pelo sistema operacional do dispositivo de Greengrass nucleus. Um descritor de arquivo identifica exclusivamente um arquivo aberto.  | 
|  **Greengrass nucleus**  | 
|  `NumberOfComponentsRunning`  |  O número de componentes em execução no dispositivo principal do Greengrass.  | 
|  `NumberOfComponentsErrored`  |  O número de componentes que estão em estado de erro no dispositivo principal do Greengrass.  | 
|  `NumberOfComponentsInstalled`  |  O número de componentes que estão instalados no dispositivo principal do Greengrass.  | 
|  `NumberOfComponentsStarting`  |  O número de componentes que estão iniciando no dispositivo principal do Greengrass.  | 
|  `NumberOfComponentsNew`  |  O número de componentes que são novos no dispositivo principal do Greengrass.  | 
|  `NumberOfComponentsStopping`  |  O número de componentes que estão parando no dispositivo principal do Greengrass.  | 
|  `NumberOfComponentsFinished`  |  O número de componentes que são concluídos no dispositivo principal do Greengrass.  | 
|  `NumberOfComponentsBroken`  |  O número de componentes que estão quebrados no dispositivo principal do Greengrass.  | 
|  `NumberOfComponentsStateless`  |  O número de componentes sem estado no dispositivo principal do Greengrass.  | 
|  **Autenticação do dispositivo cliente**: esse recurso requer a versão 2.4.0 ou mais recente do componente de autenticação do dispositivo cliente.  | 
|  `VerifyClientDeviceIdentity.Success`  |  O número de vezes em que a verificação da identidade do dispositivo cliente foi bem-sucedida.  | 
|  `VerifyClientDeviceIdentity.Failure`  |  O número de vezes em que houve falha na verificação da identidade do dispositivo cliente.  | 
|  `AuthorizeClientDeviceActions.Success`  |  O número de vezes que o dispositivo cliente está autorizado a concluir as ações solicitadas.  | 
|  `AuthorizeClientDeviceActions.Failure`  |  O número de vezes que o dispositivo cliente não está autorizado a concluir as ações solicitadas.  | 
|  `GetClientDeviceAuthToken.Success`  |  O número de vezes que o dispositivo cliente foi autenticado com êxito.  | 
|  `GetClientDeviceAuthToken.Failure`  |  O número de vezes que o dispositivo cliente não pôde ser autenticado.  | 
|  `SubscribeToCertificateUpdates.Success`  |  O número de assinaturas bem-sucedidas para atualizações de certificado.  | 
|  `SubscribeToCertificateUpdates.Failure`  |  O número de tentativas malsucedidas de assinar as atualizações de certificado.  | 
|  `ServiceError`  |  O número de erros internos sem tratamento na autenticação do dispositivo cliente.  | 
|  **Gerenciador de fluxos**: esse recurso requer a versão 2.7.0 ou mais recente do componente do Greengrass nucleus.  | 
|  `BytesAppended`  |  O número de bytes de dados anexados ao gerenciador de fluxo.  | 
|  `BytesUploadedToIoTAnalytics`  |  O número de bytes de dados que o gerenciador de fluxo exporta para os canais em AWS IoT Analytics.  | 
|  `BytesUploadedToKinesis`  |  O número de bytes de dados que o gerenciador de fluxos exporta para streams no Amazon Kinesis Data Streams.  | 
|  `BytesUploadedToIoTSiteWise`  |  O número de bytes de dados que o gerenciador de fluxo exporta para as propriedades do ativo AWS IoT SiteWise.  | 
|  `BytesUploadedToS3`  |  O número de bytes de dados que o gerenciador de fluxos exporta para objetos no Amazon S3.  | 
|  **Métricas do sistema**: esse recurso está disponível para a versão 2.15.0 ou posterior do componente do Greengrass nucleus.  | 
|  `CPUArchitecture`  |  Arquitetura da unidade central de processamento do dispositivo.  | 
|  `Family`  |  Família de sistemas operacionais do dispositivo (somente Windows).  | 
|  `KernelVersion`  |  Versão do kernel do dispositivo (somente Unix).  | 
|  `KnowledgeBaseArticles`  |  Artigos da Base de conhecimento instalados em um dispositivo (somente Windows).  | 
|  `OSBuildMajor`  |  O número principal da compilação da versão do sistema operacional (somente Windows).  | 
|  `OSBuildMinor`  |  O número secundário da compilação da versão do sistema operacional (somente Windows).  | 
|  `OSName`  |  O nome do sistema operacional do dispositivo.  | 
|  `OSVersion`  |  A versão de marketing do sistema operacional do dispositivo.  | 

## Definir as configurações do agente de telemetria
<a name="configure-telemetry-agent-settings"></a>

O agente de telemetria usa as seguintes configurações padrão:
+ O atendente de telemetria agrega dados de telemetria a cada hora.
+ O atendente de telemetria publica uma mensagem de telemetria a cada 24 horas.

O agente de telemetria publica os dados usando o protocolo MQTT com nível 0 de qualidade do serviço (QoS), o que significa que ele não confirma a entrega nem tenta publicar novamente. As mensagens de telemetria compartilham uma conexão MQTT com outras mensagens para assinatura destinadas a AWS IoT Core.

Além dos custos do link de dados, a transferência de dados do núcleo para o AWS IoT Core é gratuita. Isso ocorre porque o agente publica em um tópico AWS reservado. No entanto, dependendo do seu caso de uso, você pode incorrer em custos ao receber ou processar os dados.

É possível habilitar ou desabilitar o recurso do agente de telemetria para cada dispositivo principal do Greengrass. Você também pode configurar os intervalos nos quais o dispositivo principal agrega e publica os dados. Para configurar a telemetria, personalize o [parâmetro de configuração de telemetria](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-telemetry) quando você implantar o [componente do Greengrass nucleus](greengrass-nucleus-component.md).

## Assine os dados de telemetria em EventBridge
<a name="subscribe-for-telemetry-data"></a>

Você pode criar regras na Amazon EventBridge que definam como processar dados de telemetria publicados pelo agente de telemetria no dispositivo principal do Greengrass. Quando EventBridge recebe os dados, ele invoca as ações-alvo definidas em suas regras. Por exemplo, crie regras de eventos que enviem notificações, armazenem informações, tomem medidas corretivas ou invoquem outros eventos.

### Eventos de telemetria
<a name="events-message-format"></a>

Os eventos de telemetria usam o formato a seguir.

```
{
  "version": "0",
  "id": "a09d303e-2f6e-3d3c-a693-8e33f4fe3955",
  "detail-type": "Greengrass Telemetry Data",
  "source": "aws.greengrass",
  "account": "123456789012",
  "time": "2020-11-30T20:45:53Z",
  "region": "us-east-1",
  "resources": [],
  "detail": {
    "ThingName": "MyGreengrassCore",
    "Schema": "2020-07-30",
    "ADP": [
      {
        "TS": 1602186483234,
        "NS": "SystemMetrics",
        "M": [
          {
            "N": "TotalNumberOfFDs",
            "Sum": 6447.0,
            "U": "Count"
          },
          {
            "N": "CpuUsage",
            "Sum": 15.458333333333332,
            "U": "Percent"
          },
          {
            "N": "SystemMemUsage",
            "Sum": 10201.0,
            "U": "Megabytes"
          }
        ]
      },
      {
        "TS": 1602186483234,
        "NS": "GreengrassComponents",
        "M": [
          {
            "N": "NumberOfComponentsStopping",
            "Sum": 0.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsStarting",
            "Sum": 0.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsBroken",
            "Sum": 0.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsFinished",
            "Sum": 1.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsInstalled",
            "Sum": 0.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsRunning",
            "Sum": 7.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsNew",
            "Sum": 0.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsErrored",
            "Sum": 0.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsStateless",
            "Sum": 0.0,
            "U": "Count"
          }
        ]
      },
      {
        "TS": 1602186483234,
        "NS": "aws.greengrass.ClientDeviceAuth",
        "M": [
          {
            "N": "VerifyClientDeviceIdentity.Success",
            "Sum": 3.0,
            "U": "Count"
          },
          {
            "N": "VerifyClientDeviceIdentity.Failure",
            "Sum": 1.0,
            "U": "Count"
          },
          {
            "N": "AuthorizeClientDeviceActions.Success",
            "Sum": 20.0,
            "U": "Count"
          },
          {
            "N": "AuthorizeClientDeviceActions.Failure",
            "Sum": 5.0,
            "U": "Count"
          },
          {
            "N": "GetClientDeviceAuthToken.Success",
            "Sum": 5.0,
            "U": "Count"
          },
          {
            "N": "GetClientDeviceAuthToken.Failure",
            "Sum": 2.0,
            "U": "Count"
          },
          {
            "N": "SubscribeToCertificateUpdates.Success",
            "Sum": 10.0,
            "U": "Count"
          },
          {
            "N": "SubscribeToCertificateUpdates.Failure",
            "Sum": 1.0,
            "U": "Count"
          },
          {
            "N": "ServiceError",
            "Sum": 3.0,
            "U": "Count"
          }
        ]
      },
      {
        "TS": 1602186483234,
        "NS": "aws.greengrass.StreamManager",
        "M": [
          {
            "N": "BytesAppended",
            "Sum": 157745524.0,
            "U": "Bytes"
          },
          {
            "N": "BytesUploadedToIoTAnalytics",
            "Sum": 149012.0,
            "U": "Bytes"
          },
          {
            "N": "BytesUploadedToKinesis",
            "Sum": 12192.0,
            "U": "Bytes"
          },
          {
            "N": "BytesUploadedToIoTSiteWise",
            "Sum": 13321.0,
            "U": "Bytes"
          },
          {
            "N": "BytesUploadedToS3",
            "Sum": 12213.0,
            "U": "Bytes"
          }
        ]
      }
      {
        "TS": 1750104449426,
        "NS": "SystemMetrics",
        "M": [
          {
            "N": "KernelVersion",
            "Sum": 1,
            "U": "6.1.140-154.222.amzn2023.x86_64"
          },
          {
            "N": "OSVersion",
            "Sum": 1,
            "U": "2023.7.20250609"
          },
          {
            "N": "OSName",
            "Sum": 1,
            "U": "Amazon Linux"
          },
          {
            "N": "CPUArchitecture",
            "Sum": 1,
            "U": "Broadwell (Server)"
          },
        ]
      }
    ]
  }
}
```<a name="telemetry-agent-adp-array-config"></a>

A matriz `ADP` contém uma lista de pontos de dados agregados que têm as seguintes propriedades:

`TS`  
O carimbo de data/hora de quando os dados foram coletados.

`NS`  
O namespace de métrica.

`M`  
Lista de métricas. Uma métrica contém as seguintes propriedades:    
`N`  
O nome da métrica.  
`Sum`  
A soma dos valores da métrica neste evento de telemetria.  
`U`  
A unidade do valor da métrica.

Para obter mais informações sobre cada métrica, consulte [Métricas de telemetria](#telemetry-metrics).

### Pré-requisitos para criar regras EventBridge
<a name="create-events-rule-prerequisites-telemetry"></a>

Antes de criar uma EventBridge regra para AWS IoT Greengrass, você deve fazer o seguinte:
+ Familiarize-se com eventos, regras e metas em EventBridge.
+ Crie e configure os [alvos](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-targets.html) invocados por suas EventBridge regras. As regras podem invocar vários tipos de destinos, como streams, funções AWS Lambda , tópicos do Amazon SNS e filas do Amazon SQS.

  Sua EventBridge regra e os alvos associados devem estar no Região da AWS local em que você criou seus recursos do Greengrass. Para obter mais informações, consulte [Endpoints e cotas do serviço](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) na *Referência geral da AWS*.

Para obter mais informações, consulte [O que é a Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) e [Introdução à Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-getting-set-up.html) no *Guia do EventBridge usuário da Amazon*.

### Crie uma regra de evento para obter dados de telemetria (console)
<a name="create-telemetry-event-rule-console"></a>

Use as etapas a seguir para usar o Console de gerenciamento da AWS para criar uma EventBridge regra que receba dados de telemetria publicados pelo dispositivo principal do Greengrass. 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](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) do * EventBridge usuário da Amazon*.

1. Abra o [ EventBridgeconsole da Amazon](https://console.aws.amazon.com/events/) e escolha **Criar regra**.

1. Em **Name and description (Nome e descrição)**, insira um nome e uma descrição para a regra.

1. Em **Define pattern (Definir padrão)**, configure o padrão de regra.

   1. Escolha **Event pattern (Padrão de evento)**.

   1. Escolha **Pre-defined pattern by service (Padrão predefinido por serviço)**.

   1. Em **Service provider** (Provedor de serviços), escolha **AWS**.

   1. Em **Service name (Nome do serviço)**, escolha **Greengrass**.

   1. Em **Tipo de evento**, selecione **Dados de telemetria do Greengrass**.

1. Em **Select event bus (Selecionar barramento de eventos)**, mantenha as opções de barramento de eventos padrão.

1. Em **Select targets (Selecionar destinos)**, configure seu destino. O exemplo a seguir usa uma fila do Amazon SQS, mas você pode configurar outros tipos de destino.

   1. Em **Destino**, escolha **Fila do SQS**.

   1. Em **Fila\$1**, escolha a fila de destino.

1. Em **Tags - optional (Tags - opcional)**, defina tags para a regra ou deixe os campos em branco.

1. Escolha **Criar**.

### Crie uma regra de evento para obter dados de telemetria (CLI)
<a name="create-telemetry-event-rule-cli"></a>

Use as etapas a seguir para usar o AWS CLI para criar uma EventBridge regra que receba dados de telemetria publicados pelos dispositivos principais 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.
   + *thing-name*Substitua pelo nome do item do dispositivo principal.

------
#### [ Linux or Unix ]

   ```
   aws events put-rule \
     --name MyGreengrassTelemetryEventRule \
     --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"ThingName\": [\"thing-name\"]}}"
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   aws events put-rule ^
     --name MyGreengrassTelemetryEventRule ^
     --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"ThingName\": [\"thing-name\"]}}"
   ```

------
#### [ PowerShell ]

   ```
   aws events put-rule `
     --name MyGreengrassTelemetryEventRule `
     --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"ThingName\": [\"thing-name\"]}}"
   ```

------

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

1. Adicione o tópico como um destino de regra. O exemplo a seguir usa o Amazon SQS, mas você pode configurar outros tipos de destino.
   + *queue-arn*Substitua pelo ARN da sua fila do Amazon SQS.

------
#### [ Linux or Unix ]

   ```
   aws events put-targets \
     --rule MyGreengrassTelemetryEventRule \
     --targets "Id"="1","Arn"="queue-arn"
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   aws events put-targets ^
     --rule MyGreengrassTelemetryEventRule ^
     --targets "Id"="1","Arn"="queue-arn"
   ```

------
#### [ PowerShell ]

   ```
   aws events put-targets `
     --rule MyGreengrassTelemetryEventRule `
     --targets "Id"="1","Arn"="queue-arn"
   ```

------
**nota**  
Para permitir que EventBridge a Amazon invoque sua fila 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 SQS no Guia EventBridge ](https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sqs-permissions) *do usuário da Amazon*.

Para obter mais informações, consulte [Eventos e padrões de eventos EventBridge no](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) *Guia do EventBridge usuário da Amazon*.

# Receber notificações de status de integridade de componentes e implantações
<a name="deployment-health-notifications"></a>

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](telemetry.md) e notificações de componentes e de implantação. Para obter mais informações, consulte [O que é a Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) no *Guia do EventBridge usuário da Amazon*.

**Topics**
+ [Evento de alteração de status da implantação](#deployment.events-message-format)
+ [Evento de alteração de status do componente](#component.events-message-format)
+ [Pré-requisitos para criar regras EventBridge](#create-events-rule-prereqs)
+ [Configurar notificações de integridade do dispositivo (console)](#create-events-rule-console)
+ [Configurar notificações de integridade do dispositivo (CLI)](#create-events-rule-cli)
+ [Configurar notificações de saúde do dispositivo (CloudFormation)](#create-events-rule-cloudformation)
+ [Consulte também](#deployment-notifications-see-also)

## Evento de alteração de status da implantação
<a name="deployment.events-message-format"></a>

AWS IoT Greengrass emite um evento quando uma implantação entra nos seguintes estados: `FAILED``SUCCEEDED`,`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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html) 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 como `FAILED`, `SUCCEEDED`, `COMPLETED`, `REJECTED` ou `CANCELED`. 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 da implantação, consulte [Códigos detalhados de erros de implantação](troubleshooting-deployment.md).

**Estados de implantação**  
+ `FAILED`. Houve falha na implantação.
+ `SUCCEEDED`. A implantação direcionada a um grupo de objetos foi concluída com sucesso.
+ `COMPLETED`. A implantação direcionada a um objeto foi concluída com sucesso.
+ `REJECTED`. A implantação foi rejeitada. Para mais informações, consulte o campo `statusDetails`.
+ `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 uma lista completa dos códigos de erro em `errorStacks` e `errorTypes`, consulte [Códigos detalhados de erros de implantação](troubleshooting-deployment.md) e [Códigos detalhados de status de componente](troubleshooting-component.md).

## Evento de alteração de status do componente
<a name="component.events-message-format"></a>

Para AWS IoT Greengrass as 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 núcleo do Greengrass, o Greengrass emite um evento quando um componente entra nos seguintes estados: `ERRORED`, `BROKEN`, `RUNNING` e `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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html) para uma mudança de estado de 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 com falhas. 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, consulte [Códigos detalhados de status de componente](troubleshooting-component.md).

## Pré-requisitos para criar regras EventBridge
<a name="create-events-rule-prereqs"></a>

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 Notiﬁcation 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?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) e [Introdução à Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-getting-set-up.html) no *Guia do EventBridge usuário da Amazon*.

## Configurar notificações de integridade do dispositivo (console)
<a name="create-events-rule-console"></a>

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](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) do * EventBridge usuário da Amazon*.

1. Abra o [ EventBridgeconsole da Amazon](https://console.aws.amazon.com/events/).

1. No painel de navegação, escolha **Regras**.

1. Escolha **Create rule**.

1. 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.

1. 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.

1. Em **Rule type**, escolha **Rule with an event pattern**.

1. Escolha **Próximo**.

1. Em **Origem de eventos**, escolha **Eventos da AWS **.

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

1. Em ** Serviço da AWS **, selecione Greengrass.

1. Para o **Tipo de evento**, escolha entre as seguintes opções:
   + Para eventos de implantação, escolha **Alteração do status de implantação efetiva do Greengrass V2**.
   + Para eventos de componentes, escolha **Alteração de status do componente instalado do Greengrass V2**.

1. Escolha **Próximo**.

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

1. 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)**.

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

   1. Escolha **Próximo**.

1. Escolha **Próximo**.

1. Analise os detalhes da regra e selecione **Criar regra**.

## Configurar notificações de integridade do dispositivo (CLI)
<a name="create-events-rule-cli"></a>

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 alteração 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 alteração de status do componente.

     ```
     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.

1. Adicione o tópico como um destino de regra.
   + *topic-arn*Substitua pelo ARN do seu tópico do Amazon SNS.

   ```
   aws events put-targets \
     --rule TestRule \
     --targets "Id"="1","Arn"="topic-arn"
   ```
**nota**  
Para permitir que EventBridge a Amazon chame 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 ](https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sns-permissions) *do usuário da Amazon*.

Para obter mais informações, consulte [Eventos e padrões de eventos EventBridge no](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) *Guia do EventBridge usuário da Amazon*.

## Configurar notificações de saúde do dispositivo (CloudFormation)
<a name="create-events-rule-cloudformation"></a>

Use 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](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Events.html) no *Guia AWS CloudFormation do usuário*.

## Consulte também
<a name="deployment-notifications-see-also"></a>
+ [Verificar o status da implantação do dispositivo](check-deployment-status.md#check-device-deployment-status)
+ [O que é a Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) no *Guia do EventBridge usuário da Amazon*

# Verificar o status do dispositivo principal do Greengrass
<a name="device-status"></a>

Os principais dispositivos do Greengrass reportam o status de seus componentes de software para. AWS IoT Greengrass Você pode verificar o resumo da integridade de cada dispositivo e verificar o status de cada componente em cada dispositivo.

Os dispositivos de nucleo têm os seguintes status de integridade:
+ `HEALTHY`— O software AWS IoT Greengrass principal e todos os componentes são executados sem problemas no dispositivo principal.
+ `UNHEALTHY`— O software AWS IoT Greengrass principal ou um componente está em um estado de erro no dispositivo principal.

**nota**  
AWS IoT Greengrass depende de dispositivos individuais para enviar atualizações de status para o. Nuvem AWS Se o software AWS IoT Greengrass Core não estiver em execução no dispositivo ou se o dispositivo não estiver conectado ao Nuvem AWS, o status relatado desse dispositivo pode não refletir seu status atual. O registro de data e hora do status indica quando o status do dispositivo foi atualizado pela última vez.  
Os dispositivos principais enviam atualizações de status nos seguintes horários:  
Quando o software AWS IoT Greengrass principal é iniciado
Quando o dispositivo principal recebe uma implantação do Nuvem AWS
Para o núcleo do Greengrass 2.12.2 e versões anteriores, o dispositivo principal envia atualizações quando o status de qualquer componente no dispositivo principal se torna `ERRORED` ou `BROKEN`.
Para o núcleo do Greengrass 2.12.3 e posterior, o dispositivo principal envia atualizações quando o status de qualquer componente no dispositivo principal se torna `ERRORED`, `BROKEN`, `RUNNING` ou `FINISHED`.
Em um [intervalo regular que você pode configurar](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-fss), cujo padrão é 24 horas
Para o AWS IoT Greengrass Core v2.7.0 e versões posteriores, o dispositivo principal envia atualizações de status quando a implantação local e a implantação na nuvem ocorrem

**Topics**
+ [Verificar a integridade de um dispositivo principal](#check-core-device-health-status)
+ [Verificar a integridade de um grupo de dispositivo principal](#check-core-device-group-health-status)
+ [Verificar o status do componente de núcleo do dispositivo](#check-core-device-component-status)

## Verificar a integridade de um dispositivo principal
<a name="check-core-device-health-status"></a>

Você pode verificar o status dos dispositivos principais individuais.

**Para verificar o status de um dispositivo principal (AWS CLI)**
+ Execute o comando a seguir para recuperar o status de um dispositivo. Substitua *coreDeviceName* pelo nome do dispositivo principal que será consultado.

  ```
  aws greengrassv2 get-core-device --core-device-thing-name coreDeviceName
  ```

  A resposta contém informações sobre o dispositivo principal, incluindo o status dele.

## Verificar a integridade de um grupo de dispositivo principal
<a name="check-core-device-group-health-status"></a>

Você pode verificar o status de um grupo de dispositivos principais (um grupo de objetos).

**Para verificar o status de um grupo de dispositivos (AWS CLI)**
+ Execute o seguinte comando para recuperar o status de vários dispositivos principais. Substitua o ARN no comando pelo ARN do grupo de objetos a ser consultado.

  ```
  aws greengrassv2 list-core-devices --thing-group-arn "arn:aws:iot:region:account-id:thinggroup/thingGroupName"
  ```

  A resposta contém a lista dos dispositivos principais do grupo de objetos. Cada entrada da lista contém o status do dispositivo principal.

## Verificar o status do componente de núcleo do dispositivo
<a name="check-core-device-component-status"></a>

Você pode verificar o status, como o estado do ciclo de vida, dos componentes de software em um dispositivo principal. Para obter mais informações sobre os estados do ciclo de vida dos componentes, consulte [Desenvolver componentes do AWS IoT Greengrass](develop-greengrass-components.md).

**Para verificar o status dos componentes em um dispositivo principal (AWS CLI)**
+ Execute o seguinte comando para recuperar o status dos componentes em um dispositivo principal. Substitua *coreDeviceName* pelo nome do dispositivo principal que será consultado.

  ```
  aws greengrassv2 list-installed-components --core-device-thing-name coreDeviceName
  ```

  A resposta contém a lista de componentes que são executados no dispositivo principal. Cada entrada na lista contém o estado do ciclo de vida do componente, incluindo o status atual dos dados e quando o dispositivo principal do Greengrass enviou pela última vez uma mensagem contendo um determinado componente para a nuvem. A resposta também incluirá a fonte de implantação mais recente que trouxe o componente para o dispositivo principal do Greengrass.
**nota**  
Este comando recupera uma lista paginada dos componentes executados por um dispositivo principal do Greengrass. Por padrão, essa lista não inclui componentes que são implantados como dependências de outros componentes. Você pode incluir dependências na resposta definindo o parâmetro `topologyFilter` como `ALL`.