

# Visualizar entradas de log do AWS IoT Wireless no CloudWatch
<a name="cwl-format"></a>

Após configurar o registro em log do AWS IoT Wireless conforme descrito em [Criar um perfil e uma política de log para o AWS IoT Wireless](create-logging-role-policy.md) e escrever algumas entradas de log, você pode visualizar as entradas de log no console do CloudWatch executando as etapas a seguir.

## Visualização de logs do AWS IoT no console de grupos de logs do CloudWatch
<a name="viewing-logs"></a>

No [console do CloudWatch](https://console.aws.amazon.com/cloudwatch), os logs do CloudWatch aparecem em um grupo de logs chamado **/aws/iotwireless**. Para obter mais informações sobre o CloudWatch Logs, consulte [CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html).

**Visualize os logs AWS IoT no console do CloudWatch**

Navegue até o [console do CloudWatch](https://console.aws.amazon.com/cloudwatch) e selecione **Grupos de logs** no painel de navegação.

1. Na caixa de texto **Filtro**, insira **/aws/iotwireless** e selecione o grupo de logs `/aws/iotwireless`.

1. Para ver uma lista completa dos logs do AWS IoT Core for LoRaWAN gerados para sua conta, selecione **Pesquisar tudo**. Para visualizar um fluxo de logs individual, selecione o ícone de expansão.

1. Para filtrar os fluxos de logs, também é possível inserir uma consulta na caixa de texto **Filtrar eventos**. Estas são algumas consultas para experimentar:
   + `{ $.logLevel = "ERROR" }` 

      Use esse filtro para encontrar todos os logs que têm um nível de log de `ERROR`. É possível expandir os fluxos de erros individuais para ler as mensagens de erro, o que ajudará você a resolvê-las.
   + `{ $.resource = "WirelessGateway" }` 

      Encontre todos os logs do recurso `WirelessGateway`, independentemente do nível de log.
   + `{ $.event = "CUPS_Request" && $.logLevel = "ERROR" }`

      Encontre todos os logs que têm um tipo de evento `CUPS_Request` e um nível de log de `ERROR`.

## Tipos de eventos e recursos
<a name="cwl-format-events-resources"></a>

A tabela a seguir exibe os diferentes tipos de eventos para os quais você verá entradas de log. Os tipos de eventos também dependem do tipo de recurso ser um dispositivo sem fio ou um gateway sem fio. É possível usar o nível de log padrão para os tipos de recursos e eventos ou substituir o nível de log padrão especificando um nível de log para cada um deles.


**Tipos de eventos com base nos recursos utilizados**  

| Recurso | Tipo de recurso | Tipo de evento | 
| --- | --- | --- | 
| Gateway sem fio | LoRaWAN |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-wireless/latest/developerguide/cwl-format.html)  | 
| Dispositivo sem fio | LoRaWAN |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-wireless/latest/developerguide/cwl-format.html)  | 
| Dispositivo sem fio | Sidewalk |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/iot-wireless/latest/developerguide/cwl-format.html)  | 

O tópico a seguir contém mais informações sobre esses tipos de eventos e as entradas de log para gateways sem fio e dispositivos sem fio.

