

# Usa CloudWatch Insights per filtrare i log per Wireless AWS IoT
<a name="cwl-insights"></a>

Sebbene sia possibile utilizzare CloudWatch Logs per creare espressioni di filtro, si consiglia di utilizzare CloudWatch Insights per creare e utilizzare in modo più efficace le espressioni di filtro a seconda dell'applicazione.

Ti consigliamo di utilizzare prima CloudWatch **Gruppi di log** per informazioni sui diversi tipi di risorse, sui relativi tipi di eventi e sui livelli di log che è possibile utilizzare per visualizzare le voci di log nella console. Poi puoi utilizzare gli esempi di espressioni filtro in questa pagina come riferimento per creare filtri personalizzati per le risorse Wireless AWS IoT.

## Visualizzazione di log AWS IoT nella console CloudWatch Logs insights
<a name="viewing-logs"></a>

Nella [Console CloudWatch](https://console.aws.amazon.com/cloudwatch), i log CloudWatch vengono visualizzati in un gruppo di log chiamato **/aws/iotwireless**. Per ulteriori informazioni su CloudWatch Logs, consulta la [CloudWatch Log](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html).

**Per visualizzare i log AWS IoT nella console CloudWatch**

Passa alla [Console CloudWatch](https://console.aws.amazon.com/cloudwatch) e scegli **Logs Insights (Informazioni dettagliate sui log)** nel pannello di navigazione.

1. Nella casella di testo **Filter (Filtra)**, immetti **/aws/iotwireless** e seleziona `/aws/iotwireless` Logs Insights.

1. Per visualizzare un elenco completo dei gruppi di log, scegli **Select log group(s) (Seleziona gruppo/i di log)**. Per esaminare i gruppi di registro per Wireless AWS IoT, scegli `/aws/iotwireless`.

Ora è possibile iniziare a inserire query per filtrare i gruppi di registro. Le sezioni seguenti contengono alcune utili query che ti aiuteranno a ottenere informazioni dettagliate sui parametri delle risorse.

## Creare query utili per filtrare e ottenere informazioni dettagliate per Wireless AWS IoT
<a name="insights-resource-filter"></a>

È possibile utilizzare le espressioni di filtro per mostrare ulteriori utili informazioni di registro con CloudWatch Insights. Di seguito vengono illustrate alcune query di esempio:

### Mostra solo i log per tipi di risorse specifici
<a name="insights-gateway-filter"></a>

È possibile creare una query che consente di visualizzare i log solo per tipi di risorse specifici, ad esempio un gateway LoRaWAN o un dispositivo Sidewalk. Ad esempio, per filtrare i log in modo da visualizzare solo i messaggi per i dispositivi Sidewalk, puoi immettere la seguente query e scegliere **Run query (Esecuzione di query)**. Per salvare questa query, scegli **Save (Salva)**.

```
fields @message
| filter @message like /Sidewalk/
```

Dopo l'esecuzione della query, i risultati verranno visualizzati nella scheda **Log**, che mostra i timestamp per i log relativi ai dispositivi Sidewalk nel tuo account. Verrà inoltre visualizzato un grafico a barre, che mostrerà l'ora in cui si sono verificati gli eventi, se si sono verificati in precedenza, correlati al dispositivo Sidewalk. Di seguito viene illustrato un esempio di cosa accade se si espande uno dei risultati nella scheda **Log**. In alternativa, se desideri risolvere gli errori relativi ai dispositivi Sidewalk, puoi aggiungere un altro filtro che imposta il livello di log su `ERROR` e mostra solo le informazioni di errore. 

```
Field	          Value
@ingestionTime      1623894967640
@log	             954314929104:/aws/iotwireless
@logStream	   WirelessDevice-Downlink_Data-715adccfb34170214ec2f6667ddfa13cb5af2c3ddfc52fbeee0e554a2e780bed
@message	     {                    
                    "resource": "WirelessDevice",
                    "wirelessDeviceId": "3b058d05-4e84-4e1a-b026-4932bddf978d",
                    "wirelessDeviceType": "Sidewalk",
                    "devEui": "feffff000000011a",
                    "event": "Downlink_Data",
                    "logLevel": "INFO",
                    "messageId": "7e752a10-28f5-45a5-923f-6fa7133fedda",
                    "message": "Successfully sent downlink message. Amazon SidewalkId = 2000000006, Sequence number = 0"
                    }
@timestamp          1623894967640
devEui	           feffff000000011a
event	        Downlink_Data
logLevel            INFO
message	          Successfully sent downlink message. Amazon SidewalkId = 2000000006, Sequence number = 0
messageId	    7e752a10-28f5-45a5-923f-6fa7133fedda
resource	     WirelessDevice
wirelessDeviceId    3b058d05-4e84-4e1a-b026-4932bddf978d
wirelessDeviceType  Sidewalk
```

### Mostra messaggi o eventi specifici
<a name="insights-gateway-filter"></a>

È possibile creare una query che ti aiuterà a mostrare messaggi specifici e ad osservare quando si sono verificati gli eventi. Ad esempio, se vuoi vedere quando il tuo messaggio downlink è stato inviato dal tuo dispositivo wireless LoRaWAN, puoi inserire la seguente query e scegliere **Run query (Esecuzione di query)**. Per salvare questa query, scegli **Save (Salva)**.

```
filter @message like /Downlink message sent/
```

Dopo l'esecuzione della query, i risultati verranno visualizzati nella scheda **Log**, che mostra i timestamp quando il messaggio downlink è stato inviato correttamente al dispositivo wireless. Verrà inoltre visualizzato un grafico a barre, che mostrerà l'ora in cui è stato inviato un messaggio downlink, se sono stati precedentemente inviati messaggi downlink al dispositivo wireless. Di seguito viene illustrato un esempio di cosa accade se si espande uno dei risultati nella scheda **Log**. In alternativa, se non è stato inviato un messaggio downlink, è possibile modificare la query per visualizzare solo i risultati per quando il messaggio non è stato inviato in modo da poter eseguire il debug del problema.

```
Field	          Value
@ingestionTime      1623884043676
@log	             954314929104:/aws/iotwireless
@logStream	   WirelessDevice-Downlink_Data-42d0e6d09ba4d7015f4e9756fcdc616d401cd85fe3ac19854d9fbd866153c872
@message	     {
                    "timestamp": "2021-06-16T22:54:00.770493863Z",
                    "resource": "WirelessDevice",
                    "wirelessDeviceId": "3b058d05-4e84-4e1a-b026-4932bddf978d",
                    "wirelessDeviceType": "LoRaWAN",
                    "devEui": "feffff000000011a",
                    "event": "Downlink_Data",
                    "logLevel": "INFO",
                    "messageId": "7e752a10-28f5-45a5-923f-6fa7133fedda",
                    "message": "Downlink message sent. MessageId: 7e752a10-28f5-45a5-923f-6fa7133fedda"
                    }
@timestamp          1623884040858
devEui	           feffff000000011a
event	        Downlink_Data
logLevel            INFO
message	          Downlink message sent. MessageId: 7e752a10-28f5-45a5-923f-6fa7133fedda
messageId	    7e752a10-28f5-45a5-923f-6fa7133fedda
resource	     WirelessDevice
timestamp	    2021-06-16T22:54:00.770493863Z
wirelessDeviceId    3b058d05-4e84-4e1a-b026-4932bddf978d
wirelessDeviceType  LoRaWAN
```

## Passaggi successivi
<a name="insights-next-steps"></a>

Hai appreso come utilizzare CloudWatch Insights per ottenere informazioni più utili creando query per filtrare i messaggi di log. È possibile combinare alcuni filtri descritti in precedenza e progettare i filtri personalizzati in base alla risorsa che stai monitorando. Per ulteriori informazioni su CloudWatch Insights, consulta [Analisi dei dati di log con CloudWatch Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AnalyzingLogData).

Dopo aver creato le query con CloudWatch Insights, se sono state salvate, è possibile caricare ed eseguire le query salvate in base alle esigenze. In alternativa, se fai clic sul pulsante **History (Cronologia)** nella console CloudWatch **Logs Insights (Informazioni dettagliate sui log)**, puoi visualizzare le query eseguite in precedenza e rieseguirle in base alle esigenze oppure modificarle ulteriormente creando query aggiuntive.