

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

# Monitoramento AWS IoT
<a name="monitoring_overview"></a>

O monitoramento é uma parte importante da manutenção da confiabilidade, disponibilidade e desempenho de AWS IoT suas AWS soluções.

Recomendamos fortemente que você colete dados de monitoramento de todas as partes da sua AWS solução para facilitar a depuração de uma falha multiponto, caso ocorra. Comece criando um plano de monitoramento que responda às seguintes perguntas. Se não tiver certeza de como respondê-las, você ainda poderá continuar a [habilitar o registro em log](configure-logging.md) e estabelecer suas linhas de base de desempenho.
+ 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?

Sua próxima etapa é [habilitar o registro](configure-logging.md) e estabelecer uma linha de base do AWS IoT desempenho normal em seu ambiente medindo o desempenho em vários momentos e sob diferentes condições de carga. Ao monitorar AWS IoT, mantenha os dados históricos de monitoramento para poder compará-los com os dados de desempenho atuais. Isso ajuda a identificar padrões normais e anomalias de desempenho e a criar métodos para tratar os problemas.

Para estabelecer seu desempenho básico AWS IoT, você deve monitorar essas métricas para começar. Você sempre poderá monitorar mais métricas posteriormente.
+  [`PublishIn.Success`](metrics_dimensions.md#message-broker-metrics) 
+  [`PublishOut.Success`](metrics_dimensions.md#message-broker-metrics) 
+  [`Subscribe.Success`](metrics_dimensions.md#message-broker-metrics) 
+  [`Ping.Success`](metrics_dimensions.md#message-broker-metrics) 
+  [`Connect.Success`](metrics_dimensions.md#message-broker-metrics) 
+  [`GetThingShadow.Accepted`](metrics_dimensions.md#shadow-metrics) 
+  [`UpdateThingShadow.Accepted`](metrics_dimensions.md#shadow-metrics) 
+  [`DeleteThingShadow.Accepted`](metrics_dimensions.md#shadow-metrics) 
+  [`RulesExecuted`](metrics_dimensions.md#iot-metrics) 

Os tópicos desta seção podem ajudar você a começar o registro em log e o monitoramento da AWS IoT.

**Topics**
+ [Configurar o AWS IoT registro](configure-logging.md)
+ [Monitore AWS IoT alarmes e métricas usando a Amazon CloudWatch](monitoring-cloudwatch.md)
+ [Monitore AWS IoT usando CloudWatch registros](cloud-watch-logs.md)
+ [Faça upload de registros do lado do dispositivo para a Amazon CloudWatch](upload-device-logs-to-cloudwatch.md)
+ [Registrando chamadas de AWS IoT API usando AWS CloudTrail](iot-using-cloudtrail.md)

# Configurar o AWS IoT registro
<a name="configure-logging"></a>

Você deve ativar o registro usando o AWS IoT console, a CLI ou a API antes de poder monitorar e registrar AWS IoT atividades. Você pode configurar o registro AWS IoT em três níveis: nível da conta, nível do evento ou nível específico do recurso. O registro em nível de evento e específico de recursos está disponível exclusivamente com o registro V2. Os clientes que usam o registro da V1 devem realizar uma migração para a V2 para acessar esses recursos. Veja [os detalhes](https://docs.aws.amazon.com/iot/latest/developerguide/configure-logging.html#migration-v1-v2). 

Ao considerar como configurar seu AWS IoT registro, a configuração de registro em nível de conta determina como a AWS IoT atividade será registrada, a menos que especificado de outra forma. Para começar, talvez você queira obter registros detalhados com um [nível de registro](https://docs.aws.amazon.com/iot/latest/developerguide/configure-logging.html#log-level) padrão de INFO ou DEBUG. Depois de analisar os registros iniciais, você pode alterar o nível de registro padrão para um nível menos detalhado, como WARN ou ERROR no nível da conta ou do evento, e definir um nível de registro mais detalhado específico para os recursos que talvez precisem de mais atenção. É possível alterar os níveis de log sempre que quiser. 

Este tópico aborda o login na nuvem. AWS IoT Para obter informações sobre registro e monitoramento do lado do dispositivo, consulte [Carregar registros do lado do dispositivo](https://docs.aws.amazon.com/iot/latest/developerguide/upload-device-logs-to-cloudwatch.html) para. CloudWatch

Para obter informações sobre registro e monitoramento AWS IoT Greengrass, consulte [Registro e monitoramento em AWS IoT Greengrass](https://docs.aws.amazon.com/greengrass/v2/developerguide/logging-and-monitoring.html). 

## Configurando o login da V2 AWS IoT
<a name="configuring-v2-logging"></a>

### Determinando sua versão de registro
<a name="determing-your-logging-version"></a>

A [LoggingOptions API GetV2](https://docs.aws.amazon.com/iot/latest/apireference/API_GetV2LoggingOptions.html) retornará um NotConfiguredException se o registro V2 não estiver ativado. Esse erro ocorre quando o registro V1 está em uso ou nenhum registro foi configurado. 

### Entendendo os recursos de registro da V2
<a name="understanding-v2-logging-features"></a>

O registro V2 fornece dois recursos principais: registro em nível de evento e registro específico de recursos. O registro em nível de evento permite a configuração de registro direcionada com níveis de registro e CloudWatch destinos de grupos de registros personalizáveis. O registro específico de recursos permite filtrar os registros por grupo de coisas, IP de origem, ID do cliente ou ID principal. Juntos, esses recursos fornecem controle granular e visibilidade abrangente das operações de IoT, melhorando a capacidade de pesquisa de registros e reduzindo custos ao eliminar atividades de registro desnecessárias. 

### Migrar de V1 para V2
<a name="migration-v1-v2"></a>

[Você pode migrar para o registro V2 usando a LoggingOptions API SetV2 por meio da CLI AWS ou do SDK.](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/set-v2-logging-options.html) Após a migração, encaminha AWS IoT automaticamente todos os registros para o CloudWatch grupo de registros AWSIot 'LogsV2'. Importante: se seus aplicativos ou recursos downstream consumirem informações de 'AWSIotRegistros', atualize-os para usar o caminho do grupo de registros correspondente. 

## Configurar a função e a política de registro em log
<a name="configure-logging-role-and-policy"></a>

 Antes de ativar o login AWS IoT, você deve criar uma função do IAM e uma política que dê AWS IoT permissão para gravar atividades de AWS IoT registro em grupos de CloudWatch registros em seu nome. Você também pode gerar uma função do IAM com as políticas necessárias na [seção Logs do AWS IoT console](https://console.aws.amazon.com/iot/home#/settings/logging). 

**nota**  
Antes de ativar o AWS IoT registro, certifique-se de entender as permissões de acesso aos CloudWatch registros. Os usuários com acesso aos CloudWatch registros podem ver as informações de depuração dos seus dispositivos. Para obter mais informações, consulte [Autenticação e controle de acesso para Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html).  
Se você espera altos padrões de tráfego AWS IoT Core devido ao teste de carga, considere desativar o registro de IoT para evitar a limitação. Se for detectado tráfego intenso, nosso serviço poderá desativar o registro em log em sua conta.

Veja a seguir como criar uma função de registro e uma política para AWS IoT Core recursos.

### Criar uma função de registro em log
<a name="create-logging-role"></a>

Para criar uma função de registro em log, abra o [hub Roles do console do IAM](https://console.aws.amazon.com/iam/home#/roles) e escolha a opção **Criar função**. 

1. Em **Selecionar tipo de entidade confiável**, selecione a opção **AWS Serviço**. Em seguida, escolha a opção **IoT** em **Caso de uso**. Se você não vir a opção **IoT**, entre e pesquise **IoT** no menu suspenso **Casos de uso para outros serviços da AWS :**. Escolha **Próximo**. 

1. Na página **Adicionar permissões**, você verá as políticas que são automaticamente anexadas ao perfil de serviço. Escolha **Próximo**. 

1. Na página **Nome, revisão e criação**, insira um **Nome do perfil** e uma **Descrição da função** para a função e escolha **Criar função**. 

### Política de função de registro em log
<a name="logging-role-policy"></a>

Os documentos de política a seguir fornecem a política de função e a política de confiança que AWS IoT permitem enviar entradas de registro CloudWatch em seu nome. Se você configurar o registro em nível de evento com um grupo de CloudWatch registros personalizado, deverá atualizar a política de função para incluir o ARN do recurso personalizado. 

Se você também tiver permissão AWS IoT Core for LoRaWAN para enviar entradas de registro, verá um documento de política criado para você que registra as duas atividades. 

**nota**  
Esses documentos foram criados para você quando você criou a função de registro em log. Os documentos têm variáveis, * `${partition}`, ** `${region}` *, e* `${accountId}` *, que você deve substituir por seus valores.  
Substitua a partição pela partição da região.
Substitua a AWS região pela região que você usa. Certifique-se de usar a mesma AWS região usada para configurar a AWS CLI em seu dispositivo.
Substitua o ID da conta pelo ID da sua AWS conta.

Política da função:

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "logs:CreateLogGroup",
                "logs:CreateLogStream",
                "logs:PutLogEvents",
                "logs:PutMetricFilter",
                "logs:PutRetentionPolicy",
                "iot:GetLoggingOptions",
                "iot:SetLoggingOptions",
                "iot:SetV2LoggingOptions",
                "iot:GetV2LoggingOptions",
                "iot:SetV2LoggingLevel",
                "iot:ListV2LoggingLevels",
                "iot:DeleteV2LoggingLevel"
            ],
            "Resource": [
                "arn:aws:logs:us-east-1:123456789012:log-group:AWSIotLogsV2:*"
            ]
        }
    ]
}
```

Política de confiança para registrar somente AWS IoT Core atividades:

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Principal": {
                "Service": "iot.amazonaws.com"
        },
            "Action": "sts:AssumeRole"
        }
    ]
}
```

AWS IoT O Logging pode falhar ao publicar o registro no CloudWatch Logs devido à insuficiência de permissões de função do IAM. Quando isso ocorrer, verifique [as métricas de CloudWatch registro](https://docs.aws.amazon.com/iot/latest/developerguide/metrics_dimensions.html#logging-metrics) para investigar e solucionar as falhas.

## Configurar o login no AWS IoT (console)
<a name="configure-logging-console"></a>

Esta seção descreve como configurar o AWS IoT registro usando o AWS IoT console. Você pode configurar o registro em nível de conta, de evento e de recursos específicos.

**Para configurar o AWS IoT registro:**

1. Faça login no AWS IoT console. Para obter mais informações, consulte [Abra o AWS IoT console](setting-up.md#iot-console-signin).

1. No painel de navegação esquerdo, escolha **Registros** (anteriormente uma seção em Configurações). 

1. Configure o registro em nível de conta: o registro em nível de conta se aplica a toda a sua AWS IoT frota (dispositivos ou endpoints), a menos que seja substituído por configurações específicas de recursos ou de nível de evento.

   1. Em Registro em nível de conta, selecione **Gerenciar registro em nível de conta para fazer** atualizações. 

   1. Marque a caixa de seleção “Ativar registro” para começar a enviar registros para CloudWatch. Quando a opção “Ativar registro” estiver desmarcada, não AWS IoT enviará nenhum CloudWatch registro para grupos de registros, independentemente das configurações de registro em nível de evento ou em nível de recurso. 

   1. Em **Função de log do IAM**, selecione uma função existente na lista suspensa. Você pode **ver os detalhes da função** para inspecionar as permissões da função. Como alternativa, selecione **Criar nova função** para configurar uma nova função do IAM. A função de registro fornece políticas que AWS IoT permitem enviar entradas de registro CloudWatch em seu nome. Se você configurar o registro em nível de evento com um grupo de CloudWatch registros personalizado, deverá atualizar a política de função para incluir o ARN desse grupo de registros. 

   1. Escolha o **nível de registro padrão** que corresponde ao [nível de detalhe](https://docs.aws.amazon.com/iot/latest/developerguide/configure-logging.html#log-level) das entradas de registro que você deseja que apareçam nos CloudWatch registros. Nota: O nível de registro “DEBUG” fornece mais detalhes, mas aumenta CloudWatch os custos. CloudWatch os destinos do grupo de registros não podem ser configurados no nível da conta. No entanto, você pode especificar grupos de registros personalizados para tipos de eventos individuais, conforme descrito na seção a seguir. 

   1. Escolha **Atualizar registro** para salvar suas alterações. 

1. O registro em nível de evento permite que você capture seletivamente registros de eventos relevantes e os direcione para grupos de registros dedicados CloudWatch . Isso lhe dá a flexibilidade de organizar registros por casos de uso para melhor visibilidade, compartilhá-los com diferentes públicos e reduzir CloudWatch custos ativando registros e definindo níveis de registro com base na criticidade do evento. 

   Configurar o registro **em nível de evento: o registro** em nível de evento captura AWS IoT eventos específicos, como tentativas de autenticação do cliente. Essas configurações substituem o registro em nível de conta.

   1. Na seção **Registro em nível de evento, selecione Gerenciar registro** **em nível de evento para fazer** atualizações. 

   1. Por padrão, os tipos de eventos herdam a configuração de registro em nível de conta. Observação: quando o registro específico do recurso é configurado, ele substitui as configurações em nível de conta e evento. 

   1. Para modificar as configurações de eventos individuais, clique no valor na linha de eventos correspondente. Você pode ajustar o nível de registro e o destino do grupo de CloudWatch registros. Ao especificar um destino de grupo de CloudWatch registros personalizado, você deve verificar se a política de função do IAM inclui permissões para o novo grupo de registros. A falha na atualização da política de funções AWS IoT impedirá a gravação de registros no grupo de registros personalizados. Depois de fazer sua seleção, clique na marca de seleção para confirmar sua escolha. A coluna **“Foi modificado”** exibirá “Sim” para indicar alterações pendentes. 

   1. Clique em **Atualizar registro** para aplicar suas alterações ou escolha **Cancelar** para descartar. 

1. Configurar substituições específicas de recursos: as substituições específicas de recursos aplicam uma configuração de registro aos recursos selecionados. Um recurso pode ser um grupo de coisas, IP de origem, ID do cliente ou ID principal. A configuração de registro específica do recurso substitui as configurações no nível da conta e no nível do evento. Quando ativado, ele gera registros para todos os tipos de eventos no nível de registro configurado para os recursos especificados. Por exemplo, você pode definir o registro em nível de depuração para uma coisa específica enquanto mantém o registro em nível de informação para todas as outras coisas. 

   1. Selecione **Adicionar substituições específicas de recursos na seção Substituições específicas** de recursos. 

   1. Escolha um destino de registro: Thing group, Source IP, Client ID ou Principal ID. 

   1. Insira o valor alvo de log correspondente para o tipo de alvo selecionado. 

   1. Selecione o nível de registro desejado no menu suspenso na seção Nível de registro específico do recurso. 

   1. Clique em **Enviar** para adicionar a substituição ou em **Cancelar** para descartar as alterações. 

   1. Para modificar uma substituição específica de um recurso existente, marque a caixa de seleção ao lado do recurso e clique em “Remover” para excluir a substituição ou em “Editar” para modificar. 

Depois que habilitar o registro em log, acesse [Visualizando AWS IoT registros no CloudWatch console](cloud-watch-logs.md#viewing-logs) para saber mais sobre como visualizar as entradas de log.

## Configurar login em nível de conta e evento ( AWS IoT CLI)
<a name="global-logging-cli"></a>

Esta seção descreve como configurar o registro global AWS IoT usando a CLI.

Opcionalmente, você pode configurar o registro em nível de evento. O registro em nível de evento captura informações de registro no nível do evento, como eventos de autenticação e autorização ou criação de certificados. Você pode personalizar o nível do registro e os destinos do grupo de CloudWatch registros no nível do evento. O registro em nível de evento opera em um nível mais direcionado em comparação com o registro em nível de conta e, portanto, substitui as configurações de registro em nível de conta. Essa abordagem hierárquica permite que você mantenha diferentes estratégias de registro para diferentes tipos de eventos com base em sua importância operacional e considerações de custo. 

**nota**  
É necessário o nome do recurso da Amazon (ARN) da função que você deseja usar. Se você precisar criar uma função a ser usada para o registro em log, consulte [Criar uma função de registro em log](#create-logging-role) antes de continuar. Ao especificar um grupo de CloudWatch registros personalizado para qualquer tipo de evento, certifique-se de que sua função de registro tenha as permissões necessárias para o grupo de registros de destino.   
 A entidade principal usada para chamar a API deve ter [Transmitir as permissões de função](pass-role.md) para sua função de registro em log. 

Você também pode realizar esse procedimento com a API usando os métodos na AWS API que correspondem aos comandos da CLI mostrados aqui. 

**Para usar a CLI para configurar o registro padrão para AWS IoT**

1. Use o comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/set-v2-logging-options.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/set-v2-logging-options.html) para definir as opções de registro em log para sua conta.

   ```
   aws iot set-v2-logging-options \
       --event-configurations event-configuration-list \
       --role-arn logging-role-arn \
       --default-log-level log-level
   ```

   em que:  
**--role-arn**  
O ARN da função que concede AWS IoT permissão para gravar em seus registros em CloudWatch Logs. A configuração do Role-ARN é necessária para a configuração inicial.   
**--default-log-level**  
O [nível de log](#log-level) a ser usado. Os valores válidos são: `ERROR``WARN`,`INFO`,`DEBUG`, ou`DISABLED`. Default-log-levela configuração é necessária para a configuração inicial.   
**--no-disable-all-logs**  
Um parâmetro opcional que habilita todo o AWS IoT registro. Use esse parâmetro para habilitar o registro em log se ele estiver desabilitado no momento.  
 **--disable-all-logs**   
Um parâmetro opcional que desativa todo o AWS IoT registro. Use esse parâmetro para desabilitar o registro em log se ele estiver habilitado no momento.  
**--event-configurations**  
Esse parâmetro é opcional e permite que você personalize as configurações de registro para tipos de eventos individuais:  
   + EventType: o tipo de evento que substitui a configuração no nível da conta
   + LogLevel: substitua a configuração no nível da conta por DEBUG, INFO, ERROR, WARN ou DISABLED
   + LogDestination: especifique um grupo de CloudWatch registros personalizado para entrega de registros

   Você pode configurar o nível e o destino do registro de forma independente para cada tipo de evento. Se não forem especificados, os eventos herdarão as configurações no nível da conta

   ```
   aws iot set-v2-logging-options \
       --event-configurations "[{\"eventType\":\"Publish-In\",\"logLevel\":\"INFO\",\"logDestination\":\"examplePublishInLogGroup\"}]"
   ```

1. Use o comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/get-v2-logging-options.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/get-v2-logging-options.html) para obter as opções de registro em log atuais.

   ```
   aws iot get-v2-logging-options \
       --verbose
   ```

   em que:  
**--verbose**  
Um parâmetro opcional que permite recuperar todos os tipos de eventos e suas configurações. 

Depois que habilitar o registro em log, acesse [Visualizando AWS IoT registros no CloudWatch console](cloud-watch-logs.md#viewing-logs) para saber mais sobre como visualizar as entradas de log.

**nota**  
AWS IoT continua oferecendo suporte a comandos mais antigos (**set-logging-options**e**get-logging-options**) para definir e obter o registro global em sua conta. Lembre-se de que, quando esses comandos são usados, os logs resultantes conterão texto sem formatação, em vez de cargas úteis JSON, e a latência dos registros em logs geralmente será mais alta. Não haverá mais melhorias à implementação desses comandos mais antigos. Recomendamos que você use as [versões “v2"](https://docs.aws.amazon.com/iot/latest/developerguide/configure-logging.html#migration-v1-v2) para configurar suas opções de registro e, quando possível, alterar os aplicativos legados que usam as versões mais antigas.

## Configurar substituições específicas de recursos em (CLI) AWS IoT
<a name="fine-logging-cli"></a>

Esta seção descreve como configurar substituições específicas de recursos usando AWS IoT a CLI. As substituições específicas de recursos permitem que você especifique um nível de registro para um recurso específico identificado por Thing Group, ID do cliente, IP de origem ou ID principal. Quando o registro específico do recurso está ativado, ele substitui as configurações no nível da conta e no nível do evento. Todos os tipos de eventos gerarão registros para o recurso especificado no nível de registro configurado, mesmo que esses eventos estejam desativados nas configurações em nível de evento. 

Grupos de objetos podem conter outros grupos de objetos para criar um relacionamento hierárquico. Este procedimento descreve como configurar o registro em log de um único grupo de objetos. É possível aplicar esse procedimento ao grupo de objetos pai em uma hierarquia para configurar o registro em log para todos os grupos de objetos na hierarquia. Também é possível aplicar esse procedimento a um grupo de objetos filho para substituir a configuração de registro em log do grupo pai.

Uma coisa pode ser membro de um grupo de coisas. Essa associação permite que a coisa herde configurações, políticas e definições aplicadas ao grupo de coisas. Grupos de coisas são usados para gerenciar e aplicar configurações a várias coisas coletivamente, em vez de lidar com cada coisa individualmente. Quando seu ID de cliente corresponder ao nome da coisa, AWS IoT Core associará automaticamente a sessão do cliente ao recurso correspondente. Isso permite que a sessão do cliente herde as configurações e as definições aplicadas aos grupos de coisas aos quais a coisa pertence, incluindo os níveis de registro em log. Se seu ID do cliente não corresponder ao nome da coisa, você poderá habilitar o anexo de coisa exclusiva para estabelecer a associação. Para obter mais informações, consulte [Associando qualquer AWS IoT coisa a uma conexão de cliente MQTT](exclusive-thing.md).

Além dos grupos de objetos, você também pode registrar destinos como o ID do cliente, o IP de origem e o ID principal do dispositivo.

**nota**  
É necessário o nome do recurso da Amazon (ARN) da função que você deseja usar. Se você precisar criar uma função a ser usada para o registro em log, consulte [Criar uma função de registro em log](#create-logging-role) antes de continuar.  
A entidade principal usada para chamar a API deve ter [Transmitir as permissões de função](pass-role.md) para sua função de registro em log. 

Você também pode realizar esse procedimento com a API usando os métodos na AWS API que correspondem aos comandos da CLI mostrados aqui. 

**Para usar a CLI para configurar substituições específicas de recursos para AWS IoT**

1. Ative o registro em nível de conta antes de configurar o registro específico do recurso usando o seguinte comando: comando aws iot set-v2-logging-options

1. Use o [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/set-v2-logging-level.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/set-v2-logging-level.html)comando para configurar substituições específicas de recursos. Veja o exemplo a seguir para configuração de grupos de coisas:

   ```
   aws iot set-v2-logging-level \
                 --log-target targetType=THING_GROUP,targetName=thing_group_name \
                 --log-level log_level
   ```  
**--log-target**  
O tipo e o nome do recurso para o qual você está configurando o registro em log. O valor `targetType` deve ser um dos seguintes: `THING_GROUP` \$1 `CLIENT_ID` \$1 `SOURCE_IP` \$1`PRINCIPAL_ID`. O valor do parâmetro-alvo de log pode ser texto, como mostrado no exemplo de comando anterior, ou uma string JSON, como o exemplo a seguir.  

   ```
   aws iot set-v2-logging-level \
                 --log-target '{"targetType": "THING_GROUP","targetName": "thing_group_name"}' \
                 --log-level log_level
   ```  
**--log-level**  
O nível de registro em log usado ao gerar logs para o recurso especificado. Os valores válidos são: **DEBUG**, **INFO**, **ERROR**, **WARN** e **DISABLED**.

1. Use o comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-v2-logging-levels.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-v2-logging-levels.html) para listar os níveis de registro em log configurados no momento.

   ```
   aws iot list-v2-logging-levels
   ```

1. Use o comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/delete-v2-logging-level.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/delete-v2-logging-level.html) para excluir um nível de registro em log específico de recursos, conforme os exemplos seguintes.

   ```
   aws iot delete-v2-logging-level \
                 --target-type "THING_GROUP" \
                 --target-name "thing_group_name"
   ```

   ```
   aws iot delete-v2-logging-level \
                 --target-type=CLIENT_ID 
                 --target-name=ClientId1
   ```  
**--target-type**  
O valor `target-type` deve ser um dos seguintes: `THING_GROUP` \$1 `CLIENT_ID` \$1 `SOURCE_IP` \$1`PRINCIPAL_ID`.  
**--target-name**  
O nome do grupo de objetos do qual remover o nível de registro em log.

## Níveis de logs
<a name="log-level"></a>

Esses níveis de log determinam os eventos que são registrados em log e se aplicam aos níveis de log padrão e de recursos específicos.

ERRO  
Qualquer erro que cause a falha de uma operação.  
Exemplo: falha na autenticação do dispositivo devido ao certificado expirado.  
Os logs incluem apenas informações do tipo ERRO.

WARN  
Tudo que possa causar inconsistências no sistema, mas que não cause falha na operação.  
Exemplo: aproximação do limite de taxa de mensagens.  
Os logs incluem informações dos tipos ERRO e AVISO.

INFORMAÇÕES  
Informações de alto nível sobre o fluxo das objetos.  
Exemplo: um cliente se inscreveu com sucesso em um tópico do MQTT.  
Os logs incluem informações dos tipos INFORMAÇÕES, ERRO e AVISO.

DEBUG  
Informações que podem ser úteis ao depurar um problema.  
Exemplo: o IoT Rules Engine detectou uma mensagem publicada no tópico de regras “regra/teste” e iniciou a execução com sucesso. A regra está configurada com RepublishAction.  
Os logs incluem informações dos tipos DEBUG, INFORMAÇÕES, ERRO e AVISO.

DISABLED  
Todos os registros são desativados.

# Monitore AWS IoT alarmes e métricas usando a Amazon CloudWatch
<a name="monitoring-cloudwatch"></a>

Você pode monitorar AWS IoT o uso CloudWatch, que coleta e processa dados brutos AWS IoT em métricas legíveis e quase em tempo real. Essas estatísticas são registradas por um período de duas semanas, para que você possa acessar informações históricas e obter uma perspectiva melhor sobre como seu serviço ou aplicativo web estão se saindo. Por padrão, os dados AWS IoT métricos são enviados automaticamente CloudWatch em intervalos de um minuto. Para obter mais informações, consulte [O que são Amazon CloudWatch, Amazon CloudWatch Events e Amazon CloudWatch Logs?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.html) no *Guia do CloudWatch usuário da Amazon*. 

## Usando AWS IoT métricas
<a name="how_to_use_metrics"></a>

As métricas relatadas por AWS IoT fornecem informações que você pode analisar de maneiras diferentes. Os seguintes casos de uso são baseados em um cenário com dez objetos que se conectam à internet uma vez por dia. Cada dia:
+ Dez coisas se conectam aproximadamente AWS IoT ao mesmo tempo.
+ Cada objeto se inscreve em um filtro do tópico e, em seguida, aguarda por uma hora antes de se desconectar. Durante esse período, os objetos se comunicam entre si e aprendem mais sobre o mundo.
+ Cada objeto publica uma percepção com base nos dados recém-encontrados usando o `UpdateThingShadow`. 
+ Cada coisa se desconecta de AWS IoT.

Para ajudar você a começar, esses tópicos exploram algumas das dúvidas que você pode ter.
+  [Como posso ser notificado se a conexão das objetos não for bem-sucedida a cada dia?](creating_alarms.md#how_to_detect_connection_failures) 
+  [Como posso ser notificado se as objetos não estiverem publicando dados a cada dia?](creating_alarms.md#how_to_detect_publish_failures) 
+  [Como posso ser notificado se as atualizações da sombra do objeto estiverem sendo rejeitadas a cada dia?](creating_alarms.md#detect_rejected_updates) 
+  [Como posso criar um CloudWatch alarme para Jobs?](creating_alarms.md#cw-jobs-alarms) 

**Topics**
+ [Usando AWS IoT métricas](#how_to_use_metrics)
+ [Criação CloudWatch de alarmes para monitorar AWS IoT](creating_alarms.md)
+ [AWS IoT métricas e dimensões](metrics_dimensions.md)

# Criação CloudWatch de alarmes para monitorar AWS IoT
<a name="creating_alarms"></a>

Você pode criar um CloudWatch alarme que envia uma mensagem do Amazon SNS quando o alarme muda de estado. O alarme observa uma única métrica em um período especificado. Quando o valor da métrica exceder um determinado limite em vários períodos de tempo, uma ou mais ações serão executadas. A ação é uma notificação enviada para um tópico do Amazon SNS ou uma política de ajuste de escala automático. Os alarmes acionam ações somente para mudanças de estado sustentadas. CloudWatch os alarmes não acionam ações simplesmente porque estão em um determinado estado; o estado deve ter sido alterado e mantido por um determinado número de períodos.

**Topics**
+ [Como posso ser notificado se a conexão das objetos não for bem-sucedida a cada dia?](#how_to_detect_connection_failures)
+ [Como posso ser notificado se as objetos não estiverem publicando dados a cada dia?](#how_to_detect_publish_failures)
+ [Como posso ser notificado se as atualizações da sombra do objeto estiverem sendo rejeitadas a cada dia?](#detect_rejected_updates)
+ [Como posso criar um CloudWatch alarme para trabalhos?](#cw-jobs-alarms)

 Você pode ver todas as métricas que CloudWatch os alarmes podem monitorar. [AWS IoT métricas e dimensões](metrics_dimensions.md) 

## Como posso ser notificado se a conexão das objetos não for bem-sucedida a cada dia?
<a name="how_to_detect_connection_failures"></a>

1. Crie um tópico do Amazon SNS chamado `things-not-connecting-successfully`, e registre o nome do recurso da Amazon (ARN). Esse procedimento se referirá ao ARN do tópico como ` sns-topic-arn `. 

   Para obter mais informações sobre como criar uma notificação do Amazon SNS, consulte [Inicialização do Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html). 

1. Crie o alarme.

   ```
   aws cloudwatch put-metric-alarm \
       --alarm-name ConnectSuccessAlarm \
       --alarm-description "Alarm when my Things don't connect successfully" \
       --namespace AWS/IoT \
       --metric-name Connect.Success \
       --dimensions Name=Protocol,Value=MQTT \
       --statistic Sum \
       --threshold 10 \
       --comparison-operator LessThanThreshold \
       --period 86400 \
       --evaluation-periods 1 \
       --alarm-actions sns-topic-arn
   ```

1. Teste o alarme.

   ```
   aws cloudwatch set-alarm-state --alarm-name ConnectSuccessAlarm --state-reason "initializing" --state-value OK
   ```

   ```
   aws cloudwatch set-alarm-state --alarm-name ConnectSuccessAlarm --state-reason "initializing" --state-value ALARM
   ```

1. Verifique se o alarme aparece no [console do CloudWatch ](https://console.aws.amazon.com/cloudwatch). 

## Como posso ser notificado se as objetos não estiverem publicando dados a cada dia?
<a name="how_to_detect_publish_failures"></a>

1. Crie um tópico do Amazon SNS chamado `things-not-publishing-data`, e registre o nome do recurso da Amazon (ARN). Esse procedimento se referirá ao ARN do tópico como ` sns-topic-arn `. 

   Para obter mais informações sobre como criar uma notificação do Amazon SNS, consulte [Inicialização do Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html). 

1. Crie o alarme.

   ```
   aws cloudwatch put-metric-alarm \
       --alarm-name PublishInSuccessAlarm\
       --alarm-description "Alarm when my Things don't publish their data \
       --namespace AWS/IoT \
       --metric-name PublishIn.Success \
       --dimensions Name=Protocol,Value=MQTT \
       --statistic Sum \
       --threshold 10 \
       --comparison-operator LessThanThreshold \
       --period 86400 \
       --evaluation-periods 1 \
       --alarm-actions sns-topic-arn
   ```

1. Teste o alarme.

   ```
   aws cloudwatch set-alarm-state --alarm-name PublishInSuccessAlarm --state-reason "initializing" --state-value OK
   ```

   ```
   aws cloudwatch set-alarm-state --alarm-name PublishInSuccessAlarm --state-reason "initializing" --state-value ALARM
   ```

1. Verifique se o alarme aparece no [console do CloudWatch ](https://console.aws.amazon.com/cloudwatch). 

## Como posso ser notificado se as atualizações da sombra do objeto estiverem sendo rejeitadas a cada dia?
<a name="detect_rejected_updates"></a>

1. Crie um tópico do Amazon SNS chamado `things-shadow-updates-rejected`, e registre o nome do recurso da Amazon (ARN). Esse procedimento se referirá ao ARN do tópico como ` sns-topic-arn `. 

   Para obter mais informações sobre como criar uma notificação do Amazon SNS, consulte [Inicialização do Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html). 

1. Crie o alarme.

   ```
   aws cloudwatch put-metric-alarm \
       --alarm-name UpdateThingShadowSuccessAlarm \
       --alarm-description "Alarm when my Things Shadow updates are getting rejected" \
       --namespace AWS/IoT \
       --metric-name UpdateThingShadow.Success \
       --dimensions Name=Protocol,Value=MQTT \
       --statistic Sum \
       --threshold 10 \
       --comparison-operator LessThanThreshold \
       --period 86400 \
       --unit Count \
       --evaluation-periods 1 \
       --alarm-actions sns-topic-arn
   ```

1. Teste o alarme.

   ```
   aws cloudwatch set-alarm-state --alarm-name UpdateThingShadowSuccessAlarm --state-reason "initializing" --state-value OK
   ```

   ```
   aws cloudwatch set-alarm-state --alarm-name UpdateThingShadowSuccessAlarm --state-reason "initializing" --state-value ALARM
   ```

1. Verifique se o alarme aparece no [console do CloudWatch ](https://console.aws.amazon.com/cloudwatch). 

## Como posso criar um CloudWatch alarme para trabalhos?
<a name="cw-jobs-alarms"></a>

O serviço Jobs fornece CloudWatch métricas para você monitorar seus trabalhos. Você pode criar CloudWatch alarmes para monitorar qualquer [Métricas de tarefas](metrics_dimensions.md#jobs-metrics) um.

O comando a seguir cria um CloudWatch alarme para monitorar o número total de execuções de tarefas malsucedidas para Job *SampleOTAJob* e notifica você quando mais de 20 execuções de tarefas falharam. O alarme monitora a métrica `FailedJobExecutionTotalCount` de Tarefas verificando o valor relatado a cada 300 segundos. Ele é ativado quando um único valor relatado é maior que 20, ou seja, que houve mais de 20 execuções de trabalho com falha desde que o trabalho foi iniciado. Quando o alarme dispara, ele envia uma notificação para o tópico do Amazon SNS fornecido.

```
aws cloudwatch put-metric-alarm \
    --alarm-name TotalFailedJobExecution-SampleOTAJob \
    --alarm-description "Alarm when total number of failed job execution exceeds the threshold for SampleOTAJob" \
    --namespace AWS/IoT \
    --metric-name FailedJobExecutionTotalCount \
    --dimensions Name=JobId,Value=SampleOTAJob \
    --statistic Sum \
    --threshold 20 \
    --comparison-operator GreaterThanThreshold \
    --period 300 \
    --unit Count \
    --evaluation-periods 1 \
    --alarm-actions arn:aws:sns:<AWS_REGION>:<AWS_ACCOUNT_ID>:SampleOTAJob-has-too-many-failed-job-ececutions
```

O comando a seguir cria um CloudWatch alarme para monitorar o número de execuções de tarefas malsucedidas para Job *SampleOTAJob* em um determinado período. Ele, então, o notifica quando há falha em mais de cinco execuções da tarefa durante esse período. O alarme monitora a métrica `FailedJobExecutionCount` de Tarefas verificando o valor relatado a cada 3.600 segundos. Ele é ativado quando um único valor relatado é maior que cinco, ou seja, que houve mais de cinco execuções de trabalho com falha na última hora. Quando o alarme dispara, ele envia uma notificação para o tópico do Amazon SNS fornecido.

```
aws cloudwatch put-metric-alarm \
    --alarm-name FailedJobExecution-SampleOTAJob \
    --alarm-description "Alarm when number of failed job execution per hour exceeds the threshold for SampleOTAJob" \
    --namespace AWS/IoT \
    --metric-name FailedJobExecutionCount \
    --dimensions Name=JobId,Value=SampleOTAJob \
    --statistic Sum \
    --threshold 5 \
    --comparison-operator GreaterThanThreshold \
    --period 3600 \
    --unit Count \
    --evaluation-periods 1 \
    --alarm-actions arn:aws:sns:<AWS_REGION>:<AWS_ACCOUNT_ID>:SampleOTAJob-has-too-many-failed-job-ececutions-per-hour
```

# AWS IoT métricas e dimensões
<a name="metrics_dimensions"></a>

Quando você interage com AWS IoT, o serviço envia métricas e dimensões a CloudWatch cada minuto. Você pode usar AWS IoT, usar o CloudWatch console ou AWS CLI visualizar essas métricas.

Para ver as métricas usando o CloudWatch console, abra o [CloudWatch console](https://console.aws.amazon.com/cloudwatch). No painel de navegação, escolha **Métricas** e, em seguida, **Todas as métricas**. Na guia **Procurar**, pesquise AWS IoT para ver a lista de métricas. As métricas são agrupadas primeiro pelo namespace do serviço e, em seguida, por várias combinações de dimensão dentro de cada namespace.

Para visualizar métricas usando AWS CLI, execute o comando a seguir.

```
1. aws cloudwatch list-metrics --namespace "AWS/IoT"
```

**Topics**
+ [AWS IoT métricas](#iot-metrics)
+ [AWS IoT Core métricas do provedor de credenciais](#credential-provider-metrics)
+ [Métricas de autenticação](#authentication-metrics)
+ [Métricas de grampeamento de OCSP do certificado de servidor](#server-ocsp-metrics)
+ [Métricas de regra](#rulemetrics)
+ [Métricas de ação da regra](#rule-action-metrics)
+ [Métricas específicas da ação HTTP](#http-action-metrics)
+ [Métricas do agente de mensagens](#message-broker-metrics)
+ [Métricas da sombra do dispositivo](#shadow-metrics)
+ [Métricas de registro](#logging-metrics)
+ [Métricas de tarefas](#jobs-metrics)
+ [Métricas de auditoria do Device Defender](#device-defender-audit-metrics)
+ [Métricas do Device Defender Detect](#device-defender-detect-metrics)
+ [Métricas de provisionamento de dispositivos](#provisioning-metrics)
+ [LoRaMétricas de WAN](#lorawan-metrics)
+ [Métricas de indexação de frota](#fleet-indexing-metrics)
+ [Dimensões para métricas](#aws-iot-metricdimensions)

## AWS IoT métricas
<a name="iot-metrics"></a>


| Métrica | Descrição | 
| --- | --- | 
|   `AddThingToDynamicThingGroupsFailed`   |  O número de eventos de falha associados à adição de um objeto a um grupo dinâmico. A dimensão `DynamicThingGroupName` contém o nome dos grupos dinâmicos que falharam ao adicionar objetos.  | 
|   `NumLogBatchesFailedToPublishThrottled`   |  O lote singular de eventos de logs dentro do lote que falhou na publicação devido a erros de controle de utilização.  | 
|   `NumLogEventsFailedToPublishThrottled`   |  O número de eventos de logs dentro do lote que falharam na publicação devido a erros de controle de utilização.  | 

## AWS IoT Core métricas do provedor de credenciais
<a name="credential-provider-metrics"></a>


| Métrica | Description | 
| --- | --- | 
|   `CredentialExchangeSuccess`   |  O número de solicitações `AssumeRoleWithCertificate` bem-sucedidas ao provedor AWS IoT Core de credenciais.  | 

## Métricas de autenticação
<a name="authentication-metrics"></a>

**nota**  
As métricas de autenticação são exibidas no CloudWatch console em **Métricas de protocolo**. 


| Métrica | Description | 
| --- | --- | 
|   `Connection.AuthNError`   | O número de tentativas de conexão AWS IoT Core rejeitadas devido a falhas de autenticação. Essa métrica considera apenas conexões que enviam uma string de Indicação de Nome de Servidor (SNI) correspondente a um endpoint da sua Conta da AWS. Essa métrica inclui tentativas de conexão de fontes externas, como ferramentas de escaneamento da internet ou atividades de sondagem. A dimensão Protocol contém o protocolo usado para enviar a tentativa de conexão. | 

## Métricas de grampeamento de OCSP do certificado de servidor
<a name="server-ocsp-metrics"></a>


| Métrica | Description | 
| --- | --- | 
| Recuperar dadosOCSPStaple. Sucesso | A resposta OCSP foi recebida e processada com sucesso. Essa resposta será incluída durante o handshake TLS para o domínio configurado. A dimensão DomainConfigurationName contém o nome do domínio configurado com o grampeamento de OCSP do certificado de servidor habilitado. | 

## Métricas de regra
<a name="rulemetrics"></a>


| Métrica | Description | 
| --- | --- | 
|   `ParseError`   |  O número de erros de análise JSON encontrados em mensagens publicadas em um tópico no qual uma regra está atenta. A dimensão `RuleName` contém o nome da regra.  | 
|   `RuleExecutionThrottled`   |  O número de mensagens limitadas pelo mecanismo de regras devido a comportamentos mal-intencionados ou porque o número de mensagens excede o limite de controle de fluxo do mecanismo de regras. A dimensão `RuleName` contém o nome da regra a ser acionada.  | 
|   `RuleNotFound`   |  Não foi possível encontrar a regra a ser acionada. A dimensão `RuleName` contém o nome da regra.  | 
|   `RulesExecuted`   |  O número de AWS IoT regras executadas.  | 
|   `TopicMatch`   |  O número de mensagens de entrada publicadas em um tópico no qual uma regra está atenta. A dimensão `RuleName` contém o nome da regra.  | 

## Métricas de ação da regra
<a name="rule-action-metrics"></a>


| Métrica | Description | 
| --- | --- | 
|   `Failure`   |  O número de invocações da ação de regra com falha. A dimensão `RuleName` contém o nome da regra que especifica a ação. A dimensão `ActionType` contém o tipo de ação que foi invocada.  | 
|   `Success`   |  O número de invocações da ação de regra bem-sucedidas. A dimensão `RuleName` contém o nome da regra que especifica a ação. A dimensão `ActionType` contém o tipo de ação que foi invocada.  | 
|  ErrorActionFailure  | O número de ações de erro que falharam. A dimensão RuleName contém o nome da regra que especifica a ação. A dimensão ActionType contém o tipo de ação que foi invocada. | 
|  ErrorActionSuccess  | O número de ações de erro bem-sucedidas. A dimensão RuleName contém o nome da regra que especifica a ação. A dimensão ActionType contém o tipo de ação que foi invocada. | 

## Métricas específicas da ação HTTP
<a name="http-action-metrics"></a>


| Métrica | Description | 
| --- | --- | 
|   `HttpCode_Other`   |  Gerado se o código de status da resposta da web downstream não service/application for 2xx, 4xx ou 5xx.  | 
|   `HttpCode_4XX`   |  Gerado se o código de status da resposta da web downstream service/application estiver entre 400 e 499.  | 
|   `HttpCode_5XX`   |  Gerado se o código de status da resposta da web downstream service/application estiver entre 500 e 599.  | 
|   `HttpInvalidUrl`   |  Gerado se um URL de endpoint, após a substituição dos modelos de substituição, não começar com `https://`.   | 
|   `HttpRequestTimeout`   |  Gerado se a web downstream service/application não retornar a resposta dentro do limite de tempo limite da solicitação. Para obter mais informações, consulte [Service Quotas](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#limits_iot).   | 
|   `HttpUnknownHost`   |  Gerado se o URL for válido, mas o serviço não existe ou é inacessível.  | 

## Métricas do agente de mensagens
<a name="message-broker-metrics"></a>

**nota**  
As métricas do agente de mensagens são exibidas no CloudWatch console em **Métricas de protocolo**. 


| Métrica | Description | 
| --- | --- | 
|   `Connect.AuthError`   |  O número de solicitações de conexão que não puderam ser autorizadas pelo agente de mensagens. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `CONNECT`.  | 
|   `Connect.ClientError`   |  O número de solicitações de conexão rejeitadas porque a mensagem MQTT não atendeu aos requisitos definidos em[Cotas do AWS IoT](limits-iot.md). A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `CONNECT`.  | 
|   `Connect.ClientIDThrottle`   |  O número de solicitações de conexão limitadas porque o cliente excedeu a taxa de solicitação da conexão permitida para um ID de cliente específico. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `CONNECT`.  | 
|   `Connect.ServerError`   |  O número de solicitações de conexão com falha porque ocorreu um erro interno. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `CONNECT`.  | 
|   `Connect.Success`   |  O número de conexões bem-sucedidas com o agente de mensagens. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `CONNECT`.  | 
|   `Connect.Throttle`   |  O número de solicitações de conexão que foram limitadas porque a conta excedeu a taxa de solicitações de conexão permitida. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `CONNECT`.  | 
|   `Ping.Success`   |  O número de mensagens ping recebidas pelo agente de mensagens. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem ping.  | 
|   `PublishIn.AuthError`   |  O número de solicitações de publicação que o agente de mensagens não conseguiu autorizar. A dimensão `Protocol` contém o protocolo usado para publicar a mensagem. O HTTP Publish não é compatível com essa métrica.  | 
|   `PublishIn.ClientError`   |  O número de solicitações de publicação rejeitadas pelo agente de mensagens porque a mensagem não atendeu aos requisitos definidos em[Cotas do AWS IoT](limits-iot.md). A dimensão `Protocol` contém o protocolo usado para publicar a mensagem.  | 
|   `PublishIn.ServerError`   |  O número de solicitações de publicação que o agente de mensagens deixou de processar por causa da ocorrência de um erro interno. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `PUBLISH`.  | 
|   `PublishIn.Success`   |  O número de solicitações de publicação processadas com êxito pelo agente de mensagens. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `PUBLISH`.  | 
|   `PublishIn.Throttle`   |  O número de solicitações de publicação que foram limitadas porque o cliente excedeu a taxa de mensagens recebidas permitida. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `PUBLISH`. O HTTP Publish não é compatível com essa métrica.  | 
|   `PublishOut.AuthError`   |  O número de solicitações de publicação feitas pelo agente de mensagens que não puderam ser autorizadas pelo AWS IoT. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `PUBLISH`.  | 
|   `PublishOut.ClientError`   |  O número de solicitações de publicação feitas pelo agente de mensagens que foram rejeitadas porque a mensagem não atendia aos requisitos definidos em[Cotas do AWS IoT](limits-iot.md). A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `PUBLISH`.  | 
|   `PublishOut.Success`   |  O número de solicitações de publicação feitas com êxito pelo agente de mensagens. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `PUBLISH`.  | 
|  PublishOut.Throttle  |  O número de solicitações de publicação que foram limitadas porque o cliente excedeu a taxa de mensagens encaminhadas permitida. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `PUBLISH`.  | 
|   `PublishRetained.AuthError`   |  O número de solicitações de publicação com o sinalizador `RETAIN` definido que o agente de mensagens não conseguiu autorizar. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `PUBLISH`.  | 
|  PublishRetained.ServerError  |  O número de solicitações de publicação retidas que o agente de mensagens deixou de processar por causa de um erro interno ocorrido. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `PUBLISH`.  | 
|   `PublishRetained.Success`   |  O número de solicitações de publicação com o sinalizador `RETAIN` definido processadas com êxito pelo agente de mensagens. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `PUBLISH`.  | 
|   `PublishRetained.Throttle`   |  O número de solicitações de publicação com o sinalizador `RETAIN` definido que foram limitadas porque o cliente excedeu a taxa de mensagens recebidas permitida. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `PUBLISH`.  | 
|   `Queued.Success`   |  O número de mensagens armazenadas que foram processadas com sucesso pelo agente de mensagens para clientes que foram desconectados da sessão persistente. As mensagens com QoS de 1 são armazenadas enquanto um cliente com uma sessão permanente é desconectado.  | 
|   `Queued.Throttle`   |  O número de mensagens que não puderam ser armazenadas e foram limitadas enquanto clientes com sessões permanentes foram desconectados. Isso ocorre quando os clientes excedem o limite de [mensagens na fila por segundo por conta](https://docs.aws.amazon.com//general/latest/gr/iot-core.html#genref_queued_messages_per_second_per_account). As mensagens com QoS de 1 são armazenadas enquanto um cliente com uma sessão permanente é desconectado.  | 
|   `Queued.ServerError`   |  O número de mensagens não foram armazenadas em uma sessão permanente devido a um erro interno. Quando clientes com uma sessão permanente são desconectados, as mensagens com uma Qualidade de Serviço (QoS) de 1 são armazenadas.  | 
|   `Subscribe.AuthError`   |  O número de solicitações de assinatura feitas por um cliente não autorizadas. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `SUBSCRIBE`.  | 
|   `Subscribe.ClientError`   |  O número de solicitações de assinatura que foram rejeitadas porque a `SUBSCRIBE` mensagem não atendia aos requisitos definidos em[Cotas do AWS IoT](limits-iot.md). A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `SUBSCRIBE`.  | 
|   `Subscribe.ServerError`   |  O número de solicitações de assinatura rejeitadas em virtude da ocorrência de um erro interno. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `SUBSCRIBE`.  | 
|   `Subscribe.Success`   |  O número de solicitações de assinatura processadas com êxito pelo agente de mensagens. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `SUBSCRIBE`.  | 
|   `Subscribe.Throttle`   |  O número de solicitações de assinatura que foram limitadas porque os limites de taxa de solicitação de assinatura permitida foram excedidos para sua Conta da AWS. Esses limites incluem assinaturas por segundo por conta, assinaturas por conta e assinaturas por conexão descritas em [cotas e limites de protocolo do agente de mensagens AWS IoT Core](https://docs.aws.amazon.com//general/latest/gr/iot-core.html#message-broker-limits). A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `SUBSCRIBE`.  | 
|  Throttle.Exceeded  | Essa métrica será exibida CloudWatch quando um cliente MQTT for limitado em pacotes [por segundo por](https://docs.aws.amazon.com//general/latest/gr/iot-core.html#message-broker-limits) limite de nível de conexão. Essa métrica não se aplica às conexões HTTP. | 
|   `Unsubscribe.ClientError`   |  O número de solicitações de cancelamento de assinatura que foram rejeitadas porque a `UNSUBSCRIBE` mensagem não atendia aos requisitos definidos em[Cotas do AWS IoT](limits-iot.md). A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `UNSUBSCRIBE`.  | 
|   `Unsubscribe.ServerError`   |  O número de solicitações de cancelamento da assinatura que foram rejeitadas porque ocorreu um erro interno. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `UNSUBSCRIBE`.  | 
|   `Unsubscribe.Success`   |  O número de solicitações de cancelamento da assinatura que foram processadas com êxito pelo agente de mensagens. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `UNSUBSCRIBE`.  | 
|   `Unsubscribe.Throttle`   |  O número de solicitações de cancelamento da assinatura que foram rejeitadas porque o cliente excedeu a taxa de solicitação de cancelamento da assinatura permitida. A dimensão `Protocol` contém o protocolo usado para enviar a mensagem `UNSUBSCRIBE`.   | 

## Métricas da sombra do dispositivo
<a name="shadow-metrics"></a>

**nota**  
As métricas de sombra do dispositivo são exibidas no CloudWatch console em **Métricas de protocolo**. 


| Métrica | Description | 
| --- | --- | 
|   `DeleteThingShadow.Accepted`   |  O número de solicitações `DeleteThingShadow` processadas com êxito. A dimensão `Protocol` contém o protocolo usado para criar a solicitação.  | 
|   `GetThingShadow.Accepted`   |  O número de solicitações `GetThingShadow` processadas com êxito. A dimensão `Protocol` contém o protocolo usado para criar a solicitação.  | 
|   `ListThingShadow.Accepted`   |  O número de solicitações `ListThingShadow` processadas com êxito. A dimensão `Protocol` contém o protocolo usado para criar a solicitação.  | 
|   `UpdateThingShadow.Accepted`   |  O número de solicitações `UpdateThingShadow` processadas com êxito. A dimensão `Protocol` contém o protocolo usado para criar a solicitação.  | 

## Métricas de registro
<a name="logging-metrics"></a>


| Métrica | Description | 
| --- | --- | 
|  `CloudwatchLogs:LogGroupCreationFailed`  |  O número de falhas na `CreateLogGroup` solicitação. O AWS IoT Logging cria um grupo de CloudWatch logs se ele não existir. A `LogGroup` dimensão contém o grupo de registros usado para fazer a solicitação.  | 
|  `CloudwatchLogs:LogStreamCreationFailed`  |  O número de falhas na `CreateLogStream` solicitação. O AWS IoT Logging cria um fluxo de CloudWatch log para enviar eventos de log. A `LogGroup` dimensão contém o grupo de registros usado para fazer a solicitação.  | 
|  `CloudwatchLogs:PutRetentionPolicyFailed`  |  O número de falhas na `PutRetentionPolicy` solicitação. O AWS IoT Logging cria um grupo de CloudWatch logs se ele não existir, e a política de retenção é definida como 30 dias. A `LogGroup` dimensão contém o grupo de registros usado para fazer a solicitação.  | 
|  `CloudwatchLogs:PutLogEventsFailed`  |  O número de falhas na `PutLogEvents` solicitação. A `LogGroup` dimensão contém o grupo de CloudWatch registros usado para fazer a solicitação.  | 

## Métricas de tarefas
<a name="jobs-metrics"></a>


| Métrica | Description | 
| --- | --- | 
|  `CanceledJobExecutionCount`  |  O número de execuções de tarefas cujo status foi alterado para `CANCELED` dentro de um período determinado por CloudWatch. (Para obter mais informações sobre CloudWatch métricas, consulte [Amazon CloudWatch Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric).) A dimensão `JobId` contém o ID da tarefa.  | 
|   `CanceledJobExecutionTotalCount`   |  O número total de execuções da tarefa cujo status for `CANCELED` para a tarefa determinada. A dimensão `JobId` contém o ID da tarefa.  | 
|   `ClientErrorCount`   |  O número de erros do cliente gerados ao executar a tarefa. A dimensão `JobId` contém o ID da tarefa.  | 
|   `FailedJobExecutionCount`   |  O número de execuções de tarefas cujo status foi alterado para `FAILED` dentro de um período determinado por CloudWatch. (Para obter mais informações sobre CloudWatch métricas, consulte [Amazon CloudWatch Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric).) A dimensão `JobId` contém o ID da tarefa.  | 
|   `FailedJobExecutionTotalCount`   |  O número total de execuções da tarefa cujo status for `FAILED` para a tarefa determinada. A dimensão `JobId` contém o ID da tarefa.  | 
|   `InProgressJobExecutionCount`   |  O número de execuções de tarefas cujo status foi alterado para `IN_PROGRESS` dentro de um período determinado por CloudWatch. (Para obter mais informações sobre CloudWatch métricas, consulte [Amazon CloudWatch Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric).) A dimensão `JobId` contém o ID da tarefa.  | 
|   `InProgressJobExecutionTotalCount`   |  O número total de execuções da tarefa cujo status for `IN_PROGRESS` para a tarefa determinada. A dimensão `JobId` contém o ID da tarefa.  | 
|   `RejectedJobExecutionTotalCount`   |  O número total de execuções da tarefa cujo status for `REJECTED` para a tarefa determinada. A dimensão `JobId` contém o ID da tarefa.  | 
|   `RemovedJobExecutionTotalCount`   |  O número total de execuções da tarefa cujo status for `REMOVED` para a tarefa determinada. A dimensão `JobId` contém o ID da tarefa.  | 
|   `QueuedJobExecutionCount`   |  O número de execuções de tarefas cujo status foi alterado para `QUEUED` dentro de um período determinado por CloudWatch. (Para obter mais informações sobre CloudWatch métricas, consulte [Amazon CloudWatch Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric).) A dimensão `JobId` contém o ID da tarefa.  | 
|   `QueuedJobExecutionTotalCount`   |  O número total de execuções da tarefa cujo status for `QUEUED` para a tarefa determinada. A dimensão `JobId` contém o ID da tarefa.  | 
|   `RejectedJobExecutionCount`   |  O número de execuções de tarefas cujo status foi alterado para `REJECTED` dentro de um período determinado por CloudWatch. (Para obter mais informações sobre CloudWatch métricas, consulte [Amazon CloudWatch Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric).) A dimensão `JobId` contém o ID da tarefa.  | 
|   `RemovedJobExecutionCount`   |  O número de execuções de tarefas cujo status foi alterado para `REMOVED` dentro de um período determinado por CloudWatch. (Para obter mais informações sobre CloudWatch métricas, consulte [Amazon CloudWatch Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric).) A dimensão `JobId` contém o ID da tarefa.  | 
|   `ServerErrorCount`   |  O número de erros do servidor gerados ao executar a tarefa. A dimensão `JobId` contém o ID da tarefa.  | 
|   `SuccededJobExecutionCount`   |  O número de execuções de tarefas cujo status foi alterado para `SUCCESS` dentro de um período determinado por CloudWatch. (Para obter mais informações sobre CloudWatch métricas, consulte [Amazon CloudWatch Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric).) A dimensão `JobId` contém o ID da tarefa.  | 
|   `SuccededJobExecutionTotalCount`   |  O número total de execuções da tarefa cujo status for `SUCCESS` para a tarefa determinada. A dimensão `JobId` contém o ID da tarefa.  | 

## Métricas de auditoria do Device Defender
<a name="device-defender-audit-metrics"></a>


| Métrica | Description | 
| --- | --- | 
|   `NonCompliantResources`   |  O número de recursos identificados como não compatíveis com uma verificação. O sistema informará o número de recursos que estavam fora da conformidade para cada verificação de auditoria feita.   | 
|   `ResourcesEvaluated`   |  O número de recursos avaliados para conformidade. O sistema informará o número de recursos avaliados para cada verificação de auditoria feita.   | 
|   `MisconfiguredDeviceDefenderNotification`   |  Notifica você quando a configuração do SNS para AWS IoT Device Defender está mal configurada.  [Dimensões](#aws-iot-metricdimensions)   | 

## Métricas do Device Defender Detect
<a name="device-defender-detect-metrics"></a>


| Métrica | Description | 
| --- | --- | 
|   `NumOfMetricsExported`    |  O número de métricas exportadas para uma métrica do lado da nuvem, do lado do dispositivo ou personalizada. O sistema relata o número de métricas exportadas para a conta, para uma métrica específica. Essa métrica está disponível somente para clientes que usam a exportação de métricas.  | 
|   `NumOfMetricsSkipped`   |  O número de métricas ignoradas para uma métrica do lado da nuvem, do lado do dispositivo ou personalizada. O sistema relata o número de métricas ignoradas para a conta, para uma métrica específica devido às permissões insuficientes fornecidas ao Device Defender Detect para publicar no tópico MQTT. Essa métrica está disponível somente para clientes que usam a exportação de métricas.  | 
|   `NumOfMetricsExceedingSizeLimit`   |  O número de métricas ignoradas para exportação para uma métrica do lado da nuvem, do lado do dispositivo ou personalizada devido ao tamanho que excede as restrições de tamanho da mensagem MQTT. O sistema relata o número de métricas ignoradas para exportação para a conta, para uma métrica específica devido ao tamanho que excede as restrições de tamanho da mensagem MQTT. Essa métrica está disponível somente para clientes que usam a exportação de métricas.  | 
|   `Violations`   |  O número de violações novas dos comportamentos de perfil de segurança que foram localizadas desde a última vez que uma avaliação foi feita. O sistema informará o número de violações novas da conta, para um perfil de segurança específico e para um comportamento específico de um perfil de segurança específico.   | 
|   `ViolationsCleared`   |  O número de violações dos comportamentos de perfil de segurança que foram resolvidos desde a última vez que uma avaliação foi feita. O sistema informará o número de violações resolvidas da conta, para um perfil de segurança específico e para um comportamento específico de um perfil de segurança específico.   | 
|   `ViolationsInvalidated`   |  O número de violações de comportamentos de perfil de segurança cujas informações não estão mais disponíveis desde a última vez que uma avaliação foi feita (porque o dispositivo de relatório parou de gerar relatórios ou não está mais sendo monitorado por algum motivo). O sistema informará o número de violações invalidadas da conta inteira, para um perfil de segurança específico e para um comportamento específico de um perfil de segurança específico.   | 
|   `MisconfiguredDeviceDefenderNotification`   |  Notifica você quando a configuração do SNS para AWS IoT Device Defender está mal configurada.  [Dimensões](#aws-iot-metricdimensions)   | 

## Métricas de provisionamento de dispositivos
<a name="provisioning-metrics"></a>


**AWS IoT Métricas de aprovisionamento de frotas**  

| Métrica | Description | 
| --- | --- | 
|   `ApproximateNumberOfThingsRegistered`   |  A contagem de objetos que foram registrados pela opção de aprovisionamento de frota. Embora a contagem geralmente seja precisa, a arquitetura distribuída do AWS IoT Core dificulta a manutenção de uma contagem precisa das objetos registradas.  A estatística a ser utilizada para essa métrica é: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot/latest/developerguide/metrics_dimensions.html)  Dimensões: [ClaimCertificateId](#aws-iot-metricdimensions)   | 
|   `CreateKeysAndCertificateFailed`   |  O número de falhas que ocorreram ao chamar a API MQTT `CreateKeysAndCertificate`. A métrica é emitida nos casos de Sucesso (valor = 0) e Falha (valor = 1). Essa métrica pode ser usada para rastrear o número de certificados criados e registrados durante as janelas CloudWatch de agregação suportadas, como 5 minutos ou 1 hora. As estatísticas disponíveis para essa métrica são: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot/latest/developerguide/metrics_dimensions.html)  | 
|   `CreateCertificateFromCsrFailed`   |  O número de falhas que ocorreram ao chamar a API MQTT `CreateCertificateFromCsr`. A métrica é emitida nos casos de Sucesso (valor = 0) e Falha (valor = 1). Essa métrica pode ser usada para rastrear o número de itens registrados durante as janelas CloudWatch de agregação suportadas, como 5 minutos ou 1 hora.  As estatísticas disponíveis para essa métrica são: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot/latest/developerguide/metrics_dimensions.html)  | 
|   `RegisterThingFailed`   |  O número de falhas que ocorreram ao chamar a API MQTT `RegisterThing`. A métrica é emitida nos casos de Sucesso (valor = 0) e Falha (valor = 1). Essa métrica pode ser usada para rastrear o número de itens registrados durante as janelas CloudWatch de agregação suportadas, como 5 minutos ou 1 hora. Para ver o número total de objetos registradas, consulte a métrica `ApproximateNumberOfThingsRegistered`. As estatísticas disponíveis para essa métrica são: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot/latest/developerguide/metrics_dimensions.html) Dimensões: [TemplateName](#aws-iot-metricdimensions)   | 


**Just-in-time métricas de provisionamento**  

| Métrica | Description | 
| --- | --- | 
|   `ProvisionThing.ClientError`   |  O número de vezes que um dispositivo falhou no provisionamento devido a um erro do cliente. Por exemplo, a política especificada no modelo não existia.  | 
|  ProvisionThing.ServerError  |  O número de vezes que um dispositivo falhou no provisionamento devido a um erro no servidor. Os clientes podem tentar provisionar o dispositivo novamente depois de esperar e entrar em contato AWS IoT se o problema continuar o mesmo.  | 
|  ProvisionThing.Success  |  O número de vezes que um dispositivo foi provisionado com êxito.  | 

## LoRaMétricas de WAN
<a name="lorawan-metrics"></a>

A tabela a seguir mostra as métricas para AWS IoT Core for LoRaWAN. Para acessar mais informações, consulte [Métricas do AWS IoT Core for LoRaWAN](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/iot-lorawan-metrics.html). 


**AWS IoT Core for LoRaWAN métricas**  

| Métrica | Description | 
| --- | --- | 
|  Dispositivos/gateways ativos  |  O número de dispositivos LoRa WAN e gateways ativos em sua conta.  | 
|  Contagem de mensagens de uplink  |  O número de mensagens de uplink enviadas dentro de um período especificado para todos os gateways e dispositivos ativos em sua Conta da AWS. As mensagens de uplink são mensagens enviadas do seu dispositivo para o. AWS IoT Core for LoRaWAN  | 
|  Contagem de mensagens de downlink  |  O número de mensagens de downlink enviadas dentro de um período especificado para todos os gateways e dispositivos ativos em sua Conta da AWS. As mensagens de downlink são mensagens enviadas AWS IoT Core for LoRaWAN para o seu dispositivo.  | 
|  Taxa de perda de mensagens  |  Depois de adicionar seu dispositivo e se conectar AWS IoT Core for LoRaWAN, seu dispositivo pode iniciar uma mensagem de uplink para começar a trocar mensagens com a nuvem. Você pode usar essa métrica para rastrear a taxa de mensagens de uplink que são perdidas.  | 
|  Métricas de entrada  |  Depois de adicionar seu dispositivo e gateway, você executa um procedimento de junção para que seu dispositivo possa enviar dados de uplink e se comunicar com. AWS IoT Core for LoRaWAN Você pode usar essa métrica para obter informações sobre métricas de junção para todos os dispositivos ativos em sua Conta da AWS.  | 
|  Indicador de intensidade do sinal recebido (RSSI) médio  |  Você pode usar essa métrica para monitorar o RSSI (indicador de intensidade do sinal recebido) médio dentro do período especificado. O RSSI é uma medida que indica se o sinal é forte o suficiente para uma boa conexão sem fio. Esse valor é negativo e deve estar mais próximo de zero para uma conexão forte.  | 
|  Relação média sinal/ruído (SNR)  |  Você pode usar essa métrica para monitorar a média de SNR (Signal-to-noise proporção) dentro da duração de tempo especificada. A SNR é uma medida que indica se o sinal recebido é forte o suficiente em comparação ao nível de ruído para uma boa conexão sem fio. O valor da SNR é positivo e deve ser maior que zero para indicar que a potência do sinal é mais forte que a potência do ruído.  | 
|  Disponibilidade do gateway  |  Você pode usar essa métrica para obter informações sobre a disponibilidade desse gateway dentro de um período especificado. Essa métrica exibe o tempo de conexão do websocket desse gateway por um período de tempo especificado.  | 


**Just-in-time métricas de provisionamento**  

| Métrica | Description | 
| --- | --- | 
|   `ProvisionThing.ClientError`   |  O número de vezes que um dispositivo falhou no provisionamento devido a um erro do cliente. Por exemplo, a política especificada no modelo não existia.  | 
|  ProvisionThing.ServerError  |  O número de vezes que um dispositivo falhou no provisionamento devido a um erro no servidor. Os clientes podem tentar provisionar o dispositivo novamente depois de esperar e entrar em contato AWS IoT se o problema continuar o mesmo.  | 
|  ProvisionThing.Success  |  O número de vezes que um dispositivo foi provisionado com êxito.  | 

## Métricas de indexação de frota
<a name="fleet-indexing-metrics"></a>


**AWS IoT métricas de indexação de frotas**  

| Métrica | Description | 
| --- | --- | 
|   `NamedShadowCountForDynamicGroupQueryLimitExceeded`   |  No máximo 25 sombras nomeadas por objeto são processadas para termos de consulta que não são específicos da fonte de dados em grupos dinâmicos de objetos. Quando esse limite é violado para algo, o tipo de evento `NamedShadowCountForDynamicGroupQueryLimitExceeded` será emitido.  | 

## Dimensões para métricas
<a name="aws-iot-metricdimensions"></a>


**As métricas usam o namespace e fornecem métricas para as dimensões a seguir**  

| Dimensão | Description | 
| --- | --- | 
|  ActionType  |  O [tipo de ação](iot-rule-actions.md) especificado pela regra que acionou a solicitação.  | 
|   `BehaviorName`   |  O nome do comportamento do perfil de segurança do Device Defender Detect que está sendo monitorado.  | 
|   `ClaimCertificateId`   |  A `certificateId` da reivindicação usada para provisionar os dispositivos.  | 
|   `CheckName`   |  O nome da verificação de auditoria do Device Defender cujos resultados estão sendo monitorados.  | 
|   `JobId`   |  O ID do trabalho cujo progresso ou conexão de mensagem success/failure está sendo monitorado.  | 
|   `Protocol`   |  O protocolo usado para fazer a solicitação. Os valores válidos são: MQTT ou HTTP  | 
|   `RuleName`   |  O nome da regra disparada pela solicitação.  | 
|   `ScheduledAuditName`   |  O nome da auditoria programada do Device Defender cujos resultados das verificações estão sendo monitorados. Terá o valor `OnDemand` se os resultados informados forem para uma auditoria que foi feita sob demanda.  | 
|   `SecurityProfileName`   |  O nome do perfil de segurança do Device Defender Detect cujos comportamentos estão sendo monitorados.  | 
|   `TemplateName`   |  O nome do modelo de provisionamento.  | 
|  SourceArn  | Refere-se ao perfil de segurança para detecção ou ao banco da conta para auditoria. | 
|   `RoleArn`   |  Refere-se à função que o Device Defender tentou assumir.  | 
|   `TopicArn`   |  Refere-se ao tópico do SNS no qual o Device Defender tentou publicar.  | 
|   `Error`   | Fornece uma breve descrição do erro recebido ao tentar publicar no tópico do SNS. Os valores possíveis são:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot/latest/developerguide/metrics_dimensions.html)  | 

# Monitore AWS IoT usando CloudWatch registros
<a name="cloud-watch-logs"></a>

Quando o [AWS IoT registro está ativado](configure-logging.md), AWS IoT envia eventos de progresso sobre cada mensagem à medida que ela passa de seus dispositivos por meio do agente de mensagens e do mecanismo de regras. No [CloudWatch console](https://console.aws.amazon.com/cloudwatch), CloudWatch os registros aparecem em um grupo de **AWSIotregistros chamado Registros**. 

Para obter mais informações sobre CloudWatch registros, consulte [CloudWatch Registros](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html). Para obter informações sobre AWS IoT CloudWatch os registros compatíveis, consulte[CloudWatch Registra entradas AWS IoT de registro](cwl-format.md).

## Visualizando AWS IoT registros no CloudWatch console
<a name="viewing-logs"></a>

**nota**  
O grupo de `AWSIotLogsV2` registros não estará visível no CloudWatch console até:  
Você ativou o login AWS IoT. Para obter mais informações sobre como ativar o login AWS IoT, consulte [Configurar o AWS IoT registro](configure-logging.md) 
Algumas entradas de registro foram gravadas por AWS IoT operações.

**Para ver seus AWS IoT registros no CloudWatch console**

1.  Navegue para [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/). No painel de navegação, escolha a opção **Grupos de logs**. 

1. Na caixa de texto **Filtro**, digite **AWSIotLogsV2** e, depois, pressione Enter.

1. Clique duas vezes no grupo de logs `AWSIotLogsV2`.

1. Escolha **Pesquisar tudo**. Uma lista completa dos AWS IoT registros gerados para sua conta é exibida.

1. Escolha o ícone de expansão para ver um fluxo individual.

Você também pode inserir uma consulta na caixa de texto **Filtrar eventos**. Estas são algumas consultas interessantes para experimentar:
+  `{ $.logLevel = "INFO" }` 

   Encontre todos os logs que têm um nível de log de `INFO`. 
+  `{ $.status = "Success" }` 

   Encontre todos os logs que têm um status de `Success`. 
+  `{ $.status = "Success" && $.eventType = "GetThingShadow" }` 

   Encontre todos os logs que têm um status de `Success` e um tipo de evento de `GetThingShadow`. 

Para obter mais informações sobre a criação de expressões de filtro, consulte [Consultas de CloudWatch registros](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html). 

# CloudWatch Registra entradas AWS IoT de registro
<a name="cwl-format"></a>

Cada componente do AWS IoT gera suas próprias entradas de registro. Cada entrada de log tem um `eventType` que especifica a operação que fez com que a entrada de log fosse gerada. Esta seção descreve as entradas de log geradas pelos seguintes componentes da AWS IoT .

**Topics**
+ [Entradas de log do agente de mensagens](#message-broker-logs)
+ [Entradas de log OCSP do certificado do servidor](#server-ocsp-logs)
+ [Entradas de log da sombra do dispositivo](#device-shadow-logs)
+ [Entradas de log do mecanismo de regras](#rule-engine-logs)
+ [Entradas de log de tarefas](#job-logs)
+ [Entradas de log de provisionamento de dispositivos](#provision-logs)
+ [Entradas de log de grupo dinâmico de objetos](#dynamic-group-logs)
+ [Entradas de log de indexação de frota](#fleet-indexing-logs)
+ [CloudWatch Atributos de registros comuns](#cwl-common-attributes)

## Entradas de log do agente de mensagens
<a name="message-broker-logs"></a>

O agente de AWS IoT mensagens gera entradas de registro para os seguintes eventos:

**Topics**
+ [Entrada de log de conexão](#log-mb-connect)
+ [Entrada de log de desconexão](#log-mb-disconnect)
+ [DeleteConnection entrada de registro](#log-mb-delete-connection)
+ [GetRetainedMessage entrada de registro](#log-mb-get-retain)
+ [ListRetainedMessage entrada de registro](#log-mb-list-retain)
+ [Entrada de log de publicação de entrada](#log-mb-publish-in)
+ [Entrada de log de publicação de saída](#log-mb-publish-out)
+ [Entrada de log em fila](#log-mb-queued)
+ [Entrada de log de assinatura](#log-mb-subscribe)
+ [Entrada de log de cancelamento de assinatura](#log-mb-unsubscribe)

### Entrada de log de conexão
<a name="log-mb-connect"></a>

O agente de AWS IoT mensagens gera uma entrada de registro com um `eventType` of `Connect` quando um cliente MQTT se conecta.

#### Exemplo de entrada de log de conexão
<a name="log-mb-connect.example"></a>

```
{
    "timestamp": "2017-08-10 15:37:23.476",
    "logLevel": "INFO",
    "traceId": "20b23f3f-d7f1-feae-169f-82263394fbdb",
    "accountId": "123456789012",
    "status": "Success",
    "eventType": "Connect",
    "protocol": "MQTT",
    "clientId": "abf27092886e49a8a5c1922749736453",
    "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167",
    "sourceIp": "205.251.233.181",
    "sourcePort": 13490
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `Connect` registro contêm os seguintes atributos:

clientId  
O ID do cliente que está fazendo a solicitação.

principalId  
O ID da entidade principal que está fazendo a solicitação.

protocolo  
O protocolo usado para fazer a solicitação. Os valores válidos são `MQTT` ou `HTTP`. 

sourceIp  
O endereço IP no qual a solicitação foi originada.

sourcePort  
A porta em que a solicitação foi originada.

### Entrada de log de desconexão
<a name="log-mb-disconnect"></a>

O agente de AWS IoT mensagens gera uma entrada de registro com um `eventType` of `Disconnect` quando um cliente MQTT se desconecta.

#### Exemplo de entrada de log de desconexão
<a name="log-mb-disconnect.example"></a>

```
{
    "timestamp": "2017-08-10 15:37:23.476",
    "logLevel": "INFO",
    "traceId": "20b23f3f-d7f1-feae-169f-82263394fbdb",
    "accountId": "123456789012",
    "status": "Success",
    "eventType": "Disconnect",
    "protocol": "MQTT",
    "clientId": "abf27092886e49a8a5c1922749736453",
    "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167",
    "sourceIp": "205.251.233.181",
    "sourcePort": 13490,
    "reason": "DUPLICATE_CLIENT_ID",
    "details": "A new connection was established with the same client ID",
    "disconnectReason": "CLIENT_INITIATED_DISCONNECT"
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `Disconnect` registro contêm os seguintes atributos:

clientId  
O ID do cliente que está fazendo a solicitação.

principalId  
O ID da entidade principal que está fazendo a solicitação.

protocolo  
O protocolo usado para fazer a solicitação. Os valores válidos são `MQTT` ou `HTTP`. 

sourceIp  
O endereço IP no qual a solicitação foi originada.

sourcePort  
A porta em que a solicitação foi originada.

razão  
A razão pela qual o cliente está se desconectando.

detalhes  
Uma breve explicação do erro.

disconnectReason  
A razão pela qual o cliente está se desconectando.

### DeleteConnection entrada de registro
<a name="log-mb-delete-connection"></a>

O agente de AWS IoT mensagens gera uma entrada de registro com um `eventType` de `DeleteConnection` quando uma conexão do cliente MQTT é excluída.

#### DeleteConnection exemplo de entrada de registro
<a name="log-mb-delete-connection.example"></a>

```
{
    "timestamp": "2025-08-09 15:37:23.476",
    "logLevel": "INFO",
    "traceId": "20b23f3f-d7f1-feae-169f-82263394fbdb",
    "accountId": "123456789012",
    "status": "Success",
    "eventType": "DeleteConnection",
    "protocol": "HTTP",
    "clientId": "abf27092886e49a8a5c1922749736453",
    "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167",
    "sourceIp": "205.251.233.181",
    "sourcePort": 13490
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `DeleteConnection` registro contêm os seguintes atributos:

clientId  
O ID do cliente que será desconectado.

principalId  
O ID da entidade principal que está fazendo a solicitação. Para ter informações sobre como identificar a entidade principal usando o ID da entidade principal, consulte [Comparar identidades e credenciais do IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html) do *Guia usuário do IAM*. 

protocolo  
O protocolo usado para fazer a solicitação. O valor válido é `HTTP`. 

sourceIp  
O endereço IP no qual a solicitação foi originada.

sourcePort  
A porta em que a solicitação foi originada.

### GetRetainedMessage entrada de registro
<a name="log-mb-get-retain"></a>

O agente de AWS IoT mensagens gera uma entrada de registro com um `eventType` de `GetRetainedMessage` quando [https://docs.aws.amazon.com//iot/latest/developerguide/API_iotdata_GetRetainedMessage.html](https://docs.aws.amazon.com//iot/latest/developerguide/API_iotdata_GetRetainedMessage.html)é chamado.

#### GetRetainedMessage exemplo de entrada de registro
<a name="log-mb-get-retain-example"></a>

```
{
    "timestamp": "2017-08-07 18:47:56.664", 
    "logLevel": "INFO", 
    "traceId": "1a60d02e-15b9-605b-7096-a9f584a6ad3f", 
    "accountId": "123456789012", 
    "status": "Success", 
    "eventType": "GetRetainedMessage", 
    "protocol": "HTTP",
    "topicName": "a/b/c",
    "qos": "1",
    "lastModifiedDate": "2017-08-07 18:47:56.664"
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `GetRetainedMessage` registro contêm os seguintes atributos:

lastModifiedDate  
A data e a hora da Epoch, em milissegundos, em que a mensagem retida foi armazenada por. AWS IoT

protocolo  
O protocolo usado para fazer a solicitação. Valor válido: `HTTP`. 

qos  
O nível Qualidade de Serviço (QoS) usado na solicitação de publicação. Os valores válidos são `0` ou `1`. 

topicName  
O nome do tópico que você assinou. 

### ListRetainedMessage entrada de registro
<a name="log-mb-list-retain"></a>

O agente de AWS IoT mensagens gera uma entrada de registro com um `eventType` de `ListRetainedMessage` quando [/iot/latest/developerguide/API_iotdata_ListRetainedMessages.html](/iot/latest/developerguide/API_iotdata_ListRetainedMessages.html)é chamado.

#### ListRetainedMessage exemplo de entrada de registro
<a name="log-mb-list-retain-example"></a>

```
{
    "timestamp": "2017-08-07 18:47:56.664", 
    "logLevel": "INFO", 
    "traceId": "1a60d02e-15b9-605b-7096-a9f584a6ad3f", 
    "accountId": "123456789012", 
    "status": "Success", 
    "eventType": "ListRetainedMessage", 
    "protocol": "HTTP"
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `ListRetainedMessage` registro contêm o seguinte atributo:

protocolo  
O protocolo usado para fazer a solicitação. Valor válido: `HTTP`. 

### Entrada de log de publicação de entrada
<a name="log-mb-publish-in"></a>

Quando o agente de AWS IoT mensagens recebe uma mensagem MQTT, ele gera uma entrada de registro com um `eventType` de`Publish-In`. 

#### Exemplo de entrada de log de publicação de entrada
<a name="log-mb-publish-in.example"></a>

```
{
        "timestamp": "2017-08-10 15:39:30.961",
        "logLevel": "INFO",
        "traceId": "672ec480-31ce-fd8b-b5fb-22e3ac420699",
        "accountId": "123456789012",
        "status": "Success",
        "eventType": "Publish-In",
        "protocol": "MQTT",
        "topicName": "$aws/things/MyThing/shadow/get",
        "clientId": "abf27092886e49a8a5c1922749736453",
        "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167",
        "sourceIp": "205.251.233.181",
        "sourcePort": 13490,
        "retain": "True"
    }
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `Publish-In` registro contêm os seguintes atributos:

clientId  
O ID do cliente que está fazendo a solicitação.

principalId  
O ID da entidade principal que está fazendo a solicitação.

protocolo  
O protocolo usado para fazer a solicitação. Os valores válidos são `MQTT` ou `HTTP`. 

reter  
O atributo usado quando uma mensagem tem o sinalizador Reter definido com um valor de `True`. Se a mensagem não tiver o sinalizador Reter definido, esse atributo não aparecerá na entrada do log. Para obter mais informações, consulte [Mensagens retidas do MQTT](mqtt.md#mqtt-retain).

sourceIp  
O endereço IP no qual a solicitação foi originada.

sourcePort  
A porta em que a solicitação foi originada.

topicName  
O nome do tópico que você assinou. 

### Entrada de log de publicação de saída
<a name="log-mb-publish-out"></a>

Quando o agente de mensagens publica uma mensagem MQTT, ele gera um log com um `eventType` de `Publish-Out`. 

#### Exemplo de entrada de log de publicação de saída
<a name="log-mb-publish-out.example"></a>

```
{
    "timestamp": "2017-08-10 15:39:30.961",
    "logLevel": "INFO",
    "traceId": "672ec480-31ce-fd8b-b5fb-22e3ac420699",
    "accountId": "123456789012",
    "status": "Success",
    "eventType": "Publish-Out",
    "protocol": "MQTT",
    "topicName": "$aws/things/MyThing/shadow/get",
    "clientId": "abf27092886e49a8a5c1922749736453",
    "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167",
    "sourceIp": "205.251.233.181",
    "sourcePort": 13490
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `Publish-Out` registro contêm os seguintes atributos:

clientId  
O ID do cliente assinante que recebe mensagens sobre esse tópico do MQTT.

principalId  
O ID da entidade principal que está fazendo a solicitação.

protocolo  
O protocolo usado para fazer a solicitação. Os valores válidos são `MQTT` ou `HTTP`. 

sourceIp  
O endereço IP no qual a solicitação foi originada.

sourcePort  
A porta em que a solicitação foi originada.

topicName  
O nome do tópico que você assinou. 

### Entrada de log em fila
<a name="log-mb-queued"></a>

Quando um dispositivo com uma sessão persistente é desconectado, o agente de mensagens MQTT armazena as mensagens do dispositivo e AWS IoT gera entradas de registro com um EventType de. `Queued` Para obter mais informações sobre sessões persistentes do MQTT, consulte[Sessões persistentes do MQTT](mqtt.md#mqtt-persistent-sessions).

#### Exemplo de entrada de log de erros do servidor em fila
<a name="log-mb-queued.server-error.example"></a>

```
{
    "timestamp": "2022-08-10 15:39:30.961",
    "logLevel": "ERROR",
    "traceId": "672ec480-31ce-fd8b-b5fb-22e3ac420699",
    "accountId": "123456789012",
    "topicName": "$aws/things/MyThing/get",
    "clientId": "123123123",
    "qos": "1",
    "protocol": "MQTT",
    "eventType": "Queued",
    "status": "Failure",
    "details": "Server Error"
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas do registro de erros do `Queued` servidor contêm os seguintes atributos:

clientId  
O ID do cliente para o qual a mensagem está na fila.

detalhes  
**`Server Error`**  
Um erro no servidor impediu que a mensagem fosse armazenada.

protocolo  
O protocolo usado para fazer a solicitação. O valor sempre será `MQTT`. 

qos  
O nível de qualidade do serviço (QoS) da solicitação. O valor sempre será 1 porque as mensagens com QoS de 0 não são armazenadas.

topicName  
O nome do tópico que você assinou.

#### Exemplo de entrada de log de sucesso em fila
<a name="log-mb-queued.success.example"></a>

```
{
    "timestamp": "2022-08-10 15:39:30.961",
    "logLevel": "INFO",
    "traceId": "672ec480-31ce-fd8b-b5fb-22e3ac420699",
    "accountId": "123456789012",
    "topicName": "$aws/things/MyThing/get",
    "clientId": "123123123",
    "qos": "1",
    "protocol": "MQTT",
    "eventType": "Queued",
    "status": "Success"
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas do registro de `Queued` sucesso contêm os seguintes atributos:

clientId  
O ID do cliente para o qual a mensagem está na fila.

protocolo  
O protocolo usado para fazer a solicitação. O valor sempre será `MQTT`. 

qos  
O nível de qualidade do serviço (QoS) da solicitação. O valor sempre será 1 porque as mensagens com QoS de 0 não são armazenadas.

topicName  
O nome do tópico que você assinou.

#### Exemplo de entrada de log mantida em fila
<a name="log-mb-queued.throttled.example"></a>

```
{
    "timestamp": "2022-08-10 15:39:30.961",
    "logLevel": "ERROR",
    "traceId": "672ec480-31ce-fd8b-b5fb-22e3ac420699",
    "accountId": "123456789012",
    "topicName": "$aws/things/MyThing/get",
    "clientId": "123123123",
    "qos": "1",
    "protocol": "MQTT",
    "eventType": "Queued",
    "status": "Failure",
    "details": "Throttled while queueing offline message"
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de registro `Queued` limitadas contêm os seguintes atributos:

clientId  
O ID do cliente para o qual a mensagem está na fila.

detalhes  
**`Throttled while queueing offline message`**  
O cliente excedeu o limite de ` [Queued messages per second per account](https://docs.aws.amazon.com//general/latest/gr/iot-core.html#genref_queued_messages_per_second_per_account) `, então a mensagem não foi armazenada.

protocolo  
O protocolo usado para fazer a solicitação. O valor sempre será `MQTT`. 

qos  
O nível de qualidade do serviço (QoS) da solicitação. O valor sempre será 1 porque as mensagens com QoS de 0 não são armazenadas.

topicName  
O nome do tópico que você assinou.

### Entrada de log de assinatura
<a name="log-mb-subscribe"></a>

O agente de AWS IoT mensagens gera uma entrada de registro com um `eventType` de `Subscribe` quando um cliente MQTT se inscreve em um tópico.

#### Exemplo de entrada de log de assinatura MQTT 3
<a name="log-mb-connect.example.subscribe"></a>

```
{
    "timestamp": "2017-08-10 15:39:04.413",
    "logLevel": "INFO",
    "traceId": "7aa5c38d-1b49-3753-15dc-513ce4ab9fa6",
    "accountId": "123456789012",
    "status": "Success",
    "eventType": "Subscribe",
    "protocol": "MQTT",
    "topicName": "$aws/things/MyThing/shadow/#",
    "clientId": "abf27092886e49a8a5c1922749736453",
    "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167",
    "sourceIp": "205.251.233.181",
    "sourcePort": 13490
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `Subscribe` registro contêm os seguintes atributos:

clientId  
O ID do cliente que está fazendo a solicitação.

principalId  
O ID da entidade principal que está fazendo a solicitação.

protocolo  
O protocolo usado para fazer a solicitação. O valor sempre será `MQTT`. 

sourceIp  
O endereço IP no qual a solicitação foi originada.

sourcePort  
A porta em que a solicitação foi originada.

topicName  
O nome do tópico que você assinou. 

#### Exemplo de entrada de log de assinatura MQTT 5
<a name="log-mb-connect.example.subscribe.mqtt5"></a>

```
{
	"timestamp": "2022-11-30 16:24:15.628",
	"logLevel": "INFO",
	"traceId": "7aa5c38d-1b49-3753-15dc-513ce4ab9fa6",
	"accountId": "123456789012",
	"status": "Success",
	"eventType": "Subscribe",
	"protocol": "MQTT",
	"topicName": "test/topic1,$invalid/reserved/topic",
	"subscriptions": [
		{
			"topicName": "test/topic1",
			"reasonCode": 1
		},
		{
			"topicName": "$invalid/reserved/topic",
			"reasonCode": 143
		}
	],
	"clientId": "abf27092886e49a8a5c1922749736453",
	"principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167",
	"sourceIp": "205.251.233.181",
	"sourcePort": 13490
}
```

Para operações de assinatura do MQTT 5, além do [CloudWatch Atributos de registros comuns](#cwl-common-attributes) e dos [atributos de entrada de log e de assinatura do MQTT 3](#log-mb-connect.example.subscribe), as entradas de log do MQTT 5 `Subscribe` contêm o seguinte atributo: 

assinaturas  
Uma lista de mapeamentos entre os tópicos solicitados na solicitação de assinatura e o código de motivo individual do MQTT 5. Para obter mais informações, consulte [Códigos de motivo do MQTT](https://docs.aws.amazon.com//iot/latest/developerguide/mqtt.html#mqtt5-reason-codes). 

### Entrada de log de cancelamento de assinatura
<a name="log-mb-unsubscribe"></a>

O agente de AWS IoT mensagens gera uma entrada de registro com um `eventType` de `Unsubscribe` quando um cliente MQTT cancela a assinatura de um tópico do MQTT.

#### Exemplo de entrada de log de cancelamento de assinatura MQTT
<a name="log-mb-connect.example.unsubscribe"></a>

```
{
    "timestamp": "2024-08-20 22:53:32.844",
    "logLevel": "INFO",
    "traceId": "db6bd09a-2c3f-1cd2-27cc-fd6b1ce03b58",
    "accountId": "123456789012",
    "status": "Success",
    "eventType": "Unsubscribe",
    "protocol": "MQTT",
    "clientId": "abf27092886e49a8a5c1922749736453",
    "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167",
    "sourceIp": "205.251.233.181",
    "sourcePort": 13490
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `Unsubscribe` registro contêm os seguintes atributos:

protocolo  
O protocolo usado para fazer a solicitação. O valor sempre será `MQTT`. 

clientId  
O ID do cliente que está fazendo a solicitação.

principalId  
O ID da entidade principal que está fazendo a solicitação.

sourceIp  
O endereço IP no qual a solicitação foi originada.

sourcePort  
A porta em que a solicitação foi originada.

## Entradas de log OCSP do certificado do servidor
<a name="server-ocsp-logs"></a>

AWS IoT Core gera entradas de registro para o seguinte evento:

**Topics**
+ [Recuperar entrada do registro OCSPStaple de dados](#log-retrieve-ocsp-staple)
+ [Recuperar entrada OCSPStaple de registro de dados para endpoints privados](#log-retrieve-ocsp-staple-private-endpoint)

### Recuperar entrada do registro OCSPStaple de dados
<a name="log-retrieve-ocsp-staple"></a>

AWS IoT Core gera uma entrada de registro com um `eventType` of `RetrieveOCSPStapleData` quando o servidor recupera os dados básicos do OCSP.

#### Exemplos de entrada OCSPStaple de registro de dados
<a name="log-retrieve-ocsp-staple.example"></a>

A seguir está um exemplo de entrada de log de `Success`. 

```
{
	"timestamp": "2024-01-30 15:39:30.961",
	"logLevel": "INFO",
	"traceId": "180532b7-0cc7-057b-687a-5ca1824838f5",
	"accountId": "123456789012",
	"status": "Success",
	"eventType": "RetrieveOCSPStapleData",
	"domainConfigName": "test-domain-config-name",
	"connectionDetails": {
		"httpStatusCode": "200",
		"ocspResponderUri": "http://ocsp.example.com",
		"sourceIp": "205.251.233.181",
		"targetIp": "250.15.5.3"
	},
	"ocspRequestDetails": {
		"requesterName": "iot.amazonaws.com",
		"requestCertId": "30:3A:30:09:06:05:2B:0E:03:02:1A:05:00:04:14:9C:FF:90:A1:97:B0:4D:6C:01:B9:69:96:D8:3E:E7:A2:51:7F:30:C4:04:14:7C:84:78:AE:12:58:71:38:0C:65:FC:17:77:7D:14:DD:69:73:71:46:02:01:01"
	},
	"ocspResponseDetails": {
		"responseCertId": "30:3A:30:09:06:05:2B:0E:03:02:1A:05:00:04:14:9C:FF:90:A1:97:B0:4D:6C:01:B9:69:96:D8:3E:E7:A2:51:7F:30:C4:04:14:7C:84:78:AE:12:58:71:38:0C:65:FC:17:77:7D:14:DD:69:73:71:46:02:01:01",
		"ocspResponseStatus": "successful",
		"certStatus": "good",
		"signature": "4C:6F:63:61:6C:20:52:65:73:70:6F:6E:64:65:72:20:53:69:67:6E:61:74:75:72:65",
		"thisUpdateTime": "Jan 31 01:21:02 2024 UTC",
		"nextUpdateTime": "Feb 02 00:21:02 2024 UTC",
		"producedAtTime": "Jan 31 01:37:03 2024 UTC",
		"stapledDataPayloadSize": "XXX"
	}
}
```

A seguir está um exemplo de entrada de log de `Failure`. 

```
{
	"timestamp": "2024-01-30 15:39:30.961",
	"logLevel": "ERROR",
	"traceId": "180532b7-0cc7-057b-687a-5ca1824838f5",
	"accountId": "123456789012",
	"status": "Failure",
	"reason": "A non 2xx HTTP response was received from the OCSP responder.",
	"eventType": "RetrieveOCSPStapleData",
	"domainConfigName": "test-domain-config-name",
	"connectionDetails": {
		"httpStatusCode": "444",
		"ocspResponderUri": "http://ocsp.example.com",
		"sourceIp": "205.251.233.181",
		"targetIp": "250.15.5.3"
	},
	"ocspRequestDetails": {
		"requesterName": "iot.amazonaws.com",
		"requestCertId": "30:3A:30:09:06:05:2B:0E:03:02:1A:05:00:04:14:9C:FF:90:A1:97:B0:4D:6C:01:B9:69:96:D8:3E:E7:A2:51:7F:30:C4:04:14:7C:84:78:AE:12:58:71:38:0C:65:FC:17:77:7D:14:DD:69:73:71:46:02:01:01"
	}
}
```

Para a `RetrieveOCSPStaple` operação, além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de registro contêm os seguintes atributos:

reason  
A razão pela qual a operação falha.

domainConfigName  
O nome da configuração do domínio.

connectionDetails  
Uma breve explicação dos detalhes da conexão.  
+ httpStatusCode

  Códigos de status HTTP que são retornados pelo respondente OCSP em resposta à solicitação do cliente feita ao servidor.
+ ocspResponderUri

  O URI do respondente OCSP que AWS IoT Core obtém do certificado do servidor.
+ sourceIp

  O endereço IP de origem do AWS IoT Core servidor.
+ targetIp

  O endereço IP de destino do agente de resposta OCSP.

ocspRequestDetails  
Detalhes da solicitação OCSP.  
+ requesterName

  O identificador do AWS IoT Core servidor que envia uma solicitação ao respondente OCSP.
+ requestCertId

  O ID do certificado da solicitação. Esse é o ID do certificado para o qual a resposta OCSP está sendo solicitada.

ocspResponseDetails  
Detalhes da resposta do OCSP.  
+ responseCertId

  O ID do certificado da resposta OCSP. 
+ ocspResponseStatus

  O status da resposta do OCSP.
+ certStatus

  O status do certificado.
+ assinatura

  A assinatura aplicada à resposta por uma entidade confiável.
+ thisUpdateTime

  A hora em que se sabe que o status indicado está correto.
+ nextUpdateTime

  A hora igual ou anterior àquela em que as informações mais recentes estarão disponíveis sobre o status do certificado.
+ producedAtTime

  A hora em que o respondente OCSP assinou essa resposta.
+ stapledDataPayloadTamanho

  O tamanho da carga útil dos dados associados.

### Recuperar entrada OCSPStaple de registro de dados para endpoints privados
<a name="log-retrieve-ocsp-staple-private-endpoint"></a>

AWS IoT Core gera uma entrada de registro com um `eventType` of `RetrieveOCSPStapleData` quando o servidor recupera os dados básicos do OCSP.

#### Recupere exemplos de entrada OCSPStaple de registro de dados para endpoints privados
<a name="log-retrieve-ocsp-staple-private-endpoint.example"></a>

A seguir está um exemplo de entrada de log de `Success`. 

```
{
	"timestamp": "2024-01-30 15:39:30.961",
	"logLevel": "INFO",
	"traceId": "180532b7-0cc7-057b-687a-5ca1824838f5",
	"accountId": "123456789012",
	"status": "Success",
	"eventType": "RetrieveOCSPStapleData",
	"domainConfigName": "test-domain-config-name",
        "lambdaDetails": {
        "lambdaArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function",
        "sourceArn": "arn:aws:iot:us-west-2:123456789012:domainconfiguration/testDomainConfigure/6bzfg"
      },
        "authorizedResponderArn": "arn:aws:acm:us-west-2:123456789012:certificate/certificate_ID",
	"ocspRequestDetails": {
		"requesterName": "iot.amazonaws.com",
		"requestCertId": "30:3A:30:09:06:05:2B:0E:03:02:1A:05:00:04:14:9C:FF:90:A1:97:B0:4D:6C:01:B9:69:96:D8:3E:E7:A2:51:7F:30:C4:04:14:7C:84:78:AE:12:58:71:38:0C:65:FC:17:77:7D:14:DD:69:73:71:46:02:01:01"
	},
	"ocspResponseDetails": {
		"responderId": "04:C1:3F:8F:27:D6:49:13:F8:DE:B2:36:9D:85:8E:F8:31:3B:A6:D0"
               "responseCertId": "30:3A:30:09:06:05:2B:0E:03:02:1A:05:00:04:14:9C:FF:90:A1:97:B0:4D:6C:01:B9:69:96:D8:3E:E7:A2:51:7F:30:C4:04:14:7C:84:78:AE:12:58:71:38:0C:65:FC:17:77:7D:14:DD:69:73:71:46:02:01:01",
		"ocspResponseStatus": "successful",
		"certStatus": "good",
		"signature": "4C:6F:63:61:6C:20:52:65:73:70:6F:6E:64:65:72:20:53:69:67:6E:61:74:75:72:65",
		"thisUpdateTime": "Jan 31 01:21:02 2024 UTC",
		"nextUpdateTime": "Feb 02 00:21:02 2024 UTC",
		"producedAtTime": "Jan 31 01:37:03 2024 UTC",
		"stapledDataPayloadSize": "XXX"
	}
}
```

A seguir está um exemplo de entrada de log de `Failure`. 

```
{
	"timestamp": "2024-01-30 15:39:30.961",
	"logLevel": "ERROR",
	"traceId": "180532b7-0cc7-057b-687a-5ca1824838f5",
	"accountId": "123456789012",
	"status": "Failure",
	"reason": "The payload returned by the Lambda function exceeds the maximum response size of 7 kilobytes.",
	"eventType": "RetrieveOCSPStapleData",
	"domainConfigName": "test-domain-config-name",
        "lambdaDetails": {
        "lambdaArn": "arn:aws:lambda:us-west-2:123456789012:function:my-function",
        "sourceArn": "arn:aws:iot:us-west-2:123456789012:domainconfiguration/testDomainConfigure/6bzfg"
      },
        "authorizedResponderArn": "arn:aws:acm:us-west-2:123456789012:certificate/certificate_ID",
	 "ocspRequestDetails": {
		"requesterName": "iot.amazonaws.com",
		"requestCertId": "30:3A:30:09:06:05:2B:0E:03:02:1A:05:00:04:14:9C:FF:90:A1:97:B0:4D:6C:01:B9:69:96:D8:3E:E7:A2:51:7F:30:C4:04:14:7C:84:78:AE:12:58:71:38:0C:65:FC:17:77:7D:14:DD:69:73:71:46:02:01:01"
	}
}
```

Para a `RetrieveOCSPStaple` operação, além dos atributos [CloudWatch Atributos de registros comuns](#cwl-common-attributes) e na [entrada de registro Recuperar OCSPStaple dados](https://docs.aws.amazon.com//iot/latest/developerguide/cwl-format.html#log-retrieve-ocsp-staple), as entradas de registro para endpoints privados contêm os seguintes atributos:

lambdaDetails  
Detalhes da função do Lambda.  
+ lambdaArn

  O ARN da função Lambda.
+ sourceArn

  O ARN da configuração do domínio.

authorizedResponderArn  
O ARN do respondente autorizador, se houver um definido na configuração do domínio.

## Entradas de log da sombra do dispositivo
<a name="device-shadow-logs"></a>

O serviço AWS IoT Device Shadow gera entradas de registro para os seguintes eventos:

**Topics**
+ [DeleteThingShadow entrada de registro](#log-shadow-delete-thing-shadow)
+ [GetThingShadow entrada de registro](#log-shadow-get-thing-shadow)
+ [UpdateThingShadow entrada de registro](#log-shadow-update-thing-shadow)

### DeleteThingShadow entrada de registro
<a name="log-shadow-delete-thing-shadow"></a>

O serviço sombra do dispositivo gera uma entrada de log com um `eventType` de `DeleteThingShadow` quando uma solicitação para excluir a sombra de um dispositivo é recebida.

#### DeleteThingShadow exemplo de entrada de registro
<a name="log-shadow-delete-thing-shadow.example"></a>

```
{
    "timestamp": "2017-08-07 18:47:56.664",
    "logLevel": "INFO",
    "traceId": "1a60d02e-15b9-605b-7096-a9f584a6ad3f",
    "accountId": "123456789012",
    "status": "Success",
    "eventType": "DeleteThingShadow",
    "protocol": "MQTT",
    "deviceShadowName": "Jack",
    "topicName": "$aws/things/Jack/shadow/delete"
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `DeleteThingShadow` registro contêm os seguintes atributos:

deviceShadowName  
O nome da sombra a ser atualizada.

protocolo  
O protocolo usado para fazer a solicitação. Os valores válidos são `MQTT` ou `HTTP`. 

topicName  
O nome do tópico no qual a solicitação foi publicada. 

### GetThingShadow entrada de registro
<a name="log-shadow-get-thing-shadow"></a>

O serviço Sombra do dispositivo gera uma entrada de log com um `eventType` de `GetThingShadow` quando uma solicitação para obter uma sombra é recebida.

#### GetThingShadow exemplo de entrada de registro
<a name="log-shadow-get-thing-shadow.example"></a>

```
{
    "timestamp": "2017-08-09 17:56:30.941",
    "logLevel": "INFO",
    "traceId": "b575f19a-97a2-cf72-0ed0-c64a783a2504",
    "accountId": "123456789012",
    "status": "Success",
    "eventType": "GetThingShadow",
    "protocol": "MQTT",
    "deviceShadowName": "MyThing",
    "topicName": "$aws/things/MyThing/shadow/get"
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `GetThingShadow` registro contêm os seguintes atributos:

deviceShadowName  
O nome da sombra solicitada.

protocolo  
O protocolo usado para fazer a solicitação. Os valores válidos são `MQTT` ou `HTTP`. 

topicName  
O nome do tópico no qual a solicitação foi publicada. 

### UpdateThingShadow entrada de registro
<a name="log-shadow-update-thing-shadow"></a>

O serviço Sombra do dispositivo gera uma entrada de log com um `eventType` de `UpdateThingShadow` quando uma solicitação para atualizar a sombra de um dispositivo é recebida.

#### UpdateThingShadow exemplo de entrada de registro
<a name="log-shadow-update-thing-shadow.example"></a>

```
{
    "timestamp": "2017-08-07 18:43:59.436",
    "logLevel": "INFO",
    "traceId": "d0074ba8-0c4b-a400-69df-76326d414c28",
    "accountId": "123456789012",
    "status": "Success",
    "eventType": "UpdateThingShadow",
    "protocol": "MQTT",
    "deviceShadowName": "Jack",
    "topicName": "$aws/things/Jack/shadow/update"
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `UpdateThingShadow` registro contêm os seguintes atributos:

deviceShadowName  
O nome da sombra a ser atualizada.

protocolo  
O protocolo usado para fazer a solicitação. Os valores válidos são `MQTT` ou `HTTP`. 

topicName  
O nome do tópico no qual a solicitação foi publicada. 

## Entradas de log do mecanismo de regras
<a name="rule-engine-logs"></a>

O mecanismo de AWS IoT regras gera registros para os seguintes eventos:

**Topics**
+ [FunctionExecution entrada de registro](#log-rules-fn-exec)
+ [RuleExecution entrada de registro](#log-rules-rule-ex)
+ [RuleMatch entrada de registro](#log-rules-rule-match)
+ [RuleExecutionThrottled entrada de registro](#log-rules-rule-msg-throttled)
+ [RuleNotFound entrada de registro](#log-rules-rule-not-found)
+ [StartingRuleExecution entrada de registro](#log-rules-start-rule-ex)

### FunctionExecution entrada de registro
<a name="log-rules-fn-exec"></a>

O mecanismo de regras gera uma entrada de log com um `eventType` de `FunctionExecution` quando uma consulta SQL de uma regra chama uma função externa. Uma função externa é chamada quando a ação de uma regra faz uma solicitação HTTP para AWS IoT ou outro serviço da Web (por exemplo, chamando `get_thing_shadow` ou`machinelearning_predict`). 

#### FunctionExecution exemplo de entrada de registro
<a name="log-rules-fn-exec.example"></a>

```
{
    "timestamp": "2017-07-13 18:33:51.903",
    "logLevel": "DEBUG",
    "traceId": "180532b7-0cc7-057b-687a-5ca1824838f5",
    "status": "Success",
    "eventType": "FunctionExecution",
    "clientId": "N/A",
    "topicName":"rules/test",
    "ruleName": "ruleTestPredict",
    "ruleAction": "MachinelearningPredict",
    "resources": {
        "ModelId": "predict-model"
    },
    "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167"
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `FunctionExecution` registro contêm os seguintes atributos:

clientId  
 `N/A` para logs `FunctionExecution`.

principalId  
O ID da entidade principal que está fazendo a solicitação.

recursos  
Uma coleção de recursos usados pelas ações da regra.

ruleName  
O nome da regra correspondente.

topicName  
O nome do tópico que você assinou. 

### RuleExecution entrada de registro
<a name="log-rules-rule-ex"></a>

Quando o mecanismo de AWS IoT regras aciona a ação de uma regra, ele gera uma entrada de `RuleExecution` registro.

#### RuleExecution exemplo de entrada de registro
<a name="log-rules-rule-ex.example"></a>

```
{
    "timestamp": "2017-08-10 16:32:46.070",
    "logLevel": "INFO",
    "traceId": "30aa7ccc-1d23-0b97-aa7b-76196d83537e",
    "accountId": "123456789012",
    "status": "Success",
    "eventType": "RuleExecution",
    "clientId": "abf27092886e49a8a5c1922749736453",
    "topicName": "rules/test",
    "ruleName": "JSONLogsRule",
    "ruleAction": "RepublishAction",
    "resources": {
        "RepublishTopic": "rules/republish"
    },
    "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167"
}
```

#### RuleExecution com exemplo de entrada de registro em lote
<a name="log-rules-rule-ex-batching.example"></a>

```
{
    "logLevel": "INFO",
    "accountId": "123456789012",
    "status": "Success",
    "eventType": "RuleExecution",
    "ruleName": "rule_test",
    "ruleAction": "HttpAction",
    "resources": {
        "Url": "https://example.com",
        "ConfirmationUrl": "https://example.com"
    },
    "details": "HttpAction made a request to the specified endpoint",
    "batchDetails": {
        "timestamps": [
            "1234567890123",
            "1234567890123",
            "1234567890123"
        ],
        "traceIds": [
            "30aa7ccc-1d23-0b97-aa7b-76196d83537e",
            "30aa7ccc-1d23-0b97-aa7b-76196d83537c",
            "30aa7ccc-1d23-0b97-aa7b-76196d83537d"
        ],
        "clientIds": [
            "N/A",
            "N/A",
            "N/A"
        ],
        "topicNames": [
            "topic/ruletest",
            "topic/ruletest",
            "topic/ruletest"
        ],
        "principalIds": [
            "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167",
            "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167",
            "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167"
        ],
        "batchSize": 3,
        "batchSizeInBytes": 114
    }
}
```

Além do [CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de log `RuleExecution` contêm os seguintes atributos:

clientId  
O ID do cliente que está fazendo a solicitação.

principalId  
O ID da entidade principal que está fazendo a solicitação.

recursos  
Uma coleção de recursos usados pelas ações da regra.

ruleAction  
O nome da ação disparada.

ruleName  
O nome da regra correspondente.

topicName  
O nome do tópico que você assinou. 

### RuleMatch entrada de registro
<a name="log-rules-rule-match"></a>

O mecanismo de AWS IoT regras gera uma entrada de registro com um `eventType` de `RuleMatch` quando o agente de mensagens recebe uma mensagem que corresponde a uma regra.

#### RuleMatch exemplo de entrada de registro
<a name="log-rules-rule-match.example"></a>

```
{
    "timestamp": "2017-08-10 16:32:46.002",
    "logLevel": "INFO",
    "traceId": "30aa7ccc-1d23-0b97-aa7b-76196d83537e",
    "accountId": "123456789012",
    "status": "Success",
    "eventType": "RuleMatch",
    "clientId": "abf27092886e49a8a5c1922749736453",
    "topicName": "rules/test",
    "ruleName": "JSONLogsRule",
    "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167"
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `RuleMatch` registro contêm os seguintes atributos:

clientId  
O ID do cliente que está fazendo a solicitação.

principalId  
O ID da entidade principal que está fazendo a solicitação.

ruleName  
O nome da regra correspondente.

topicName  
O nome do tópico que você assinou. 

### RuleExecutionThrottled entrada de registro
<a name="log-rules-rule-msg-throttled"></a>

Quando uma execução é limitada, o mecanismo de AWS IoT regras gera uma entrada de registro com um `eventType` de. `RuleExecutionThrottled` 

#### RuleExecutionThrottled exemplo de entrada de registro
<a name="log-rules-rule-msg-throttled.example"></a>

```
{
    "timestamp": "2017-10-04 19:25:46.070",
    "logLevel": "ERROR",
    "traceId": "30aa7ccc-1d23-0b97-aa7b-76196d83537e",
    "accountId": "123456789012",
    "status": "Failure",
    "eventType": "RuleExecutionThrottled",
    "clientId": "abf27092886e49a8a5c1922749736453",
    "topicName": "$aws/rules/example_rule",
    "ruleName": "example_rule",
    "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167",
    "reason": "RuleExecutionThrottled",
    "details": "Exection of Rule example_rule throttled"
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `RuleExecutionThrottled` registro contêm os seguintes atributos:

clientId  
O ID do cliente que está fazendo a solicitação.

detalhes  
Uma breve explicação do erro.

principalId  
O ID da entidade principal que está fazendo a solicitação.

reason  
A string "RuleExecutionThrottled”.

ruleName  
O nome da regra a ser acionada.

topicName  
O nome do tópico publicado.

### RuleNotFound entrada de registro
<a name="log-rules-rule-not-found"></a>

Quando o mecanismo de AWS IoT regras não consegue encontrar uma regra com um determinado nome, ele gera uma entrada de registro com um `eventType` de`RuleNotFound`. 

#### RuleNotFound exemplo de entrada de registro
<a name="log-rules-rule-not-found.example"></a>

```
{
    "timestamp": "2017-10-04 19:25:46.070",
    "logLevel": "ERROR",
    "traceId": "30aa7ccc-1d23-0b97-aa7b-76196d83537e",
    "accountId": "123456789012",
    "status": "Failure",
    "eventType": "RuleNotFound",
    "clientId": "abf27092886e49a8a5c1922749736453",
    "topicName": "$aws/rules/example_rule",
    "ruleName": "example_rule",
    "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167",
    "reason": "RuleNotFound",
    "details": "Rule example_rule not found"
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `RuleNotFound` registro contêm os seguintes atributos:

clientId  
O ID do cliente que está fazendo a solicitação.

detalhes  
Uma breve explicação do erro.

principalId  
O ID da entidade principal que está fazendo a solicitação.

reason  
A string "RuleNotFound”.

ruleName  
O nome da regra que não pôde ser encontrada.

topicName  
O nome do tópico publicado.

### StartingRuleExecution entrada de registro
<a name="log-rules-start-rule-ex"></a>

Quando o mecanismo de AWS IoT regras começa a acionar a ação de uma regra, ele gera uma entrada de registro com um `eventType` de`StartingRuleExecution`. 

#### StartingRuleExecution exemplo de entrada de registro
<a name="log-rules-start-rule-ex.example"></a>

```
{
    "timestamp": "2017-08-10 16:32:46.002",
    "logLevel": "DEBUG",
    "traceId": "30aa7ccc-1d23-0b97-aa7b-76196d83537e",
    "accountId": "123456789012",
    "status": "Success",
    "eventType": "StartingRuleExecution",
    "clientId": "abf27092886e49a8a5c1922749736453",
    "topicName": "rules/test",
    "ruleName": "JSONLogsRule",
    "ruleAction": "RepublishAction",
    "principalId": "145179c40e2219e18a909d896a5340b74cf97a39641beec2fc3eeafc5a932167"
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `rule-` registro contêm os seguintes atributos:

clientId  
O ID do cliente que está fazendo a solicitação.

principalId  
O ID da entidade principal que está fazendo a solicitação.

ruleAction  
O nome da ação disparada.

ruleName  
O nome da regra correspondente.

topicName  
O nome do tópico que você assinou. 

## Entradas de log de tarefas
<a name="job-logs"></a>

O serviço AWS IoT Job gera entradas de registro para os seguintes eventos. As entradas de log são geradas quando uma solicitação HTTP ou MQTT é recebida do dispositivo.

**Topics**
+ [DescribeJobExecution entrada de registro](#log-job-describe-job-ex)
+ [GetPendingJobExecution entrada de registro](#log-job-get-pending-job-ex)
+ [ReportFinalJobExecutionCount entrada de registro](#log-job-report-final-job-ex-count)
+ [StartNextPendingJobExecution entrada de registro](#log-job-start-next-pending-job-ex)
+ [UpdateJobExecution entrada de registro](#log-job-update-job-ex)

### DescribeJobExecution entrada de registro
<a name="log-job-describe-job-ex"></a>

O serviço AWS IoT Jobs gera uma entrada de registro com um `eventType` de `DescribeJobExecution` quando o serviço recebe uma solicitação para descrever a execução de um trabalho.

#### DescribeJobExecution exemplo de entrada de registro
<a name="log-job-describe-job-ex.example"></a>

```
{
    "timestamp": "2017-08-10 19:13:22.841",
    "logLevel": "DEBUG",
    "accountId": "123456789012",
    "status": "Success",
    "eventType": "DescribeJobExecution",
    "protocol": "MQTT",
    "clientId": "thingOne",
    "jobId": "002",
    "topicName": "$aws/things/thingOne/jobs/002/get",
    "clientToken": "myToken",
    "details": "The request status is SUCCESS."
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `GetJobExecution` registro contêm os seguintes atributos:

clientId  
O ID do cliente que está fazendo a solicitação.

clientToken  
Um identificador exclusivo e que diferencia maiúsculas e minúsculas, para garantir a idempotência da solicitação. Para obter mais informações, consulte [Como garantir a idempotência](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). 

detalhes  
Outras informações do serviço Tarefas.

jobId  
O ID da tarefa para a execução do tarefa.

protocolo  
O protocolo usado para fazer a solicitação. Os valores válidos são `MQTT` ou `HTTP`. 

topicName  
O tópico usado para fazer a solicitação. 

### GetPendingJobExecution entrada de registro
<a name="log-job-get-pending-job-ex"></a>

O serviço AWS IoT Jobs gera uma entrada de registro com um `eventType` de `GetPendingJobExecution` quando o serviço recebe uma solicitação de execução de trabalho.

#### GetPendingJobExecution exemplo de entrada de registro
<a name="log-job-get-pending-job-ex.example"></a>

```
{
    "timestamp": "2018-06-13 17:45:17.197",
    "logLevel": "DEBUG",
    "accountId": "123456789012",
    "status": "Success",
    "eventType": "GetPendingJobExecution",
    "protocol": "MQTT",
    "clientId": "299966ad-54de-40b4-99d3-4fc8b52da0c5",
    "topicName": "$aws/things/299966ad-54de-40b4-99d3-4fc8b52da0c5/jobs/get",
    "clientToken": "24b9a741-15a7-44fc-bd3c-1ff2e34e5e82",
    "details": "The request status is SUCCESS."
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `GetPendingJobExecution` registro contêm os seguintes atributos:

clientId  
O ID do cliente que está fazendo a solicitação.

clientToken  
Um identificador exclusivo e que diferencia maiúsculas e minúsculas, para garantir a idempotência da solicitação. Para obter mais informações, consulte [Como garantir a idempotência](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). 

detalhes  
Outras informações do serviço Jobs.

protocolo  
O protocolo usado para fazer a solicitação. Os valores válidos são `MQTT` ou `HTTP`. 

topicName  
O nome do tópico que você assinou. 

### ReportFinalJobExecutionCount entrada de registro
<a name="log-job-report-final-job-ex-count"></a>

O serviço AWS IoT Jobs gera uma entrada de registro com um `entryType` de `ReportFinalJobExecutionCount` quando um trabalho é concluído.

#### ReportFinalJobExecutionCount exemplo de entrada de registro
<a name="log-job-report-final-job-ex-count.example"></a>

```
{
    "timestamp": "2017-08-10 19:44:16.776",
    "logLevel": "INFO",
    "accountId": "123456789012",
    "status": "Success",
    "eventType": "ReportFinalJobExecutionCount",
    "jobId": "002",
    "details": "Job 002 completed. QUEUED job execution count: 0 IN_PROGRESS job execution count: 0 FAILED job execution count: 0 SUCCEEDED job execution count: 1 CANCELED job execution count: 0 REJECTED job execution count: 0 REMOVED job execution count: 0"
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `ReportFinalJobExecutionCount` registro contêm os seguintes atributos:

detalhes  
Outras informações do serviço Tarefas.

jobId  
O ID da tarefa para a execução do tarefa.

### StartNextPendingJobExecution entrada de registro
<a name="log-job-start-next-pending-job-ex"></a>

Quando recebe uma solicitação para iniciar a próxima execução do trabalho pendente, o serviço AWS IoT Jobs gera uma entrada de registro com um `eventType` de`StartNextPendingJobExecution`. 

#### StartNextPendingJobExecution exemplo de entrada de registro
<a name="log-job-start-next-pending-job-ex.example"></a>

```
{
    "timestamp": "2018-06-13 17:49:51.036",
    "logLevel": "DEBUG",
    "accountId": "123456789012",
    "status": "Success",
    "eventType": "StartNextPendingJobExecution",
    "protocol": "MQTT",
    "clientId": "95c47808-b1ca-4794-bc68-a588d6d9216c",
    "topicName": "$aws/things/95c47808-b1ca-4794-bc68-a588d6d9216c/jobs/start-next",
    "clientToken": "bd7447c4-3a05-49f4-8517-dd89b2c68d94",
    "details": "The request status is SUCCESS."
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `StartNextPendingJobExecution` registro contêm os seguintes atributos:

clientId  
O ID do cliente que está fazendo a solicitação.

clientToken  
Um identificador exclusivo e que diferencia maiúsculas e minúsculas, para garantir a idempotência da solicitação. Para obter mais informações, consulte [Como garantir a idempotência](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). 

detalhes  
Outras informações do serviço Jobs.

protocolo  
O protocolo usado para fazer a solicitação. Os valores válidos são `MQTT` ou `HTTP`. 

topicName  
O tópico usado para fazer a solicitação. 

### UpdateJobExecution entrada de registro
<a name="log-job-update-job-ex"></a>

O serviço AWS IoT Jobs gera uma entrada de registro com um `eventType` de `UpdateJobExecution` quando o serviço recebe uma solicitação para atualizar a execução de um trabalho.

#### UpdateJobExecution exemplo de entrada de registro
<a name="log-job-update-job-ex.example"></a>

```
{
    "timestamp": "2017-08-10 19:25:14.758",
    "logLevel": "DEBUG",
    "accountId": "123456789012",
    "status": "Success",
    "eventType": "UpdateJobExecution",
    "protocol": "MQTT",
    "clientId": "thingOne",
    "jobId": "002",
    "topicName": "$aws/things/thingOne/jobs/002/update",
    "clientToken": "myClientToken",
    "versionNumber": "1",
    "details": "The destination status is IN_PROGRESS. The request status is SUCCESS."
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `UpdateJobExecution` registro contêm os seguintes atributos:

clientId  
O ID do cliente que está fazendo a solicitação.

clientToken  
Um identificador exclusivo e que diferencia maiúsculas e minúsculas, para garantir a idempotência da solicitação. Para obter mais informações, consulte [Como garantir a idempotência](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). 

detalhes  
Outras informações do serviço Tarefas.

jobId  
O ID da tarefa para a execução do tarefa.

protocolo  
O protocolo usado para fazer a solicitação. Os valores válidos são `MQTT` ou `HTTP`. 

topicName  
O tópico usado para fazer a solicitação. 

versionNumber  
A versão da execução da tarefa.

## Entradas de log de provisionamento de dispositivos
<a name="provision-logs"></a>

O serviço de provisionamento de AWS IoT dispositivos gera registros para os seguintes eventos. 

**Topics**
+ [GetDeviceCredentials entrada de registro](#log-provision-get-device-credentials)
+ [ProvisionDevice entrada de registro](#log-provision-provision-device)

### GetDeviceCredentials entrada de registro
<a name="log-provision-get-device-credentials"></a>

O serviço de provisionamento de AWS IoT dispositivos gera uma entrada de registro com um `eventType` de `GetDeviceCredential` quando um cliente liga. `GetDeviceCredential` 



#### GetDeviceCredentials exemplo de entrada de registro
<a name="log-provision-get-device-credentials.example"></a>

```
{
  "timestamp" : "2019-02-20 20:31:22.932",
  "logLevel" : "INFO",
  "traceId" : "8d9c016f-6cc7-441e-8909-7ee3d5563405",
  "accountId" : "123456789101",
  "status" : "Success",
  "eventType" : "GetDeviceCredentials",
  "deviceCertificateId" : "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "details" : "Additional details about this log."
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `GetDeviceCredentials` registro contêm os seguintes atributos:

detalhes  
Uma breve explicação do erro.

deviceCertificateId  
O ID do certificado do dispositivo.

### ProvisionDevice entrada de registro
<a name="log-provision-provision-device"></a>

O serviço de provisionamento de AWS IoT dispositivos gera uma entrada de registro com um `eventType` de `ProvisionDevice` quando um cliente liga. `ProvisionDevice` 

#### ProvisionDevice exemplo de entrada de registro
<a name="log-provision-provision-device.example"></a>

```
{
  "timestamp" : "2019-02-20 20:31:22.932",
  "logLevel" : "INFO",
  "traceId" : "8d9c016f-6cc7-441e-8909-7ee3d5563405",
  "accountId" : "123456789101",
  "status" : "Success",
  "eventType" : "ProvisionDevice",
  "provisioningTemplateName" : "myTemplate",
  "deviceCertificateId" : "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
  "details" : "Additional details about this log."
 }
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `ProvisionDevice` registro contêm os seguintes atributos:

detalhes  
Uma breve explicação do erro.

deviceCertificateId  
O ID do certificado do dispositivo.

provisioningTemplateName  
O nome do modelo de provisionamento.

## Entradas de log de grupo dinâmico de objetos
<a name="dynamic-group-logs"></a>

AWS IoT Os Dynamic Thing Groups geram registros para o seguinte evento.

**Topics**
+ [AddThingToDynamicThingGroupsFailed entrada de registro](#log-dynthing-add-thing-to-dynamic-thing-groups-failed)

### AddThingToDynamicThingGroupsFailed entrada de registro
<a name="log-dynthing-add-thing-to-dynamic-thing-groups-failed"></a>

Quando não AWS IoT foi possível adicionar algo aos grupos dinâmicos especificados, ele gera uma entrada de registro com um `eventType` de`AddThingToDynamicThingGroupsFailed`. Isso acontece quando um objeto atendia aos critérios para estar no grupo dinâmico e, no entanto, não pôde ser adicionada ao grupo dinâmico ou foi removida do grupo dinâmico. Isso pode acontecer em função de:
+ A objeto já pertence ao número máximo de grupos.
+ A opção **--override-dynamic-groups** foi usada para adicionar o objeto a um grupo de objetos estáticas. Foi removido de um grupo dinâmico de objetos para tornar isso possível.

Para obter mais informações, consulte [Limitações e conflitos de grupo de objetos dinâmicas](dynamic-thing-groups.md#dynamic-thing-group-limitations). 

#### AddThingToDynamicThingGroupsFailed exemplo de entrada de registro
<a name="log-dynthing-add-thing-to-dynamic-thing-groups-failed.example"></a>

Este exemplo mostra a entrada de log de um erro `AddThingToDynamicThingGroupsFailed`. Neste exemplo, *TestThing*atendeu aos critérios para estar nos grupos de coisas dinâmicas listados em`dynamicThingGroupNames`, mas não pôde ser adicionado a esses grupos dinâmicos, conforme descrito em`reason`. 

```
{
 "timestamp": "2020-03-16 22:24:43.804",
 "logLevel": "ERROR",
 "traceId": "70b1f2f5-d95e-f897-9dcc-31e68c3e1a30",
 "accountId": "57EXAMPLE833",
 "status": "Failure",
 "eventType": "AddThingToDynamicThingGroupsFailed",
 "thingName": "TestThing",
 "dynamicThingGroupNames": [
  "DynamicThingGroup11",
  "DynamicThingGroup12",
  "DynamicThingGroup13",
  "DynamicThingGroup14"
 ],
 "reason": "The thing failed to be added to the given dynamic thing group(s) because the thing already belongs to the maximum allowed number of groups."
}
```

Além do[CloudWatch Atributos de registros comuns](#cwl-common-attributes), as entradas de `AddThingToDynamicThingGroupsFailed` registro contêm os seguintes atributos:

dynamicThingGroupNomes  
Uma matriz dos grupos de objetos dinâmicas aos quais o objeto não foi adicionada.

reason  
A razão pela qual o objeto não foi adicionada aos grupos de objetos dinâmicas.

thingName  
O nome do objeto que não foi adicionada a um grupo de objetos dinâmicas.

## Entradas de log de indexação de frota
<a name="fleet-indexing-logs"></a>

AWS IoT a indexação da frota gera entradas de registro para os seguintes eventos.

**Topics**
+ [NamedShadowCountForDynamicGroupQueryLimitExceeded entrada de registro](#log-named-shadow-dynamic-group)

### NamedShadowCountForDynamicGroupQueryLimitExceeded entrada de registro
<a name="log-named-shadow-dynamic-group"></a>

No máximo 25 sombras nomeadas por objeto são processadas para termos de consulta que não são específicos da fonte de dados em grupos dinâmicos. Quando esse limite é violado para algo, o tipo de evento `NamedShadowCountForDynamicGroupQueryLimitExceeded` será emitido.

#### NamedShadowCountForDynamicGroupQueryLimitExceeded exemplo de entrada de registro
<a name="log-named-shadow-dynamic-group.example"></a>

Este exemplo mostra a entrada de log de um erro `NamedShadowCountForDynamicGroupQueryLimitExceeded`. Neste exemplo, os `DynamicGroup` resultados baseados em todos os valores podem ser imprecisos, conforme descrito no campo `reason`.

```
{
"timestamp": "2020-03-16 22:24:43.804",
"logLevel": "ERROR",
"traceId": "70b1f2f5-d95e-f897-9dcc-31e68c3e1a30",
"accountId": "571032923833",
"status": "Failure",
"eventType": "NamedShadowCountForDynamicGroupQueryLimitExceeded",
"thingName": "TestThing",
"reason": "A maximum of 25 named shadows per thing are processed for non-data source specific query terms in dynamic groups."
}
```

## CloudWatch Atributos de registros comuns
<a name="cwl-common-attributes"></a>

Todas as entradas de registro de CloudWatch registros incluem os seguintes atributos:

accountId  
Sua Conta da AWS identidade.

eventType  
O tipo de evento para o qual o log foi gerado. O valor do tipo de evento depende do evento que gerou a entrada de log. Cada descrição de entrada de log inclui o valor de `eventType` para essa entrada de log.

logLevel  
O nível de log que está sendo usado. Para obter mais informações, consulte [Níveis de logs](configure-logging.md#log-level).

status  
O status da solicitação.

timestamp  
A data e hora do UNIX legíveis de quando o cliente se conectou ao agente de mensagens da AWS IoT .

traceId  
Um identificador gerado aleatoriamente que pode ser usado para correlacionar todos os logs para uma solicitação específica.

# Faça upload de registros do lado do dispositivo para a Amazon CloudWatch
<a name="upload-device-logs-to-cloudwatch"></a>

Você pode fazer upload de registros históricos do lado do dispositivo na Amazon CloudWatch para monitorar e analisar a atividade de um dispositivo no campo. Os logs do lado do dispositivo podem incluir arquivos de logs do sistema, do aplicativo e do dispositivo. [Esse processo usa um parâmetro de ação de regras de CloudWatch registros para publicar registros do lado do dispositivo em um grupo de registros definido pelo cliente.](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) 

## Como funciona
<a name="upload-process-overview"></a>

O processo começa quando um AWS IoT dispositivo envia mensagens MQTT contendo arquivos de log formatados para um AWS IoT tópico. Uma AWS IoT regra monitora o tópico da mensagem e envia os arquivos de log para um grupo de CloudWatch registros definido por você. Em seguida, você pode revisar e analisar as informações.

**Topics**
+ [Tópicos do MQTT](#upload-mqtt-topics-overview)
+ [Ação da regra](#upload-rule-action-overview)

### Tópicos do MQTT
<a name="upload-mqtt-topics-overview"></a>

Escolha um espaço de nome de tópico do MQTT que você usará para publicar os logs. Recomendamos usar esse formato para o espaço de tópicos comuns,`$aws/rules/things/thing_name/logs`, e esse formato para tópicos de erro, `$aws/rules/things/thing_name/logs/errors`. A estrutura de nomenclatura para logs e tópicos de erro é recomendada, mas não obrigatória. Para obter mais informações, consulte [Elaboração de tópicos MQTT para AWS IoT Core](https://docs.aws.amazon.com/whitepapers/latest/designing-mqtt-topics-aws-iot-core/designing-mqtt-topics-aws-iot-core.html). 

Ao usar o espaço de tópico comum recomendado, você utiliza tópicos reservados do AWS IoT Basic Ingest. AWS IoT O Basic Ingest envia com segurança os dados do dispositivo para os AWS serviços que são suportados por AWS IoT ações de regras. Ele remove o agente de publish/subscribe mensagens do caminho de ingestão, tornando-o mais econômico. Para obter mais informações, consulte [Reduzir custos do sistema de mensagens com a ingestão básica no](https://docs.aws.amazon.com/iot/latest/developerguide/iot-basic-ingest.html). 

Se você usa o BatchMode para carregar arquivos de log, suas mensagens devem seguir um formato específico que inclua um carimbo de data/hora e uma mensagem do UNIX. Para obter mais informações, consulte o tópico [Requisitos de formato de mensagem MQTT para BatchMode em Ação de](https://docs.aws.amazon.com/iot/latest/developerguide/cloudwatch-logs-rule-action.html#cloudwatch-logs-rule-action-message-format) regra de [CloudWatch registros](https://docs.aws.amazon.com/iot/latest/developerguide/cloudwatch-logs-rule-action.html). 

### Ação da regra
<a name="upload-rule-action-overview"></a>

Quando AWS IoT recebe as mensagens MQTT dos dispositivos cliente, uma AWS IoT regra monitora o tópico definido pelo cliente e publica o conteúdo em um grupo de CloudWatch registros definido por você. Esse processo usa uma ação de regra de CloudWatch registros para monitorar o MQTT em lotes de arquivos de log. Para obter mais informações, consulte a ação da AWS IoT regra de [CloudWatch registros](https://docs.aws.amazon.com/iot/latest/developerguide/cloudwatch-logs-rule-action.html).

#### Modo Batch
<a name="upload-batch-mode-overview"></a>

 `batchMode`é um parâmetro booleano dentro da ação da regra AWS IoT CloudWatch Logs. Esse parâmetro é opcional e está desativado (`false`) por padrão. Para carregar arquivos de log do lado do dispositivo em lotes, você deve ativar esse parâmetro (`true`) ao criar a regra. AWS IoT Para obter mais informações, consulte [CloudWatch Registros](https://docs.aws.amazon.com/iot/latest/developerguide/cloudwatch-logs-rule-action.html) na seção de [ações de AWS IoT regras](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rule-actions.html).

# Carregar registros do lado do dispositivo usando regras AWS IoT
<a name="uploading-logs-rules-action-procedure"></a>

Você pode usar o mecanismo de AWS IoT regras para carregar registros de log de arquivos de log existentes do lado do dispositivo (registros do sistema, do aplicativo e do dispositivo-cliente) para a Amazon. CloudWatch Quando os registros do lado do dispositivo são publicados em um tópico do MQTT, a ação de regras de CloudWatch registros transfere as mensagens para os registros. CloudWatch Esse processo descreve como fazer upload de logs de dispositivos em lotes usando o `batchMode` parâmetro de ação de regras ativado (definido como `true`). 

Para começar a enviar registros do lado do dispositivo para CloudWatch, preencha os pré-requisitos a seguir.

## Pré-requisitos
<a name="uploading-logs-rules-prerequisites"></a>

Antes de começar, faça o seguinte:
+ Crie pelo menos um dispositivo de IoT de destino que esteja registrado AWS IoT Core como uma AWS IoT coisa. Para obter mais informações, consulte [Criar um objeto](https://docs.aws.amazon.com/iot/latest/developerguide/create-iot-resources.html#create-aws-thing). 
+ Determine o espaço do tópico do MQTT para ingestão e erros. Para obter mais informações sobre os tópicos do MQTT e as convenções de nomenclatura recomendadas, consulte a seção de [tópicos do [Tópicos do MQTT](upload-device-logs-to-cloudwatch.md#upload-mqtt-topics-overview) MQTT](https://docs.aws.amazon.com/iot/latest/developerguide/upload-device-logs-to-cloudwatch.html#upload-mqtt-topics-overview) em [Carregar registros do lado do dispositivo](https://docs.aws.amazon.com/iot/latest/developerguide/upload-device-logs-to-cloudwatch.html) para a Amazon. CloudWatch 

Para obter mais informações sobre esses pré-requisitos, consulte [Carregar registros do lado do dispositivo](https://docs.aws.amazon.com/iot/latest/developerguide/upload-device-logs-to-cloudwatch) para. CloudWatch 

## Criação de um grupo de CloudWatch registros
<a name="uploading-logs-rules-setup-log-group"></a>

Para criar um grupo de CloudWatch registros, conclua as etapas a seguir. Escolha a guia apropriada, dependendo se você prefere executar as etapas por meio do Console de gerenciamento da AWS ou do AWS Command Line Interface (AWS CLI).

------
#### [ Console de gerenciamento da AWS ]

**Para criar um grupo de CloudWatch registros usando o Console de gerenciamento da AWS**

1. Abra o Console de gerenciamento da AWS e navegue até [CloudWatch](https://console.aws.amazon.com//cloudwatch). 

1. Na barra de navegação, escolha **Logs** e, em seguida, escolha **Grupos de logs**. 

1. Escolha a opção **Criar grupo de logs**. 

1. Atualize o **nome do grupo de logs** e, opcionalmente, atualize os campos de **de configuração de retenção**.

1. Escolha **Criar**. 

------
#### [ AWS CLI ]

**Para criar um grupo de CloudWatch registros usando o AWS CLI**

1. Execute os comandos a seguir para criar o grupo de logs. Para obter mais informações, consulte ` [create-log-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/create-log-group.html) ` na Referência de Comandos AWS CLI v2.

   Substitua o nome do grupo de logs no exemplo (`uploadLogsGroup`) pelo nome de sua preferência.

   ```
   aws logs create-log-group --log-group-name uploadLogsGroup
   ```

1. Para confirmar se o grupo de logs foi criado corretamente, execute o comando a seguir.

   ```
   aws logs describe-log-groups --log-group-name-prefix uploadLogsGroup
   ```

   Exemplo de resultado:

   ```
   {
       "logGroups": [
           {
               "logGroupName": "uploadLogsGroup",
               "creationTime": 1674521804657,
               "metricFilterCount": 0,
               "arn": "arn:aws:logs:us-east-1:111122223333:log-group:uploadLogsGroup:*",
               "storedBytes": 0
           }
       ]
   }
   ```

------

## Criação de uma regra de tópico
<a name="uploading-logs-rules-setup-topic-rule"></a>

Para criar uma AWS IoT regra, conclua as etapas a seguir. Escolha a guia apropriada, dependendo se você prefere executar as etapas por meio do Console de gerenciamento da AWS ou do AWS Command Line Interface (AWS CLI).

------
#### [ Console de gerenciamento da AWS ]

**Para criar uma regra de tópico usando o Console de gerenciamento da AWS**

1. Abra o hub de regras.

   1. Abra o Console de gerenciamento da AWS e navegue até [AWS IoT](https://console.aws.amazon.com/iot). 

   1. Na barra de navegação, escolha **Roteamento de mensagens** e, em seguida, **Regras**. 

   1. Escolha a opção **Criar regra**. 

1. Insira as propriedades da regra.

   1. Insira um **nome de regra** alfanumérico. 

   1. (Opcional) Insira uma **Descrição da regra** e **Tags**. 

   1. Escolha **Próximo**. 

1. Insira uma instrução SQL.

   1. Insira uma instrução SQL usando o tópico MQTT que você definiu para ingestão.

      Por exemplo, `SELECT * FROM '$aws/rules/things/thing_name/logs' `. 

   1. Escolha **Próximo**. 

1. Insira as ações da regra.

   1. No menu **Ação 1**, escolha **CloudWatchregistros**. 

   1. Escolha o **nome do grupo de logs** que você criou. Em seguida, escolha o grupo de logs criado.

   1. Selecione **Usar modo em lote**. 

   1. Especifique o perfil do IAM para a regra.

      Se você tiver um perfil do IAM para a regra, faça o seguinte.

      1. No menu do **perfil do IAM**, escolha seu perfil do IAM.

      Se você não tiver um perfil do IAM para a regra, faça o seguinte.

      1. Escolha **Criar nova função**. 

      1. Em **Nome do perfil**, insira um nome exclusivo e escolha **Criar**. 

      1. Confirme se o nome do perfil do IAM está correto no campo do **perfil do IAM**.

   1. Escolha **Próximo**. 

1. Revisar a configuração do modelo.

   1. Revise as configurações do modelo de Tarefa para verificar se estão corretas.

   1. Depois de concluir, escolha a opção **Criar**. 

------
#### [ AWS CLI ]

**Para criar uma função do IAM e uma regra de tópico usando o AWS CLI**

1. Crie uma função do IAM que conceda direitos à AWS IoT regra.

   1. Crie uma política do IAM.

      Execute o seguinte comando para criar uma política do IAM. Certifique-se de atualizar o valor do parâmetro `policy-name`. Para obter mais informações, consulte [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-policy.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-policy.html)na Referência de Comandos AWS CLI v2.
**nota**  
Se você estiver usando um sistema operacional Microsoft Windows, talvez seja necessário substituir o marcador de fim de linha (\$1) por uma marca (`) ou outro caractere.

      ```
      aws iam create-policy \
          --policy-name uploadLogsPolicy \
          --policy-document \
      '{
          "Version": "2012-10-17",		 	 	 
          "Statement": {
              "Effect": "Allow",
              "Action": [
                  "iot:CreateTopicRule",
                  "iot:Publish",
                  "logs:CreateLogGroup",
                  "logs:CreateLogStream",
                  "logs:PutLogEvents",
                  "logs:GetLogEvents"
              ],
              "Resource": "*"
          }
      }'
      ```

   1. Copie o ARN da política de sua saída em um editor de texto.

      Exemplo de saída:

      ```
      {
          "Policy": {
              "PolicyName": "uploadLogsPolicy",
              "PermissionsBoundaryUsageCount": 0,
              "CreateDate": "2023-01-23T18:30:10Z",
              "AttachmentCount": 0,
              "IsAttachable": true,
              "PolicyId": "AAABBBCCCDDDEEEFFFGGG",
              "DefaultVersionId": "v1",
              "Path": "/",
              "Arn": "arn:aws:iam::111122223333:policy/uploadLogsPolicy",
              "UpdateDate": "2023-01-23T18:30:10Z"
          }
      }
      ```

   1. Criar uma política e um perfil do IAM.

      Execute o seguinte comando para criar uma política do IAM. Certifique-se de atualizar o valor do parâmetro `role-name`. Para obter mais informações, consulte [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-role.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-role.html)na Referência de Comandos AWS CLI v2.

      ```
      aws iam create-role \
      --role-name uploadLogsRole \
      --assume-role-policy-document \
      '{
          "Version": "2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "",
                  "Effect": "Allow",
                  "Principal": {
                      "Service": "iot.amazonaws.com"
                  },
                  "Action": "sts:AssumeRole"
              }
          ]
      }'
      ```

   1. Anexe a política do IAM à função.

      Execute o seguinte comando para criar uma política do IAM. Certifique-se de atualizar os valores dos parâmetros `role-name` e `policy-arn`. Para obter mais informações, consulte [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/attach-role-policy.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/attach-role-policy.html)na Referência de Comandos AWS CLI v2.

      ```
      aws iam attach-role-policy \
      --role-name uploadLogsRole \
      --policy-arn arn:aws:iam::111122223333:policy/uploadLogsPolicy
      ```

   1. Analise a função.

      Para confirmar se o perfil do IAM foi criado corretamente, execute o comando a seguir. Certifique-se de atualizar o valor do parâmetro `role-name`. Para obter mais informações, consulte [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/get-role.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/get-role.html)na Referência de Comandos AWS CLI v2.

      ```
      aws iam get-role --role-name uploadLogsRole
      ```

      Exemplo de saída:

      ```
      {
          "Role": {
              "Path": "/",
              "RoleName": "uploadLogsRole",
              "RoleId": "AAABBBCCCDDDEEEFFFGGG",
              "Arn": "arn:aws:iam::111122223333:role/uploadLogsRole",
              "CreateDate": "2023-01-23T19:17:15+00:00",
              "AssumeRolePolicyDocument": {
                  "Version": "2012-10-17",		 	 	 
                  "Statement": [
                      {
                          "Sid": "Statement1",
                          "Effect": "Allow",
                          "Principal": {
                              "Service": "iot.amazonaws.com"
                          },
                          "Action": "sts:AssumeRole"
                      }
                  ]
              },
              "Description": "",
              "MaxSessionDuration": 3600,
              "RoleLastUsed": {}
          }
      }
      ```

1. Crie uma regra de AWS IoT tópico no AWS CLI.

   1. Para criar uma regra de AWS IoT tópico, execute o comando a seguir. Certifique-se de atualizar os valores da `sql` instrução`--rule-name`,`description`,`roleARN `, e `logGroupName` do parâmetro. Para obter mais informações, consulte [create-topic-rule](https://awscli.amazonaws.com/v2/documentation/api/2.0.34/reference/iot/create-topic-rule.html)na Referência de Comandos AWS CLI v2.

      ```
      aws iot create-topic-rule \
      --rule-name uploadLogsRule \
      --topic-rule-payload \
      	'{
      		"sql":"SELECT * FROM 'rules/things/thing_name/logs'",
      		"description":"Upload logs test rule",
      		"ruleDisabled":false,
      		"awsIotSqlVersion":"2016-03-23",
      		"actions":[
      			{"cloudwatchLogs":
      				{"roleArn":"arn:aws:iam::111122223333:role/uploadLogsRole",
      				"logGroupName":"uploadLogsGroup",
      				"batchMode":true}
      				}
      			]
      }'
      ```

   1. Para confirmar se a regra foi criada corretamente, execute o comando a seguir. Certifique-se de atualizar o valor do parâmetro `role-name`. Para obter mais informações, consulte [get-topic-rule](https://awscli.amazonaws.com/v2/documentation/api/2.0.34/reference/iot/get-topic-rule.html)na Referência de Comandos AWS CLI v2.

      ```
      aws iot get-topic-rule --rule-name uploadLogsRule
      ```

      Exemplo de saída:

      ```
      {
          "ruleArn": "arn:aws:iot:us-east-1:111122223333:rule/uploadLogsRule",
          "rule": {
              "ruleName": "uploadLogsRule",
              "sql": "SELECT * FROM rules/things/thing_name/logs",
              "description": "Upload logs test rule",
              "createdAt": "2023-01-24T16:28:15+00:00",
              "actions": [
                  {
                      "cloudwatchLogs": {
                          "roleArn": "arn:aws:iam::111122223333:role/uploadLogsRole",
                          "logGroupName": "uploadLogsGroup",
                          "batchMode": true
                      }
                  }
              ],
              "ruleDisabled": false,
              "awsIotSqlVersion": "2016-03-23"
          }
      }
      ```

------

## Enviando registros do lado do dispositivo para AWS IoT
<a name="uploading-logs-rules-start-messages"></a>

**Para enviar registros do lado do dispositivo para AWS IoT**

1. Para enviar registros históricos para AWS IoT, comunique-se com seus dispositivos para garantir o seguinte.
   + As informações do log são enviadas para o namespace de tópico correto, conforme especificado na seção *Pré-requisitos deste procedimento*.

     Por exemplo, `$aws/rules/things/thing_name/logs`. 
   + A carga útil da mensagem MQTT está formatada corretamente. Para obter mais informações sobre o tópico MQTT e a convenção de nomenclatura recomendada, consulte a [Tópicos do MQTT](upload-device-logs-to-cloudwatch.md#upload-mqtt-topics-overview) seção em. [Faça upload de registros do lado do dispositivo para a Amazon CloudWatch](upload-device-logs-to-cloudwatch.md)

1. Confirme se as mensagens MQTT foram recebidas no cliente AWS IoT MQTT.

   1. Abra o Console de gerenciamento da AWS e navegue até [AWS IoT](https://console.aws.amazon.com/iot/home). 

   1. Para visualizar o **cliente de teste MQTT**, na barra de navegação, escolha **Testar, cliente de teste** **MQTT**. 

   1. Em **Inscrever-se em um tópico****, Filtro** de tópicos, insira o *namespace do tópico*. 

   1. Escolha **Assinar**. 

      As mensagens do MQTT aparecem na tabela **Assinaturas** e **Tópicos**, conforme mostrado a seguir. Essas mensagens podem levar até cinco minutos para serem exibidas.   
![\[As mensagens do MQTT que aparecem na tabela Assinaturas e Tópicos.\]](http://docs.aws.amazon.com/pt_br/iot/latest/developerguide/images/uploading-logs-rules-start-messages-sample-mqtt.png)

## Visualizando os dados do log
<a name="uploading-logs-rules-review-cloudwatch"></a>

**Para revisar seus registros de registro em CloudWatch Registros**

1. Abra o Console de gerenciamento da AWS e navegue até [CloudWatch](https://console.aws.amazon.com/cloudwatch). 

1. Na barra de navegação, escolha **Logs, Logs** **Insights**. 

1. No menu **Selecionar grupo (s) de log**, escolha o grupo de log que você especificou na AWS IoT regra.

1. Na página **Insights de logs**, escolha **Executar consulta**. 

# Registrando chamadas de AWS IoT API usando AWS CloudTrail
<a name="iot-using-cloudtrail"></a>

AWS IoT é 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. CloudTrail captura todas as chamadas de API para eventos AWS IoT as, incluindo chamadas do AWS IoT console e de chamadas de código para o. AWS IoT APIs Se você criar uma trilha, poderá habilitar a entrega contínua de CloudTrail eventos para um bucket do Amazon S3, incluindo eventos para. AWS IoT 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, o endereço IP do qual a solicitação foi feita, quem fez a solicitação, quando ela foi feita e outros detalhes.

Para saber mais sobre isso CloudTrail, consulte o [Guia AWS CloudTrail do usuário](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/). 

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

CloudTrail é ativado no seu Conta da AWS quando você cria a conta. Quando a atividade ocorre em AWS IoT, essa atividade é registrada em um CloudTrail evento junto com outros eventos AWS de serviço no **histórico de eventos**. Você pode visualizar, pesquisar e baixar eventos recentes no seu 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 obter um registro contínuo de eventos na sua Conta da AWS, incluindo eventos para o AWS IoT, crie uma trilha. Uma trilha permite CloudTrail entregar arquivos de log para um bucket do Amazon 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 todos os Região da AWS s na AWS partição e entrega os arquivos de log ao bucket do Amazon S3 que você especificar. Você pode configurar outros AWS serviços para analisar e agir com base nos dados de eventos coletados nos CloudTrail registros. Para obter mais informações, 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 compatíveis](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations) 
+  [Configurando notificações do Amazon SNS para CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.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) 

**nota**  
AWS IoT as ações do plano de dados (lado do dispositivo) não são registradas por CloudTrail. Use CloudWatch para monitorar essas ações.

De um modo geral, as ações do plano de AWS IoT controle que fazem alterações são registradas por CloudTrail. Chamadas como **CreateThing**CreateKeysAndCertificate****, e **UpdateCertificate**deixam CloudTrail entradas, enquanto chamadas como **ListThings**e **ListTopicRules**não.

Cada entrada de log ou evento contém informações sobre quem gerou a solicitação. As informações de identidade ajudam a determinar: 
+ Se a solicitação foi feita com credenciais de usuário-raiz ou usuário do 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 as ações são documentadas na [Referência AWS IoT da API](https://docs.aws.amazon.com/iot/latest/apireference/). AWS IoT Wireless as ações são documentadas na [Referência AWS IoT Wireless da API](https://docs.aws.amazon.com/iot-wireless/latest/apireference/welcome.html). 

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

Uma trilha é uma configuração que permite a entrega de eventos como arquivos de log para um bucket do Amazon S3 que você especificar. CloudTrail os arquivos de log contêm uma ou mais entradas de log. Um evento representa uma única solicitação de qualquer fonte e 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 `AttachPolicy` ação.

```
{
    "timestamp":"1460159496",
    "AdditionalEventData":"",
    "Annotation":"",
    "ApiVersion":"",
    "ErrorCode":"",
    "ErrorMessage":"",
    "EventID":"8bff4fed-c229-4d2d-8264-4ab28a487505",
    "EventName":"AttachPolicy",
    "EventTime":"2016-04-08T23:51:36Z",
    "EventType":"AwsApiCall",
    "ReadOnly":"",
    "RecipientAccountList":"",
    "RequestID":"d4875df2-fde4-11e5-b829-23bf9b56cbcd",
    "RequestParamters":{
        "principal":"arn:aws:iot:us-east-1:123456789012:cert/528ce36e8047f6a75ee51ab7beddb4eb268ad41d2ea881a10b67e8e76924d894",
        "policyName":"ExamplePolicyForIoT"
    },
    "Resources":"",
    "ResponseElements":"",
    "SourceIpAddress":"52.90.213.26",
    "UserAgent":"aws-internal/3",
    "UserIdentity":{
        "type":"AssumedRole",
        "principalId":"AKIAI44QH8DHBEXAMPLE",
        "arn":"arn:aws:sts::12345678912:assumed-role/iotmonitor-us-east-1-beta-InstanceRole-1C5T1YCYMHPYT/i-35d0a4b6",
        "accountId":"222222222222",
        "accessKeyId":"access-key-id",
        "sessionContext":{
            "attributes":{
                "mfaAuthenticated":"false",
                "creationDate":"Fri Apr 08 23:51:10 UTC 2016"
            },
            "sessionIssuer":{
                "type":"Role",
                "principalId":"AKIAI44QH8DHBEXAMPLE",
                "arn":"arn:aws:iam::123456789012:role/executionServiceEC2Role/iotmonitor-us-east-1-beta-InstanceRole-1C5T1YCYMHPYT",
                "accountId":"222222222222",
                "userName":"iotmonitor-us-east-1-InstanceRole-1C5T1YCYMHPYT"
            }
        },
        "invokedBy":{
            "serviceAccountId":"111111111111"
        }
    },
    "VpcEndpointId":""
}
```