**Topics**
+ [Visualização de logs do AWS IoT no console de grupos de logs do CloudWatch](#viewing-logs)
+ [Tipos de eventos e recursos](#cwl-format-events-resources)
+ [Entradas de log para recursos de gateways sem fio e dispositivos sem fio](wireless-log-entries.md)

# Entradas de log para recursos de gateways sem fio e dispositivos sem fio
<a name="wireless-log-entries"></a>

Após habilitar o registro em log, é possível visualizar as entradas de log de gateways sem fio e dispositivos sem fio. A seção a seguir descreve os vários tipos de entradas de log com base em seus tipos de recursos e eventos.

## Entradas de log de gateway sem fio
<a name="gateway-log-entries"></a>

Esta seção mostra alguns exemplos de entradas de log para recursos de gateway sem fio que você encontrará no [console do CloudWatch](https://console.aws.amazon.com/cloudwatch). Essas mensagens de log podem ter o tipo de evento `CUPS_Request` ou `Certificate` e podem ser configuradas para exibir um nível de log de `INFO`, `ERROR` ou `DISABLED` no nível do recurso ou no nível do evento. Se quiser ver somente as informações de erro, defina o nível do log como `ERROR`. A mensagem na entrada de log `ERROR` conterá informações sobre o motivo da falha.

As entradas de log de um recurso de gateway sem fio podem ser classificadas com base nos seguintes tipos de eventos:
+ 

**CUPS\$1Request**  
A LoRa Basics Station em execução no seu gateway envia uma solicitação periódica ao Servidor de Configuração e Atualização (CUPS) para obter atualizações. Para esse tipo de evento, se você definir o nível de log como `INFO` quando configurar a CLI para seu recurso de gateway sem fio, então, nos logs:
  + Se o evento obtiver êxito, você verá mensagens de log com um `logLevel` de `INFO`. As mensagens incluirão detalhes da resposta do CUPS enviada ao seu gateway e os detalhes do gateway. O seguinte mostra um exemplo dessa entrada de log. Para acessar mais informações sobre o `logLevel` e outros campos da entrada de log, consulte [Recursos e níveis de log do AWS IoT Wireless](configure-resource-logging.md#log-levels-resources).

    ```
    {
        "timestamp": "2021-05-13T16:56:08.853Z",
        "resource": "WirelessGateway",
        "wirelessGatewayId": "5da85cc8-3361-4c79-8be3-3360fb87abda",
        "wirelessGatewayType": "LoRaWAN",
        "gatewayEui": "feffff00000000e2",
        "event": "CUPS_Request",
        "logLevel": "INFO",
        "message": "Sending CUPS response of total length 3213 to GatewayEui: feffff00000000e2 with  TC Credentials,"
    }
    ```
  + Caso haja um erro, você verá entradas de log com um `logLevel` de `ERROR` e as mensagens incluirão detalhes sobre o erro. Exemplos de quando um erro pode ocorrer no evento `CUPS_Request` incluem: falta de CRC do CUPS, incompatibilidade no Uri do TC do gateway com AWS IoT Core for LoRaWAN, ausência de `IoTWirelessGatewayCertManagerRole` ou impossibilidade de obter o registro do gateway sem fio. O exemplo a seguir mostra uma entrada de log CRC. Para solucionar o erro, cheque a configuração do gateway para verificar se você inseriu o CRC do CUPS correto.

    ```
    {
        "timestamp": "2021-05-13T16:56:08.853Z",
        "resource": "WirelessGateway",
        "wirelessGatewayId": "5da85cc8-3361-4c79-8be3-3360fb87abda",
        "wirelessGatewayType": "LoRaWAN",
        "gatewayEui": "feffff00000000e2",
        "event": "CUPS_Request",
        "logLevel": "ERROR",
        "message": "The CUPS CRC is missing from the request. Check your gateway setup and enter the CUPS CRC,"
    }
    ```
+ 

**Certificado**  
Essas entradas de log ajudarão você a verificar se o gateway sem fio apresentou o certificado correto para autenticar a conexão ao AWS IoT. Para esse tipo de evento, se você definir o nível de log como `INFO` quando configurar a CLI para seu recurso de gateway sem fio, então, nos logs:
  + Se o evento obtiver êxito, você verá mensagens de log com um `logLevel` de `INFO`. As mensagens incluirão detalhes do ID do certificado e do identificador do gateway sem fio. O seguinte mostra um exemplo dessa entrada de log. Para acessar mais informações sobre o `logLevel` e outros campos da entrada de log, consulte [Recursos e níveis de log do AWS IoT Wireless](configure-resource-logging.md#log-levels-resources).

    ```
    {
        "resource": "WirelessGateway",
        "wirelessGatewayId": "5da85cc8-3361-4c79-8be3-3360fb87abda",
        "wirelessGatewayType": "LoRaWAN",
        "event": "Certificate",
        "logLevel": "INFO",
        "message": "Gateway connection authenticated. 
        (CertificateId: b5942a7aee973eda24314e416889227a5e0aa5ed87e6eb89239a83f515dea17c, WirelessGatewayId: 5da85cc8-3361-4c79-8be3-3360fb87abda)"
    }
    ```
  + Caso haja um erro, você verá entradas de log com um `logLevel` de `ERROR` e as mensagens incluirão detalhes sobre o erro. Exemplos de quando um erro pode ocorrer no evento `Certificate` incluem um ID de certificado inválido, um identificador de gateway sem fio ou uma incompatibilidade entre o identificador de gateway sem fio e o ID do certificado. O exemplo a seguir exibe um `ERROR` devido a um identificador de gateway sem fio inválido. Para solucionar o erro, verifique os identificadores do gateway.

    ```
    {
        "resource": "WirelessGateway",
        "wirelessGatewayId": "5da85cc8-3361-4c79-8be3-3360fb87abda",
        "wirelessGatewayType": "LoRaWAN",
        "event": "Certificate",
        "logLevel": "INFO",
        "message": "The gateway connection couldn't be authenticated because a provisioned gateway associated with the certificate couldn't be found. 
        (CertificateId: 729828e264810f6fc7134daf68056e8fd848afc32bfe8082beeb44116d709d9e)"
    }
    ```

## Entradas de log de dispositivo sem fio
<a name="device-log-entries"></a>

Esta seção mostra alguns exemplos de entradas de log para recursos de dispositivo sem fio que você encontrará no [console do CloudWatch](https://console.aws.amazon.com/cloudwatch). O tipo de evento dessas mensagens de log depende se você está usando um dispositivo LoRaWAN ou Sidewalk. Cada recurso de dispositivo sem fio ou tipo de evento pode ser configurado para exibir um nível de log de `INFO`, `ERROR` ou `DISABLED`. 

**nota**  
Sua solicitação não pode possuir metadados sem fio de LoRaWAN e Sidewalk ao mesmo tempo. Para evitar uma entrada de log de `ERROR` para esse cenário, especifique os dados sem fio LoRaWAN ou Sidewalk.

### Entradas de log de dispositivo LoRaWAN
<a name="lorawan-log-entries"></a>

As entradas de log de um dispositivo sem fio LoRaWAN podem ser classificadas com base nos seguintes tipos de eventos:
+ 

**`Join` e `Rejoin`**  
Quando você adicionar um dispositivo LoRaWAN e conectá-lo ao AWS IoT Core for LoRaWAN, antes que seu dispositivo possa enviar dados de uplink, você deve concluir um processo chamado `activation` ou `join procedure`. Para ter mais informações, consulte [Adicione o dispositivo sem fio ao AWS IoT Core for LoRaWAN](lorawan-end-devices-add.md).

  Para esse tipo de evento, se você definir o nível de log como `INFO` quando configurar a CLI para seu recurso de gateway sem fio, então, nos logs:
  + Se o evento obtiver êxito, você verá mensagens de log com um `logLevel` de `INFO`. As mensagens incluirão detalhes do status de sua solicitação de adesão ou reingresso. O seguinte mostra um exemplo dessa entrada de log. Para acessar mais informações sobre o `logLevel` e outros campos da entrada de log, consulte [Recursos e níveis de log do AWS IoT Wireless](configure-resource-logging.md#log-levels-resources).

    ```
    {
        "timestamp": "2021-05-13T16:56:08.853Z",
        "resource": "WirelessDevice",
        "wirelessDeviceType": "LoRaWAN",
        "WirelessDeviceId": "5da85cc8-3361-4c79-8be3-3360fb87abda",    
        "devEui": "feffff00000000e2",
        "event": "Rejoin",
        "logLevel": "INFO",
        "message": "Rejoin succeeded"
    }
    ```
  + Caso haja um erro, você verá entradas de log com um `logLevel` de `ERROR` e as mensagens incluirão detalhes sobre o erro. Exemplos de quando um erro pode ocorrer nos eventos `Join` e `Rejoin` incluem a configuração inválida da região LoRaWAN ou verificação inválida do Código de Integridade da Mensagem (MIC). O exemplo a seguir exibe um erro de adesão devido à verificação do MIC. Para solucionar o erro, verifique se você inseriu as chaves raiz corretas.

    ```
    {
        "timestamp": "2020-11-24T01:46:50.883481989Z",
        "resource": "WirelessDevice",
        "wirelessDeviceType": "LoRaWAN",
        "WirelessDeviceId": "cb4c087c-1be5-4990-8654-ccf543ee9fff",
        "devEui": "58a0cb000020255c",
        "event": "Join",
        "logLevel": "ERROR",
        "message": "invalid MIC. It's most likely caused by wrong root keys."
    }
    ```
+ 

**Uplink\$1Data e Downlink\$1Data**  
O tipo de evento `Uplink_Data` é utilizado para mensagens geradas pelo AWS IoT Wireless quando a carga útil é enviada do dispositivo LoRaWAN ou Sidewalk ao AWS IoT. O tipo de evento `Downlink_Data` é usado para mensagens relacionadas a mensagens de downlink enviadas do AWS IoT para um dispositivo sem fio.

  Para esse tipo de evento, se você definir o nível de log como `INFO` quando configurar a CLI para seus dispositivos sem fio, então, nos logs, você verá: 
  + Se o evento obtiver êxito, você verá mensagens de log com um `logLevel` de `INFO`. As mensagens incluirão detalhes do status da mensagem de uplink ou downlink enviada e do identificador do dispositivo sem fio. O seguinte mostra um exemplo dessa entrada de log para um dispositivo Sidewalk. Para acessar mais informações sobre o `logLevel` e outros campos da entrada de log, consulte [Recursos e níveis de log do AWS IoT Wireless](configure-resource-logging.md#log-levels-resources).

    ```
    {
        "resource": "WirelessDevice",
        "wirelessDeviceId": "5371db88-d63d-481a-868a-e54b6431845d",
        "wirelessDeviceType": "Sidewalk",
        "event": "Downlink_Data",
        "logLevel": "INFO",
        "messageId": "8da04fa8-037d-4ae9-bf67-35c4bb33da71",
        "message": "Message delivery succeeded.  MessageId: 8da04fa8-037d-4ae9-bf67-35c4bb33da71. AWS IoT Core: {\"message\":\"OK\",\"traceId\":\"038b5b05-a340-d18a-150d-d5a578233b09\"}"
    }
    ```
  + Caso haja um erro, você verá entradas de log com um `logLevel` de `ERROR` e as mensagens incluirão detalhes sobre o erro, o que ajudará você a resolvê-lo. Exemplos de quando um erro pode ocorrer para o evento `Registration` incluem: problemas de autenticação, solicitações inválidas ou em número muito elevado, incapacidade de criptografar ou descriptografar a carga ou incapacidade de encontrar o dispositivo sem fio usando o ID especificado. O exemplo a seguir exibe um erro de permissão encontrado durante o processamento de uma mensagem.

    ```
    {
        "resource": "WirelessDevice",
        "wirelessDeviceId": "cb4c087c-1be5-4990-8654-ccf543ee9fff",
        "wirelessDeviceType": "LoRaWAN",
        "event": "Uplink_Data",
        "logLevel": "ERROR",
        "message": "Cannot assume role MessageId: ef38877f-3454-4c99-96ed-5088c1cd8dee. 
        Access denied: User: arn:aws:sts::005196538709:assumed-role/DataRoutingServiceRole/6368b35fd48c445c9a14781b5d5890ed is not authorized to perform: sts:AssumeRole on resource: arn:aws:iam::400232685877:role/ExecuteRules_Role\tstatus code: 403, request id: 471c3e35-f8f3-4e94-b734-c862f63f4edb"
    }
    ```

### Entradas de log de dispositivo Sidewalk
<a name="sidewalk-log-entries"></a>

As entradas de log de um dispositivo Sidewalk podem ser classificadas com base nos seguintes tipos de eventos:
+ 

**`Registration`**  
Essas entradas de log ajudarão você a monitorar o status de qualquer dispositivo Sidewalk que você esteja se registrando no AWS IoT Wireless. Para esse tipo de evento, se você definir o nível de log como `INFO` ao configurar a CLI para seu recurso de dispositivo sem fio, então, nos logs, você verá mensagens de log com um `logLevel` de `INFO` e `ERROR`. As mensagens incluirão detalhes do progresso de registro, do início até a conclusão. As mensagens de log `ERROR` conterão informações sobre como solucionar problemas com o registro do dispositivo.

  O seguinte mostra um exemplo de uma mensagem de log com nível de log de `INFO`. Para acessar mais informações sobre o `logLevel` e outros campos da entrada de log, consulte [Recursos e níveis de log do AWS IoT Wireless](configure-resource-logging.md#log-levels-resources).

  ```
  {
      "resource": "WirelessDevice",
      "wirelessDeviceId": "8d0b2775-e19b-4b2a-a351-cb8a2734a504",
      "wirelessDeviceType": "Sidewalk",
      "event": "Registration",
      "logLevel": "INFO",
      "message": "Successfully completed device registration. Amazon SidewalkId = 2000000002"
  }
  ```
+ 

**Uplink\$1Data e Downlink\$1Data**  
Os tipos de eventos `Uplink_Data` e `Downlink_Data` para dispositivos Sidewalk se assemelham aos tipos de eventos correspondentes para dispositivos LoRaWAN. Para obter mais informações, consulte a seção **Uplink\$1Data e Downlink\$1Data** descrita anteriormente para entradas de log de dispositivos LoRaWAN.

### Próximas etapas
<a name="cwl-format-next-steps"></a>

Você aprendeu a visualizar as entradas de log de recursos e as diferentes entradas de log que podem ser visualizadas no console do CloudWatch depois de ativar o registro em log do AWS IoT Wireless. Embora possa criar fluxos de filtros usando **grupos de logs**, recomendamos que você use o CloudWatch Insights para criar e usar fluxos de filtro. Para ter mais informações, consulte [Use o CloudWatch Insights para filtrar logs do AWS IoT Wireless](cwl-insights.md).