

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

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

Il monitoraggio è un elemento importante per mantenere l'affidabilità, la disponibilità e le prestazioni delle AWS IoT vostre AWS soluzioni.

Consigliamo vivamente di raccogliere dati di monitoraggio da tutte le parti della AWS soluzione per semplificare il debug di un errore multipunto, se si verifica. Iniziare creando un piano di monitoraggio che risponda alle seguenti domande. Se non si è sicuri di come rispondere, è comunque possibile continuare ad [abilitare la registrazione](configure-logging.md) e stabilire le baseline delle prestazioni.
+ Quali sono gli obiettivi del monitoraggio?
+ Quali risorse verranno monitorate?
+ Con quale frequenza eseguirai il monitoraggio di queste risorse?
+ Quali strumenti di monitoraggio verranno usati?
+ Chi eseguirà i processi di monitoraggio?
+ Chi deve ricevere una notifica quando si verifica un problema?

Il passaggio successivo consiste nell'[abilitare la registrazione](configure-logging.md) e stabilire una linea di base delle AWS IoT prestazioni normali nel proprio ambiente misurando le prestazioni in diversi momenti e in diverse condizioni di carico. Durante il monitoraggio AWS IoT, conservate i dati di monitoraggio storici in modo da poterli confrontare con i dati sulle prestazioni correnti. Questo permette di identificare i normali modelli di prestazioni e le anomalie di prestazioni e definire metodi per risolvere i problemi.

Per stabilire le prestazioni di base per cui AWS IoT, dovresti monitorare queste metriche prima di tutto. È sempre possibile monitorare più parametri in un secondo momento.
+  [`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) 

Gli argomenti di questa sezione consentono di avviare la registrazione e il monitoraggio di AWS IoT.

**Topics**
+ [Configurare la registrazione AWS IoT](configure-logging.md)
+ [Monitora AWS IoT allarmi e metriche con Amazon CloudWatch](monitoring-cloudwatch.md)
+ [Monitora AWS IoT utilizzando i log CloudWatch](cloud-watch-logs.md)
+ [Carica i log lato dispositivo su Amazon CloudWatch](upload-device-logs-to-cloudwatch.md)
+ [Registrazione delle chiamate AWS IoT API utilizzando AWS CloudTrail](iot-using-cloudtrail.md)

# Configurare la registrazione AWS IoT
<a name="configure-logging"></a>

È necessario abilitare la registrazione utilizzando la AWS IoT console, la CLI o l'API prima di poter monitorare e AWS IoT registrare l'attività. È possibile configurare la registrazione AWS IoT a tre livelli: a livello di account, a livello di evento o a livello di risorsa specifica. La registrazione a livello di evento e specifica della risorsa è disponibile esclusivamente con la registrazione V2. I clienti che utilizzano la registrazione V1 devono eseguire una migrazione alla V2 per accedere a queste funzionalità. [Vedi i dettagli.](https://docs.aws.amazon.com/iot/latest/developerguide/configure-logging.html#migration-v1-v2) 

Quando si valuta come configurare la AWS IoT registrazione, la configurazione di registrazione a livello di account determina come verranno registrate le AWS IoT attività, salvo diversa indicazione. All'inizio, potresti voler ottenere log dettagliati con un livello di [registro](https://docs.aws.amazon.com/iot/latest/developerguide/configure-logging.html#log-level) predefinito di INFO o DEBUG. Dopo aver esaminato i log iniziali, è possibile modificare il livello di registro predefinito impostandolo su un livello meno dettagliato, ad esempio WARN o ERROR a livello di account o di evento, e impostare un livello di registro più dettagliato e specifico per le risorse che potrebbero richiedere maggiore attenzione. I livelli di log possono essere modificati ogni volta che vuoi. 

Questo argomento riguarda l'accesso dal lato cloud. AWS IoT[Per informazioni sulla registrazione e il monitoraggio lato dispositivo, consulta Caricare i log lato dispositivo su. CloudWatch](https://docs.aws.amazon.com/iot/latest/developerguide/upload-device-logs-to-cloudwatch.html)

[Per informazioni sulla registrazione e il monitoraggio, consulta Registrazione e monitoraggio. AWS IoT GreengrassAWS IoT Greengrass](https://docs.aws.amazon.com/greengrass/v2/developerguide/logging-and-monitoring.html) 

## Configurazione dell'accesso V2 AWS IoT
<a name="configuring-v2-logging"></a>

### Determinazione della versione di registrazione
<a name="determing-your-logging-version"></a>

L'[LoggingOptions API GetV2](https://docs.aws.amazon.com/iot/latest/apireference/API_GetV2LoggingOptions.html) restituisce un messaggio NotConfiguredException se la registrazione V2 non è abilitata. Questo errore si verifica quando la registrazione V1 è in uso o non è stata configurata alcuna registrazione. 

### Comprensione delle funzionalità di registrazione V2
<a name="understanding-v2-logging-features"></a>

La registrazione V2 offre due funzionalità chiave: registrazione a livello di evento e registrazione specifica delle risorse. La registrazione a livello di evento consente una configurazione di registrazione mirata con livelli di registro e destinazioni di gruppi di log personalizzabili. CloudWatch La registrazione specifica delle risorse consente di filtrare i log per gruppo di oggetti, IP di origine, ID client o ID principale. Insieme, queste funzionalità forniscono un controllo granulare e una visibilità completa sulle operazioni IoT, migliorando la ricercabilità dei log e riducendo i costi eliminando le attività di registrazione non necessarie. 

### Migrazione da V1 a V2
<a name="migration-v1-v2"></a>

[È possibile migrare alla registrazione V2 utilizzando l'API SetV2 LoggingOptions tramite la CLI o l'SDK. AWS](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/set-v2-logging-options.html) Dopo la migrazione, indirizza AWS IoT automaticamente tutti i log al gruppo di log «LogSv2". CloudWatch AWSIot Importante: se le applicazioni o le risorse downstream consumano informazioni dai «AWSIotLog», aggiornale per utilizzare il percorso del gruppo di log corrispondente. 

## Configurare il ruolo e il criterio di registrazione
<a name="configure-logging-role-and-policy"></a>

 Prima di poter abilitare l'accesso AWS IoT, devi creare un ruolo IAM e una policy che AWS IoT autorizzi a scrivere le attività di AWS IoT registro nei gruppi di CloudWatch log per tuo conto. Puoi anche generare un ruolo IAM con le politiche necessarie nella [sezione Logs della AWS IoT console](https://console.aws.amazon.com/iot/home#/settings/logging). 

**Nota**  
Prima di abilitare AWS IoT la registrazione, assicurati di aver compreso le autorizzazioni di CloudWatch accesso ai log. Gli utenti con accesso ai CloudWatch registri possono visualizzare le informazioni di debug dai tuoi dispositivi. Per ulteriori informazioni, consulta [Authentication and Access Control for Amazon CloudWatch Logs.](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/auth-and-access-control-cw.html)  
Se ti aspetti un traffico elevato a AWS IoT Core causa dei test di carico, prendi in considerazione la possibilità di disabilitare la registrazione IoT per evitare il throttling. Se viene rilevato un traffico elevato, il nostro servizio potrebbe disabilitare l'accesso al tuo account.

Di seguito viene illustrato come creare un ruolo e una politica di registrazione per le risorse. AWS IoT Core 

### Creazione di un ruolo di logging
<a name="create-logging-role"></a>

Per creare un ruolo di registrazione, apri la finestra di dialogo [Roles hub of the IAM console (Hub ruoli della console IAM)](https://console.aws.amazon.com/iam/home#/roles) e scegli **Create role (Crea ruolo)**. 

1. In **Select trusted entity** (Seleziona un'entità attendibile), scegli **AWS Service**. Quindi scegli **IoT** in **Use case** (Caso d'uso). Se **IoT** non viene visualizzata, entra e cerca **IoT** dal menu a discesa **Casi d'uso per altri servizi AWS :**. Seleziona **Avanti**. 

1. Nella pagina **Add permissions** (Aggiungi autorizzazioni), vengono visualizzate le policy che sono automaticamente collegate al ruolo di servizio. Scegli **Next (Successivo)**. 

1. Nella pagina **Name, review, and create** (Nomina, verifica e crea), immetti **Role name** (Nome ruolo) e **Role description** (Descrizione ruolo) per il ruolo, quindi scegli **Create role** (Crea ruolo). 

### Policy del ruolo di logging
<a name="logging-role-policy"></a>

I seguenti documenti politici forniscono la politica relativa al ruolo e la politica di fiducia AWS IoT a cui è possibile inviare voci di registro per CloudWatch conto dell'utente. Se si configura la registrazione a livello di evento con un gruppo di CloudWatch log personalizzato, è necessario aggiornare la politica del ruolo per includere l'ARN della risorsa personalizzata. 

Se hai anche autorizzato l'invio AWS IoT Core per LoRaWAN di voci di registro, vedrai un documento di policy creato appositamente per te che registra entrambe le attività. 

**Nota**  
Questi documenti sono stati creati al momento della creazione del ruolo di logging. I documenti contengono variabili, e * `${partition}`, * * `${region}` ** `${accountId}` *, che devi sostituire con i tuoi valori.  
Sostituisci la partizione con la partizione della regione.
Sostituisci la regione con la AWS regione che usi. Assicurati di utilizzare la stessa AWS regione che hai usato per configurare la AWS CLI sul tuo dispositivo.
Sostituisci account-id con l'ID del tuo AWS account.

Policy del ruolo:

****  

```
{
    "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:*"
            ]
        }
    ]
}
```

Politica di fiducia per registrare solo AWS IoT Core le attività:

****  

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

AWS IoT La registrazione potrebbe non riuscire a pubblicare la registrazione su CloudWatch Logs a causa delle autorizzazioni dei ruoli IAM insufficienti. In questo caso, controlla le [metriche di CloudWatch registrazione per esaminare e risolvere](https://docs.aws.amazon.com/iot/latest/developerguide/metrics_dimensions.html#logging-metrics) gli errori.

## Configura la registrazione nella (console) AWS IoT
<a name="configure-logging-console"></a>

Questa sezione descrive come configurare la AWS IoT registrazione utilizzando la AWS IoT console. È possibile configurare la registrazione a livello di account, a livello di evento e specifica della risorsa.

**Per AWS IoT configurare la registrazione:**

1. Accedi alla AWS IoT console. Per ulteriori informazioni, consulta [Apri la console AWS IoT](setting-up.md#iot-console-signin).

1. Nel riquadro di navigazione a sinistra, scegli **Registri** (in precedenza una sezione in Impostazioni). 

1. Configura la registrazione a livello di account: la registrazione a livello di account si applica a tutto il tuo AWS IoT parco dispositivi (dispositivi o endpoint), a meno che non venga sostituita da impostazioni a livello di evento o di risorsa.

   1. In Registrazione a **livello di account, seleziona Gestisci la registrazione** a livello di account per effettuare gli aggiornamenti. 

   1. Seleziona la casella di controllo «Abilita registrazione» a cui iniziare a inviare i log. CloudWatch Quando «Abilita registrazione» è deselezionata, non AWS IoT invierà alcun registro ai gruppi di CloudWatch log, indipendentemente dalle configurazioni di registrazione a livello di evento o di risorsa. 

   1. In **IAM log** role, seleziona un ruolo esistente dall'elenco a discesa. Puoi **visualizzare i dettagli del ruolo** per controllare le autorizzazioni del ruolo. In alternativa, seleziona **Crea nuovo ruolo** per configurare un nuovo ruolo IAM. Il ruolo di registrazione fornisce politiche che consentono di AWS IoT inviare voci di registro per tuo CloudWatch conto. Se si configura la registrazione a livello di evento con un gruppo di CloudWatch log personalizzato, è necessario aggiornare la politica del ruolo per includere l'ARN per questo gruppo di log. 

   1. Scegliete il **livello di registro predefinito** che corrisponde al [livello di dettaglio](https://docs.aws.amazon.com/iot/latest/developerguide/configure-logging.html#log-level) delle voci di registro che desiderate visualizzare nei registri. CloudWatch Nota: il livello di registro «DEBUG» fornisce il maggior numero di dettagli ma aumenta CloudWatch i costi. CloudWatch le destinazioni dei gruppi di log non possono essere configurate a livello di account. Tuttavia, è possibile specificare gruppi di log personalizzati per singoli tipi di eventi come descritto nella sezione seguente. 

   1. Scegliete **Aggiorna registrazione** per salvare le modifiche. 

1. La registrazione a livello di evento consente di acquisire in modo selettivo i registri degli eventi pertinenti e di indirizzarli a gruppi di log dedicati. CloudWatch Ciò offre la flessibilità necessaria per organizzare i log in base ai casi d'uso per una migliore individuabilità, condividerli con diversi destinatari e ridurre i CloudWatch costi abilitando i log e impostando i livelli di registro in base alla criticità degli eventi. 

   Configura la registrazione a **livello di evento: la registrazione a livello di evento acquisisce** eventi specifici, come i tentativi di autenticazione del client. AWS IoT Queste impostazioni hanno la precedenza sulla registrazione a livello di account.

   1. **Nella sezione Registrazione a **livello di evento, seleziona Gestisci registrazione a** livello di evento per effettuare gli aggiornamenti.** 

   1. Per impostazione predefinita, i tipi di eventi ereditano la configurazione di registrazione a livello di account. Nota: quando è configurata la registrazione specifica per una risorsa, ha la precedenza sulle impostazioni a livello di account ed evento. 

   1. Per modificare le impostazioni per i singoli eventi, fate clic sul valore nella riga dell'evento corrispondente. È possibile regolare sia il livello di registro che la destinazione del gruppo di CloudWatch log. Quando si specifica una destinazione personalizzata per un gruppo di CloudWatch log, è necessario verificare che la policy del ruolo IAM includa le autorizzazioni per il nuovo gruppo di log. Il mancato aggiornamento della politica del ruolo AWS IoT impedirà la scrittura di log nel gruppo di log personalizzato. Dopo aver effettuato la selezione, fai clic sul segno di spunta per confermare la scelta. La colonna **«È modificato» mostrerà «Sì»** per indicare le modifiche in sospeso. 

   1. **Fai clic su **Update Logging** per applicare le modifiche o scegli Annulla per eliminarle.** 

1. Configura le sostituzioni specifiche della risorsa: le sostituzioni specifiche della risorsa applicano un'impostazione di registrazione alle risorse selezionate. Una risorsa può essere un gruppo di oggetti, un IP di origine, un ID client o un ID principale. La configurazione di registrazione specifica della risorsa ha la precedenza sulle impostazioni a livello di account e a livello di evento. Se abilitata, genera registri per tutti i tipi di eventi al livello di registrazione configurato per le risorse specificate. Ad esempio, è possibile impostare la registrazione a livello di debug per un oggetto specifico mantenendo la registrazione a livello di informazioni per tutti gli altri oggetti. 

   1. Seleziona **Aggiungi sostituzioni specifiche della risorsa nella sezione Sostituzioni specifiche della risorsa**. 

   1. Scegliete una destinazione del log: Thing group, Source IP, Client ID o Principal ID. 

   1. Immettete il valore di destinazione del log corrispondente per il tipo di destinazione selezionato. 

   1. Seleziona il livello di registro desiderato dal menu a discesa nella sezione Livello di registro specifico della risorsa. 

   1. **Fai clic su **Invia** per aggiungere l'override o su Annulla per annullare le modifiche.** 

   1. Per modificare una modifica esistente specifica della risorsa, seleziona la casella di controllo accanto alla risorsa e fai clic su «Rimuovi» per eliminare l'override o su «Modifica» per modificare. 

Dopo aver abilitato la registrazione, visita [Visualizzazione dei AWS IoT log nella console CloudWatch](cloud-watch-logs.md#viewing-logs) per ulteriori informazioni sulla visualizzazione delle voci di registro.

## Configurazione dell'accesso a livello di account ed evento ( AWS IoT CLI)
<a name="global-logging-cli"></a>

Questa sezione descrive come configurare la registrazione globale per AWS IoT utilizzando la CLI.

È possibile configurare facoltativamente la registrazione a livello di evento. La registrazione a livello di evento consente di acquisire informazioni di registrazione a livello di evento, ad esempio eventi di autenticazione e autorizzazione o di creazione di certificati. È possibile personalizzare sia il livello di registro che le destinazioni dei gruppi di CloudWatch log a livello di evento. La registrazione a livello di evento opera a un livello più mirato rispetto alla registrazione a livello di account e pertanto ha la precedenza sulle impostazioni di registrazione a livello di account. Questo approccio gerarchico consente di mantenere diverse strategie di registrazione per diversi tipi di eventi in base alla loro importanza operativa e alle considerazioni relative ai costi. 

**Nota**  
Hai bisogno dell'ARN (Amazon Resource Name) del ruolo che desideri utilizzare. Se è necessario creare un ruolo da utilizzare per la registrazione, consulta [Creazione di un ruolo di logging](#create-logging-role) prima di continuare. Quando specificate un gruppo di CloudWatch log personalizzato per qualsiasi tipo di evento, assicuratevi che il vostro ruolo di registrazione disponga delle autorizzazioni necessarie per il gruppo di log di destinazione.   
 L'entità principale utilizzata per effettuare la chiamata API deve avere [Passaggio delle autorizzazioni ai ruoli](pass-role.md) per il ruolo di logging. 

È inoltre possibile eseguire questa procedura con l'API utilizzando i metodi nell' AWS API che corrispondono ai comandi CLI mostrati qui. 

**Per utilizzare la CLI per configurare la registrazione predefinita per AWS IoT**

1. Usa il 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) per impostare le opzioni di logging per l'account.

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

   dove:  
**--role-arn**  
Il ruolo ARN che concede AWS IoT il permesso di scrivere nei log in Logs. CloudWatch La configurazione Role-ARN è richiesta per la configurazione iniziale.   
**--default-log-level**  
Il [livello di log](#log-level) da usare. I valori validi sono:`ERROR`,, `WARN``INFO`, `DEBUG` o. `DISABLED` Default-log-levella configurazione è richiesta per la configurazione iniziale.   
**--no-disable-all-logs**  
Un parametro opzionale che abilita tutte le AWS IoT registrazioni. Utilizzare questo parametro per abilitare la registrazione quando è attualmente disattivata.  
 **--disable-all-logs**   
Un parametro opzionale che disabilita tutte le AWS IoT registrazioni. Utilizzare questo parametro per disabilitare la registrazione quando è attualmente abilitata.  
**--event-configurations**  
Questo parametro è facoltativo e consente di personalizzare le impostazioni di registrazione per singoli tipi di eventi:  
   + eventType: il tipo di evento che sostituisce l'impostazione a livello di account
   + LogLevel: sovrascrive l'impostazione a livello di account con DEBUG, INFO, ERROR, WARN o DISABLED
   + LogDestination: specifica un gruppo di log personalizzato per la consegna dei log CloudWatch 

   È possibile configurare il livello di registrazione e la destinazione del registro in modo indipendente per ogni tipo di evento. Se non specificato, gli eventi erediteranno le impostazioni a livello di account

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

1. Utilizzare il 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) per ottenere le opzioni di registrazione correnti.

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

   dove:  
**--verbose**  
Un parametro opzionale che consente di recuperare tutti gli EventTypes e le relative configurazioni. 

Dopo aver abilitato la registrazione, visita [Visualizzazione dei AWS IoT log nella console CloudWatch](cloud-watch-logs.md#viewing-logs) per ulteriori informazioni sulla visualizzazione delle voci di registro.

**Nota**  
AWS IoT continua a supportare i comandi precedenti (**set-logging-options**e**get-logging-options**) a impostare e ottenere la registrazione globale sul tuo account. Va tenuto presente che, utilizzando questi comandi, i log risultanti contengono testo normale anziché payload JSON e la latenza di logging è generalmente più elevata. Non verranno apportati ulteriori miglioramenti all'implementazione dei comandi precedenti. Ti consigliamo di utilizzare le [versioni «v2"](https://docs.aws.amazon.com/iot/latest/developerguide/configure-logging.html#migration-v1-v2) per configurare le opzioni di registrazione e, quando possibile, modificare le applicazioni precedenti che utilizzano le versioni precedenti.

## Configura le sostituzioni specifiche per le risorse in (CLI) AWS IoT
<a name="fine-logging-cli"></a>

Questa sezione descrive come configurare le sostituzioni specifiche della risorsa utilizzando la CLI. AWS IoT Le sostituzioni specifiche della risorsa consentono di specificare un livello di registrazione per una risorsa specifica identificata da Thing Group, Client ID, Source IP o Principal ID. Quando la registrazione specifica della risorsa è abilitata, sostituisce sia le impostazioni a livello di account che a livello di evento. Tutti i tipi di eventi genereranno registri per la risorsa specificata al livello di registrazione configurato, anche se tali eventi sono disabilitati nelle configurazioni a livello di evento. 

I gruppi di oggetti possono contenere altri gruppi di oggetti per creare una relazione gerarchica. In questa procedura viene descritto come configurare la registrazione di un singolo gruppo di oggetti. È possibile applicare questa procedura al gruppo di elementi padre in una gerarchia per configurare la registrazione per tutti i gruppi di elementi nella gerarchia. È inoltre possibile applicare questa procedura a un gruppo di elementi figlio per ignorare la configurazione di registrazione del relativo elemento padre.

Un oggetto può essere membro di un gruppo di oggetti. Questa appartenenza consente all'oggetto di ereditare configurazioni, politiche e impostazioni applicate al gruppo di oggetti. I gruppi di oggetti vengono utilizzati per gestire e applicare le impostazioni a più elementi collettivamente, anziché gestire ogni elemento singolarmente. Quando l'ID client corrisponde al nome dell'oggetto, AWS IoT Core assocerà automaticamente la sessione client alla risorsa oggetto corrispondente. Ciò consente alla sessione client di ereditare le configurazioni e le impostazioni applicate ai gruppi di oggetti a cui appartiene l'oggetto, inclusi i livelli di registrazione. Se l'ID cliente non corrisponde al nome dell'oggetto, è possibile abilitare l'allegato esclusivo dell'oggetto per stabilire l'associazione. Per ulteriori informazioni, consulta [Associazione di qualsiasi AWS IoT cosa a una connessione client MQTT](exclusive-thing.md).

Oltre ai gruppi di oggetti, puoi anche registrare destinazioni come l'ID client di un dispositivo, l'IP di origine e l'ID principale.

**Nota**  
Hai bisogno dell'Amazon Resource Name (ARN) del ruolo che desideri utilizzare. Se è necessario creare un ruolo da utilizzare per la registrazione, consulta [Creazione di un ruolo di logging](#create-logging-role) prima di continuare.  
L'entità principale utilizzata per effettuare la chiamata API deve avere [Passaggio delle autorizzazioni ai ruoli](pass-role.md) per il ruolo di logging. 

È inoltre possibile eseguire questa procedura con l'API utilizzando i metodi nell' AWS API che corrispondono ai comandi CLI mostrati qui. 

**Per utilizzare la CLI per configurare le sostituzioni specifiche della risorsa per AWS IoT**

1. Abilita la registrazione a livello di account prima di configurare la registrazione specifica della risorsa utilizzando il seguente comando: comando aws iot set-v2-logging-options

1. Usa [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)il comando per configurare le sostituzioni specifiche della risorsa. Vedi il seguente esempio per la configurazione del gruppo di oggetti:

   ```
   aws iot set-v2-logging-level \
                 --log-target targetType=THING_GROUP,targetName=thing_group_name \
                 --log-level log_level
   ```  
**--log-target**  
Il tipo e il nome della risorsa per cui stai configurando il logging. Il valore `targetType` deve essere uno dei seguenti: `THING_GROUP` \$1 `CLIENT_ID` \$1 `SOURCE_IP` \$1 `PRINCIPAL_ID`. Il valore del parametro log-target può essere testo, come illustrato nell'esempio di comando precedente, o una stringa JSON, ad esempio nell'esempio seguente.  

   ```
   aws iot set-v2-logging-level \
                 --log-target '{"targetType": "THING_GROUP","targetName": "thing_group_name"}' \
                 --log-level log_level
   ```  
**--log-level**  
Livello di logging usato durante la generazione di log per la risorsa specificata. I valori validi sono: **DEBUG**, **INFO**, **ERROR**, **WARN** e **DISABLED**.

1. Utilizzare il 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) per elencare i livelli di registrazione attualmente configurati.

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

1. Utilizza il 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) per eliminare un livello di registrazione specifico delle risorse, come negli esempi seguenti.

   ```
   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**  
Il valore `target-type` deve essere uno dei seguenti: `THING_GROUP` \$1 `CLIENT_ID` \$1 `SOURCE_IP` \$1 `PRINCIPAL_ID`.  
**--target-name**  
Nome del gruppo di oggetti per il quale rimuovere il livello di registrazione.

## Livelli di log
<a name="log-level"></a>

Questi livelli di log determinano gli eventi registrati e si applicano ai livelli di log predefiniti e specifici delle risorse.

ERRORE  
Qualsiasi errore che provoca la mancata riuscita di un'operazione.  
Esempio: impossibile autenticare il dispositivo a causa del certificato scaduto.  
I log includono solo informazioni per il livello ERROR.

WARN  
Qualsiasi evento che può potenzialmente causare incoerenze nel sistema, ma potrebbe non provocare la mancata riuscita dell'operazione.  
Esempio: avvicinamento al limite di frequenza dei messaggi.  
I log includono informazioni per i livelli ERROR e WARN.

INFO  
Informazioni generali sul flusso di oggetti.  
Esempio: un cliente si è iscritto con successo a un argomento MQTT.  
I log includono informazioni per i livelli INFO, ERROR e WARN.

DEBUG  
Informazioni che possono essere utili quando si esegue il debug di un problema.  
Esempio: IoT Rules Engine ha rilevato un messaggio pubblicato nell'argomento delle regole «rule/test» e ha avviato correttamente l'esecuzione. La regola è configurata con. RepublishAction  
I log includono informazioni per i livelli DEBUG, INFO, ERROR e WARN.

DISABILITATO  
Tutte le attività di logging sino disabilitate.

# Monitora AWS IoT allarmi e metriche con Amazon CloudWatch
<a name="monitoring-cloudwatch"></a>

Puoi monitorare AWS IoT l'utilizzo CloudWatch, che raccoglie ed elabora i dati grezzi trasformandoli in metriche leggibili e quasi AWS IoT in tempo reale. Queste statistiche vengono registrate per un periodo di due settimane, per permettere l'accesso alle informazioni storiche e offrire una prospettiva migliore sulle prestazioni del servizio o dell'applicazione Web. Per impostazione predefinita, i dati AWS IoT metrici vengono inviati automaticamente a CloudWatch intervalli di un minuto. Per ulteriori informazioni, consulta [What Are Amazon CloudWatch, Amazon CloudWatch Events e Amazon CloudWatch Logs](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatch.html)? nella *Amazon CloudWatch User Guide*. 

## Utilizzo delle AWS IoT metriche
<a name="how_to_use_metrics"></a>

Le metriche riportate da AWS IoT forniscono informazioni che è possibile analizzare in diversi modi. I casi d'uso seguenti sono basati su uno scenario in cui sono presenti dieci oggetti che si connettono a Internet una volta al giorno. Ogni giorno:
+ Dieci cose si connettono AWS IoT all'incirca nello stesso momento.
+ Ogni oggetto sottoscrive un filtro di argomenti e attende un'ora prima della disconnessione. Durante questo periodo, gli oggetti comunicano tra loro e apprendono ulteriori informazioni sullo stato del mondo.
+ Ogni oggetto pubblica percezioni basate sui dati appena rilevati usando `UpdateThingShadow`. 
+ Ogni cosa si disconnette da AWS IoT.

Per aiutarti a iniziare, questi argomenti esplorano alcune delle domande che potresti avere.
+  [Come è possibile ricevere una notifica se gli oggetti non si connettono correttamente ogni giorno?](creating_alarms.md#how_to_detect_connection_failures) 
+  [Come è possibile ricevere una notifica se gli oggetti non pubblicano dati ogni giorno?](creating_alarms.md#how_to_detect_publish_failures) 
+  [Come è possibile ricevere una notifica se gli aggiornamenti alle copie shadow degli oggetti vengono rifiutati ogni giorno?](creating_alarms.md#detect_rejected_updates) 
+  [Come posso creare un CloudWatch allarme per Jobs?](creating_alarms.md#cw-jobs-alarms) 

**Topics**
+ [Utilizzo delle AWS IoT metriche](#how_to_use_metrics)
+ [Creazione di CloudWatch allarmi da monitorare AWS IoT](creating_alarms.md)
+ [AWS IoT metriche e dimensioni](metrics_dimensions.md)

# Creazione di CloudWatch allarmi da monitorare AWS IoT
<a name="creating_alarms"></a>

Puoi creare un CloudWatch allarme che invia un messaggio Amazon SNS quando l'allarme cambia stato. Un allarme monitora un singolo parametro per un periodo di tempo specificato. Quando il valore del parametro supera una determinata soglia in una serie di periodi di tempo, vengono eseguite una o più azioni. L'operazione corrisponde all'invio di una notifica a un argomento di Amazon SNS o a una policy di Auto Scaling. Gli allarmi attivano azioni solo per cambiamenti di stato sostenuti. CloudWatch gli allarmi non attivano azioni semplicemente perché si trovano in uno stato particolare; lo stato deve essere cambiato e mantenuto per un determinato numero di periodi.

**Topics**
+ [Come è possibile ricevere una notifica se gli oggetti non si connettono correttamente ogni giorno?](#how_to_detect_connection_failures)
+ [Come è possibile ricevere una notifica se gli oggetti non pubblicano dati ogni giorno?](#how_to_detect_publish_failures)
+ [Come è possibile ricevere una notifica se gli aggiornamenti alle copie shadow degli oggetti vengono rifiutati ogni giorno?](#detect_rejected_updates)
+ [Come posso creare un CloudWatch allarme per i lavori?](#cw-jobs-alarms)

 Puoi vedere tutte le metriche che gli CloudWatch allarmi possono monitorare. [AWS IoT metriche e dimensioni](metrics_dimensions.md) 

## Come è possibile ricevere una notifica se gli oggetti non si connettono correttamente ogni giorno?
<a name="how_to_detect_connection_failures"></a>

1. Crea un argomento Amazon SNS denominato `things-not-connecting-successfully` e registra il suo nome Amazon Resource Name (ARN). Questa procedura farà riferimento all'ARN dell'argomento come ` sns-topic-arn `. 

   Per maggiori informazioni su come creare una notifica Amazon SNS, consulta [Nozioni di base su Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html). 

1. Crea l'allarme.

   ```
   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. Testa l'allarme.

   ```
   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. Verificare che l'allarme venga visualizzato nella [console CloudWatch ](https://console.aws.amazon.com/cloudwatch). 

## Come è possibile ricevere una notifica se gli oggetti non pubblicano dati ogni giorno?
<a name="how_to_detect_publish_failures"></a>

1. Crea un argomento Amazon SNS denominato `things-not-publishing-data` e registra il suo nome Amazon Resource Name (ARN). Questa procedura farà riferimento all'ARN dell'argomento come ` sns-topic-arn `. 

   Per maggiori informazioni su come creare una notifica Amazon SNS, consulta [Nozioni di base su Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html). 

1. Crea l'allarme.

   ```
   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. Testa l'allarme.

   ```
   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. Verificare che l'allarme venga visualizzato nella [console CloudWatch ](https://console.aws.amazon.com/cloudwatch). 

## Come è possibile ricevere una notifica se gli aggiornamenti alle copie shadow degli oggetti vengono rifiutati ogni giorno?
<a name="detect_rejected_updates"></a>

1. Crea un argomento Amazon SNS denominato `things-shadow-updates-rejected` e registra il suo nome Amazon Resource Name (ARN). Questa procedura farà riferimento all'ARN dell'argomento come ` sns-topic-arn `. 

   Per maggiori informazioni su come creare una notifica Amazon SNS, consulta [Nozioni di base su Amazon SNS](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html). 

1. Crea l'allarme.

   ```
   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. Testa l'allarme.

   ```
   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. Verificare che l'allarme venga visualizzato nella [console CloudWatch ](https://console.aws.amazon.com/cloudwatch). 

## Come posso creare un CloudWatch allarme per i lavori?
<a name="cw-jobs-alarms"></a>

Il servizio Jobs fornisce CloudWatch metriche per monitorare i lavori. Puoi creare CloudWatch allarmi per monitorarne uno qualsiasi. [Parametri processi](metrics_dimensions.md#jobs-metrics)

Il comando seguente crea un CloudWatch allarme per monitorare il numero totale di esecuzioni di job non riuscite per Job *SampleOTAJob* e avvisa l'utente quando più di 20 esecuzioni di job non sono riuscite. L'allarme monitora il parametro `FailedJobExecutionTotalCount` dei processi controllando il valore riportato ogni 300 secondi. Viene attivato quando un singolo valore segnalato è maggiore di 20, il che significa che ci sono state più di 20 esecuzioni di processi non riuscite dall'avvio del processo. Quando l'allarme si disattiva, invia una notifica all'argomento Amazon SNS fornito.

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

Il comando seguente crea un CloudWatch allarme per monitorare il numero di esecuzioni di job non riuscite per Job *SampleOTAJob* in un determinato periodo. Viene quindi avvisato quando più di cinque esecuzioni di processi non sono riuscite durante tale periodo. L'allarme monitora il parametro `FailedJobExecutionCount` dei processi controllando il valore riportato ogni 3600 secondi. Viene attivato quando un singolo valore segnalato è maggiore di 5, il che significa che ci sono state più di 5 esecuzioni di processi non riuscite nell'ultima ora. Quando l'allarme si disattiva, invia una notifica all'argomento Amazon SNS fornito.

```
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 metriche e dimensioni
<a name="metrics_dimensions"></a>

Quando interagisci con AWS IoT, il servizio invia metriche e dimensioni a CloudWatch ogni minuto. Puoi utilizzare AWS IoT, utilizzare la CloudWatch console o AWS CLI visualizzare queste metriche.

[Per visualizzare le metriche utilizzando la CloudWatch console, apri la CloudWatch console.](https://console.aws.amazon.com/cloudwatch) Nel pannello di navigazione, scegli **Parametri** quindi scegli **Tutti i parametri**. Nella scheda **Sfoglia**, cerca per AWS IoT visualizzare l'elenco delle metriche. I parametri vengono raggruppati prima in base allo spazio dei nomi del servizio e successivamente in base alle diverse combinazioni di dimensioni all'interno di ogni spazio dei nomi.

Per visualizzare le metriche utilizzando AWS CLI, esegui il comando seguente.

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

**Topics**
+ [AWS IoT metriche](#iot-metrics)
+ [AWS IoT Core metriche del fornitore di credenziali](#credential-provider-metrics)
+ [Parametri di autenticazione](#authentication-metrics)
+ [Certificato del server (OCSP), metriche di fissaggio.](#server-ocsp-metrics)
+ [Parametri delle regole](#rulemetrics)
+ [Parametri delle operazioni sulle regole](#rule-action-metrics)
+ [Parametri specifici per operazioni HTTP](#http-action-metrics)
+ [Parametri del broker di messaggi](#message-broker-metrics)
+ [Parametri Device Shadow](#shadow-metrics)
+ [Metriche di registrazione](#logging-metrics)
+ [Parametri processi](#jobs-metrics)
+ [Parametri di Device Defender Audit](#device-defender-audit-metrics)
+ [Parametri di Device Defender Detect](#device-defender-detect-metrics)
+ [Parametri di provisioning dei dispositivi](#provisioning-metrics)
+ [LoRametriche WAN](#lorawan-metrics)
+ [Parametri di indicizzazione del parco istanze](#fleet-indexing-metrics)
+ [Dimensioni per i parametri](#aws-iot-metricdimensions)

## AWS IoT metriche
<a name="iot-metrics"></a>


| Metrica | Description | 
| --- | --- | 
|   `AddThingToDynamicThingGroupsFailed`   |  Il numero di eventi di errore associati all'aggiunta di un oggetto a un gruppo di oggetti dinamici. La dimensione `DynamicThingGroupName` contiene il nome dei gruppi dinamici che non sono riusciti ad aggiungere elementi.  | 
|   `NumLogBatchesFailedToPublishThrottled`   |  Il batch singolo di eventi di log la cui pubblicazione non è riuscita a causa di errori di throttling.  | 
|   `NumLogEventsFailedToPublishThrottled`   |  Il numero di eventi di log nel batch la cui pubblicazione non è riuscita a causa di errori di throttling.  | 

## AWS IoT Core metriche del fornitore di credenziali
<a name="credential-provider-metrics"></a>


| Metrica | Description | 
| --- | --- | 
|   `CredentialExchangeSuccess`   |  Il numero di richieste con esito positivo `AssumeRoleWithCertificate` a provider di credenziali AWS IoT Core .  | 

## Parametri di autenticazione
<a name="authentication-metrics"></a>

**Nota**  
**Le metriche di autenticazione vengono visualizzate nella CloudWatch console in Protocol Metrics.** 


| Metrica | Description | 
| --- | --- | 
|   `Connection.AuthNError`   | Il numero di tentativi di connessione AWS IoT Core rifiutati a causa di errori di autenticazione. Questa metrica considera solo le connessioni che inviano una stringa SNI (Server Name Indication) corrispondente a un endpoint dell'utente. Account AWS Questa metrica include i tentativi di connessione da fonti esterne come strumenti di scansione Internet o attività di sondaggio. La Protocol dimensione contiene il protocollo utilizzato per inviare il tentativo di connessione. | 

## Certificato del server (OCSP), metriche di fissaggio.
<a name="server-ocsp-metrics"></a>


| Metrica | Description | 
| --- | --- | 
| OCSPStapleRecupera data.Success | La risposta OCSP è stata ricevuta ed elaborata correttamente. Questa risposta verrà inclusa durante l'handshake TLS per il dominio configurato. La DomainConfigurationName dimensione contiene il nome del dominio configurato con la legatura OCSP del certificato del server abilitata. | 

## Parametri delle regole
<a name="rulemetrics"></a>


| Metrica | Description | 
| --- | --- | 
|   `ParseError`   |  Il numero di errori di analisi JSON che si sono verificati in messaggi pubblicati su un argomento che la regola sta ascoltando. La dimensione `RuleName` contiene il nome della regola.  | 
|   `RuleExecutionThrottled`   |  Il numero di messaggi sottoposto a throttling dal motore di regole a causa di comportamento dannoso o perché il numero di messaggi supera il limite di throttling del motore di regole. La dimensione `RuleName` contiene il nome della regola da attivare.  | 
|   `RuleNotFound`   |  La regola da attivare non è stata trovata. La dimensione `RuleName` contiene il nome della regola.  | 
|   `RulesExecuted`   |  Il numero di AWS IoT regole eseguite.  | 
|   `TopicMatch`   |  Il numero di messaggi in arrivo pubblicati su un argomento che la regola sta ascoltando. La dimensione `RuleName` contiene il nome della regola.  | 

## Parametri delle operazioni sulle regole
<a name="rule-action-metrics"></a>


| Metrica | Description | 
| --- | --- | 
|   `Failure`   |  Il numero di invocazioni di operazioni sulle regole non riuscite. La dimensione `RuleName` contiene il nome della regola che specifica l'operazione. La dimensione `ActionType` contiene il tipo di azione che è stato invocato.  | 
|   `Success`   |  Il numero di invocazioni di operazioni sulle regole riuscite. La dimensione `RuleName` contiene il nome della regola che specifica l'operazione. La dimensione `ActionType` contiene il tipo di azione che è stato invocato.  | 
|  ErrorActionFailure  | Il numero di azioni di errore non riuscite. La dimensione RuleName contiene il nome della regola che specifica l'operazione. La dimensione ActionType contiene il tipo di azione che è stato invocato. | 
|  ErrorActionSuccess  | Il numero di azioni di errore riuscite correttamente. La dimensione RuleName contiene il nome della regola che specifica l'operazione. La dimensione ActionType contiene il tipo di azione che è stato invocato. | 

## Parametri specifici per operazioni HTTP
<a name="http-action-metrics"></a>


| Metrica | Description | 
| --- | --- | 
|   `HttpCode_Other`   |  Generato se il codice di stato della risposta dal web downstream non service/application è 2xx, 4xx o 5xx.  | 
|   `HttpCode_4XX`   |  Generato se il codice di stato della risposta dal Web a valle service/application è compreso tra 400 e 499.  | 
|   `HttpCode_5XX`   |  Generato se il codice di stato della risposta dal web downstream service/application è compreso tra 500 e 599.  | 
|   `HttpInvalidUrl`   |  Generato se un URL endpoint, dopo la sostituzione dei modelli di sostituzione, non inizia con `https://`.   | 
|   `HttpRequestTimeout`   |  Generato se il web downstream service/application non restituisce una risposta entro il limite di timeout della richiesta. Per ulteriori informazioni, consulta [Service Quotas](https://docs.aws.amazon.com/general/latest/gr/iot-core.html#limits_iot).   | 
|   `HttpUnknownHost`   |  Generato se l'URL è valido, ma il servizio non esiste o non è raggiungibile.  | 

## Parametri del broker di messaggi
<a name="message-broker-metrics"></a>

**Nota**  
**Le metriche del broker di messaggi vengono visualizzate nella CloudWatch console in Metriche del protocollo.** 


| Metrica | Description | 
| --- | --- | 
|   `Connect.AuthError`   |  Il numero di richieste di connessione che il broker di messaggi non ha potuto autorizzare. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `CONNECT`.  | 
|   `Connect.ClientError`   |  Il numero di richieste di connessione rifiutate perché il messaggio MQTT non soddisfaceva i requisiti definiti in. [AWS IoT quote](limits-iot.md) La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `CONNECT`.  | 
|   `Connect.ClientIDThrottle`   |  Il numero di richieste di connessione per cui è stato eseguito il throttling perché il client ha superato la velocità di richiesta di connessione consentita per un ID specifico. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `CONNECT`.  | 
|   `Connect.ServerError`   |  Il numero di richieste di connessione non riuscite a causa di un errore interno. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `CONNECT`.  | 
|   `Connect.Success`   |  Il numero di connessioni con esito positivo al broker di messaggi. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `CONNECT`.  | 
|   `Connect.Throttle`   |  Il numero di richieste di connessione per cui è stato eseguito il throttling perché l'account ha superato la velocità di richiesta di connessione consentita. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `CONNECT`.  | 
|   `Ping.Success`   |  Il numero di messaggi ping ricevuti dal broker di messaggi. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio ping.  | 
|   `PublishIn.AuthError`   |  Il numero di richieste di pubblicazione che il broker di messaggi non ha potuto autorizzare. La dimensione `Protocol` contiene il protocollo utilizzato per pubblicare il messaggio. HTTP Publish non supporta questa metrica.  | 
|   `PublishIn.ClientError`   |  Il numero di richieste di pubblicazione rifiutate dal broker di messaggi perché il messaggio non soddisfaceva i requisiti definiti in[AWS IoT quote](limits-iot.md). La dimensione `Protocol` contiene il protocollo utilizzato per pubblicare il messaggio.  | 
|   `PublishIn.ServerError`   |  Il numero di richieste di pubblicazione che il broker di messaggi non è riuscito a elaborare a causa di un errore interno. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `PUBLISH`.  | 
|   `PublishIn.Success`   |  Il numero di richieste di pubblicazione correttamente elaborate dal broker di messaggi. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `PUBLISH`.  | 
|   `PublishIn.Throttle`   |  Il numero di richieste di pubblicazione per cui è stato eseguito il throttling perché il client ha superato la velocità di messaggi in arrivo consentita. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `PUBLISH`. HTTP Publish non supporta questa metrica.  | 
|   `PublishOut.AuthError`   |  Il numero di richieste di pubblicazione effettuate dal broker di messaggi che AWS IoT non ha potuto autorizzare. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `PUBLISH`.  | 
|   `PublishOut.ClientError`   |  Il numero di richieste di pubblicazione effettuate dal broker di messaggi che sono state rifiutate perché il messaggio non soddisfaceva i requisiti definiti in[AWS IoT quote](limits-iot.md). La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `PUBLISH`.  | 
|   `PublishOut.Success`   |  Il numero di richieste di pubblicazione correttamente effettuate dal broker di messaggi. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `PUBLISH`.  | 
|  PublishOut.Throttle  |  Il numero di richieste di pubblicazione limitate perché il client ha superato la velocità di messaggi in arrivo consentita. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `PUBLISH`.  | 
|   `PublishRetained.AuthError`   |  Il numero di richieste di pubblicazione con il flag `RETAIN` segnala che il broker di messaggi non ha potuto fornire l'autorizzazione. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `PUBLISH`.  | 
|  PublishRetained.ServerError  |  Il numero di richieste di pubblicazione memorizzate che il broker di messaggi non è riuscito a elaborare a causa di un errore interno. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `PUBLISH`.  | 
|   `PublishRetained.Success`   |  Il numero di richieste di pubblicazione con il flag `RETAIN` segnala che il broker di messaggi le ha elaborate correttamente. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `PUBLISH`.  | 
|   `PublishRetained.Throttle`   |  Il numero di richieste di pubblicazione con il flag `RETAIN` segnala che hanno subito una limitazione, perché il client ha superato la velocità di messaggi in arrivo consentita. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `PUBLISH`.  | 
|   `Queued.Success`   |  Il numero di messaggi archiviati che sono stati correttamente elaborati dal broker di messaggi per i client scollegati dalle sessioni persistenti. I messaggi con un QoS pari a 1 vengono archiviati mentre un client con una sessione persistente viene scollegato.  | 
|   `Queued.Throttle`   |  Il numero di messaggi che non è stato possibile archiviare e che sono stati limitati mentre i client con sessioni persistenti venivano scollegati. Ciò si verifica quando i client superano il limite di [messaggi in coda al secondo per account](https://docs.aws.amazon.com//general/latest/gr/iot-core.html#genref_queued_messages_per_second_per_account). I messaggi con un QoS pari a 1 vengono archiviati mentre un client con una sessione persistente viene scollegato.  | 
|   `Queued.ServerError`   |  Il numero di messaggi che non sono stati archiviati per una sessione persistente a causa di un errore interno. Quando i client con una sessione persistente vengono scollegati, i messaggi con una qualità del servizio (QoS) pari a 1 vengono archiviati.  | 
|   `Subscribe.AuthError`   |  Il numero di richieste di sottoscrizione effettuate da un client, che non è stato possibile autorizzare. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `SUBSCRIBE`.  | 
|   `Subscribe.ClientError`   |  Il numero di richieste di sottoscrizione che sono state rifiutate perché il `SUBSCRIBE` messaggio non soddisfaceva i requisiti definiti in[AWS IoT quote](limits-iot.md). La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `SUBSCRIBE`.  | 
|   `Subscribe.ServerError`   |  Il numero di richieste di sottoscrizione respinte a causa di un errore interno. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `SUBSCRIBE`.  | 
|   `Subscribe.Success`   |  Il numero di richieste di sottoscrizione correttamente elaborate dal broker di messaggi. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `SUBSCRIBE`.  | 
|   `Subscribe.Throttle`   |  Il numero di richieste di iscrizione che sono state limitate perché i limiti di tariffa consentiti per le richieste di iscrizione sono stati superati per le tue. Account AWS Questi limiti includono gli abbonamenti al secondo per account, gli abbonamenti per account e gli abbonamenti per connessione descritti nel [broker di AWS IoT Core messaggi](https://docs.aws.amazon.com//general/latest/gr/iot-core.html#message-broker-limits) e nei limiti e nelle quote del protocollo. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `SUBSCRIBE`.  | 
|  Throttle.Exceeded  | [Questa metrica viene visualizzata CloudWatch quando un client MQTT è limitato ai pacchetti al secondo per i limiti del livello di connessione.](https://docs.aws.amazon.com//general/latest/gr/iot-core.html#message-broker-limits) Questo parametro non si applica alle connessioni HTTP. | 
|   `Unsubscribe.ClientError`   |  Il numero di richieste di annullamento dell'iscrizione che sono state rifiutate perché il `UNSUBSCRIBE` messaggio non soddisfaceva i requisiti definiti in. [AWS IoT quote](limits-iot.md) La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `UNSUBSCRIBE`.  | 
|   `Unsubscribe.ServerError`   |  Il numero di richieste di annullamento della sottoscrizione respinte a causa di un errore interno. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `UNSUBSCRIBE`.  | 
|   `Unsubscribe.Success`   |  Il numero di richieste di annullamento della sottoscrizione correttamente elaborate dal broker di messaggi. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `UNSUBSCRIBE`.  | 
|   `Unsubscribe.Throttle`   |  Il numero di richieste di annullamento della sottoscrizione respinte perché il client ha superato la velocità di richiesta di annullamento della sottoscrizione consentita. La dimensione `Protocol` contiene il protocollo utilizzato per inviare il messaggio `UNSUBSCRIBE`.   | 

## Parametri Device Shadow
<a name="shadow-metrics"></a>

**Nota**  
Le metriche relative all'ombra del dispositivo vengono visualizzate nella CloudWatch console sotto **Protocol** Metrics. 


| Metrica | Description | 
| --- | --- | 
|   `DeleteThingShadow.Accepted`   |  Numero di richieste `DeleteThingShadow` elaborate correttamente. La dimensione `Protocol` contiene il protocollo utilizzato per effettuare la richiesta.  | 
|   `GetThingShadow.Accepted`   |  Numero di richieste `GetThingShadow` elaborate correttamente. La dimensione `Protocol` contiene il protocollo utilizzato per effettuare la richiesta.  | 
|   `ListThingShadow.Accepted`   |  Numero di richieste `ListThingShadow` elaborate correttamente. La dimensione `Protocol` contiene il protocollo utilizzato per effettuare la richiesta.  | 
|   `UpdateThingShadow.Accepted`   |  Numero di richieste `UpdateThingShadow` elaborate correttamente. La dimensione `Protocol` contiene il protocollo utilizzato per effettuare la richiesta.  | 

## Metriche di registrazione
<a name="logging-metrics"></a>


| Metrica | Description | 
| --- | --- | 
|  `CloudwatchLogs:LogGroupCreationFailed`  |  Il numero di `CreateLogGroup` richieste non riuscite. AWS IoT Logging crea un gruppo di CloudWatch log se non esiste. La `LogGroup` dimensione contiene il gruppo di log utilizzato per effettuare la richiesta.  | 
|  `CloudwatchLogs:LogStreamCreationFailed`  |  Il numero di `CreateLogStream` richieste non riuscite. AWS IoT Logging crea flussi di CloudWatch log per inviare eventi di log. La `LogGroup` dimensione contiene il gruppo di log utilizzato per effettuare la richiesta.  | 
|  `CloudwatchLogs:PutRetentionPolicyFailed`  |  Il numero di `PutRetentionPolicy` richieste non riuscite. AWS IoT Logging crea un gruppo di CloudWatch log se non esiste e la policy di conservazione è impostata su 30 giorni. La `LogGroup` dimensione contiene il gruppo di log utilizzato per effettuare la richiesta.  | 
|  `CloudwatchLogs:PutLogEventsFailed`  |  Il numero di `PutLogEvents` richieste non riuscite. La `LogGroup` dimensione contiene il gruppo di CloudWatch log utilizzato per effettuare la richiesta.  | 

## Parametri processi
<a name="jobs-metrics"></a>


| Metrica | Description | 
| --- | --- | 
|  `CanceledJobExecutionCount`  |  Il numero di esecuzioni di job il cui stato è cambiato `CANCELED` entro un periodo di tempo determinato da CloudWatch. (Per ulteriori informazioni sui CloudWatch parametri, consulta [Amazon CloudWatch Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric).) La dimensione `JobId` contiene l'ID del processo.  | 
|   `CanceledJobExecutionTotalCount`   |  Il numero totale di esecuzioni di processi il cui stato è `CANCELED` per il dato processo. La dimensione `JobId` contiene l'ID del processo.  | 
|   `ClientErrorCount`   |  Numero di errori client generati durante l'esecuzione del processo. La dimensione `JobId` contiene l'ID del processo.  | 
|   `FailedJobExecutionCount`   |  Il numero di esecuzioni di job il cui stato è cambiato `FAILED` entro un periodo di tempo determinato da. CloudWatch (Per ulteriori informazioni sui CloudWatch parametri, consulta [Amazon CloudWatch Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric).) La dimensione `JobId` contiene l'ID del processo.  | 
|   `FailedJobExecutionTotalCount`   |  Il numero totale di esecuzioni di processi il cui stato è `FAILED` per il dato processo. La dimensione `JobId` contiene l'ID del processo.  | 
|   `InProgressJobExecutionCount`   |  Il numero di esecuzioni di job il cui stato è cambiato `IN_PROGRESS` entro un periodo di tempo determinato da. CloudWatch (Per ulteriori informazioni sui CloudWatch parametri, consulta [Amazon CloudWatch Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric).) La dimensione `JobId` contiene l'ID del processo.  | 
|   `InProgressJobExecutionTotalCount`   |  Il numero totale di esecuzioni di processi il cui stato è `IN_PROGRESS` per il dato processo. La dimensione `JobId` contiene l'ID del processo.  | 
|   `RejectedJobExecutionTotalCount`   |  Il numero totale di esecuzioni di processi il cui stato è `REJECTED` per il dato processo. La dimensione `JobId` contiene l'ID del processo.  | 
|   `RemovedJobExecutionTotalCount`   |  Il numero totale di esecuzioni di processi il cui stato è `REMOVED` per il dato processo. La dimensione `JobId` contiene l'ID del processo.  | 
|   `QueuedJobExecutionCount`   |  Il numero di esecuzioni di job il cui stato è cambiato `QUEUED` entro un periodo di tempo determinato da. CloudWatch (Per ulteriori informazioni sui CloudWatch parametri, consulta [Amazon CloudWatch Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric).) La dimensione `JobId` contiene l'ID del processo.  | 
|   `QueuedJobExecutionTotalCount`   |  Il numero totale di esecuzioni di processi il cui stato è `QUEUED` per il dato processo. La dimensione `JobId` contiene l'ID del processo.  | 
|   `RejectedJobExecutionCount`   |  Il numero di esecuzioni di job il cui stato è cambiato `REJECTED` entro un periodo di tempo determinato da. CloudWatch (Per ulteriori informazioni sui CloudWatch parametri, consulta [Amazon CloudWatch Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric).) La dimensione `JobId` contiene l'ID del processo.  | 
|   `RemovedJobExecutionCount`   |  Il numero di esecuzioni di job il cui stato è cambiato `REMOVED` entro un periodo di tempo determinato da. CloudWatch (Per ulteriori informazioni sui CloudWatch parametri, consulta [Amazon CloudWatch Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric).) La dimensione `JobId` contiene l'ID del processo.  | 
|   `ServerErrorCount`   |  Numero di errori server generati durante l'esecuzione del processo. La dimensione `JobId` contiene l'ID del processo.  | 
|   `SuccededJobExecutionCount`   |  Il numero di esecuzioni di job il cui stato è cambiato `SUCCESS` entro un periodo di tempo determinato da. CloudWatch (Per ulteriori informazioni sui CloudWatch parametri, consulta [Amazon CloudWatch Metrics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_concepts.html#Metric).) La dimensione `JobId` contiene l'ID del processo.  | 
|   `SuccededJobExecutionTotalCount`   |  Il numero totale di esecuzioni di processi il cui stato è `SUCCESS` per il dato processo. La dimensione `JobId` contiene l'ID del processo.  | 

## Parametri di Device Defender Audit
<a name="device-defender-audit-metrics"></a>


| Metrica | Description | 
| --- | --- | 
|   `NonCompliantResources`   |  Il numero di risorse risultate non conformi a un controllo. Il sistema rileva il numero di risorse risultate non conformi per ogni controllo di ogni audit eseguito.   | 
|   `ResourcesEvaluated`   |  Il numero di risorse valutate per la conformità. Il sistema rileva il numero di risorse valutate per ogni controllo di ogni audit eseguito.   | 
|   `MisconfiguredDeviceDefenderNotification`   |  Ti avvisa quando la configurazione SNS di non è configurata correttamente. AWS IoT Device Defender   [Dimensioni](#aws-iot-metricdimensions)   | 

## Parametri di Device Defender Detect
<a name="device-defender-detect-metrics"></a>


| Metrica | Description | 
| --- | --- | 
|   `NumOfMetricsExported`    |  Il numero di metriche esportate per una metrica lato cloud, lato dispositivo o personalizzata. Il sistema riporta il numero di metriche esportate per l'account, per una metrica specifica. Questa metrica è disponibile solo per i clienti che utilizzano l'esportazione delle metriche.  | 
|   `NumOfMetricsSkipped`   |  Il numero di metriche ignorate per una metrica lato cloud, lato dispositivo o personalizzata. Il sistema riporta il numero di metriche ignorate per l'account, per una metrica specifica a causa delle autorizzazioni insufficienti fornite a Device Defender Detect per la pubblicazione sull'argomento mqtt. Questa metrica è disponibile solo per i clienti che utilizzano l'esportazione delle metriche.  | 
|   `NumOfMetricsExceedingSizeLimit`   |  Il numero di metriche ignorate per l'esportazione per una metrica lato cloud, lato dispositivo o personalizzata a causa della dimensione che supera i limiti di dimensione dei messaggi MQTT. Il sistema riporta il numero di metriche ignorate per l'esportazione per l'account, per una metrica specifica a causa della dimensione che supera i limiti di dimensione dei messaggi MQTT. Questa metrica è disponibile solo per i clienti che utilizzano l'esportazione delle metriche.  | 
|   `Violations`   |  Il numero di nuove violazioni di comportamenti per il profilo di sicurezza rilevate dall'ultima valutazione completata. Il sistema rileva il numero di nuove violazioni per l'account per un profilo di sicurezza specifico e per un comportamento specifico di un profilo di sicurezza specifico.   | 
|   `ViolationsCleared`   |  Il numero di violazioni di comportamenti per il profilo di sicurezza risolte dall'ultima valutazione completata. Il sistema rileva il numero di violazioni risolte per l'account per un profilo di sicurezza specifico e per un comportamento specifico di un profilo di sicurezza specifico.   | 
|   `ViolationsInvalidated`   |  Il numero di violazioni di comportamenti per il profilo di sicurezza per cui le informazioni non sono più disponibili dall'ultima valutazione completata (perché il dispositivo ha interrotto la reportistica o perché, per qualsiasi motivo, non viene più effettuato il monitoraggio). Il sistema rileva il numero di violazioni non convalidate per l'intero account per un profilo di sicurezza specifico e per un comportamento specifico di un profilo di sicurezza specifico.   | 
|   `MisconfiguredDeviceDefenderNotification`   |  Ti avvisa quando la configurazione SNS di non è configurata correttamente. AWS IoT Device Defender   [Dimensioni](#aws-iot-metricdimensions)   | 

## Parametri di provisioning dei dispositivi
<a name="provisioning-metrics"></a>


**AWS IoT Metriche di approvvigionamento della flotta**  

| Metrica | Description | 
| --- | --- | 
|   `ApproximateNumberOfThingsRegistered`   |  Il numero di oggetti registrati tramite provisioning del parco istanze. Mentre il conteggio è generalmente accurato, l'architettura distribuita di AWS IoT Core rende difficile mantenere un conteggio preciso degli oggetti registrati.  La statistica da utilizzare per questo parametro è: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/metrics_dimensions.html)  Dimensioni: [ClaimCertificateId](#aws-iot-metricdimensions)   | 
|   `CreateKeysAndCertificateFailed`   |  Il numero di errori che si sono verificati chiamando l'API MQTT `CreateKeysAndCertificate`. La metrica viene emessa in entrambi i casi Success (valore = 0) e Failure (valore = 1). Questa metrica può essere utilizzata per tenere traccia del numero di certificati creati e registrati durante le finestre di aggregazione CloudWatch supportate, ad esempio 5 minuti o 1 ora. Le statistiche disponibili per questo parametro sono: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/metrics_dimensions.html)  | 
|   `CreateCertificateFromCsrFailed`   |  Il numero di errori che si sono verificati chiamando l'API MQTT `CreateCertificateFromCsr`. La metrica viene emessa in entrambi i casi Success (valore = 0) e Failure (valore = 1). Questa metrica può essere utilizzata per tenere traccia del numero di elementi registrati durante le finestre CloudWatch di aggregazione supportate, ad esempio 5 minuti o 1 ora.  Le statistiche disponibili per questo parametro sono: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/metrics_dimensions.html)  | 
|   `RegisterThingFailed`   |  Il numero di errori che si sono verificati chiamando l'API MQTT `RegisterThing`. La metrica viene emessa in entrambi i casi Success (valore = 0) e Failure (valore = 1). Questa metrica può essere utilizzata per tenere traccia del numero di elementi registrati durante le finestre CloudWatch di aggregazione supportate, ad esempio 5 minuti o 1 ora. Per il numero totale di elementi registrati, consulta il parametro `ApproximateNumberOfThingsRegistered`. Le statistiche disponibili per questo parametro sono: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/metrics_dimensions.html) Dimensioni: [TemplateName](#aws-iot-metricdimensions)   | 


**Just-in-time metriche di approvvigionamento**  

| Metrica | Description | 
| --- | --- | 
|   `ProvisionThing.ClientError`   |  Il numero di provisioning non riusciti di un dispositivo a causa di un errore del client. Ad esempio, la policy specificata nel modello non esisteva.  | 
|  ProvisionThing.ServerError  |  Il numero di provisioning non riusciti di un dispositivo a causa di un errore del server. I clienti possono riprovare a eseguire il provisioning del dispositivo dopo l'attesa e possono contattare AWS IoT se il problema rimane lo stesso.  | 
|  ProvisionThing.Success  |  Il numero di provisioning eseguiti correttamente per un dispositivo.  | 

## LoRametriche WAN
<a name="lorawan-metrics"></a>

La tabella seguente mostra le metriche per. AWS IoT Core per LoRaWAN Per ulteriori informazioni, consulta le [AWS IoT Core per LoRaWAN metriche](https://docs.aws.amazon.com/iot-wireless/latest/developerguide/iot-lorawan-metrics.html). 


**AWS IoT Core per LoRaWAN metriche**  

| Metrica | Description | 
| --- | --- | 
|  Dispositivi/gateway attivi  |  Il numero di dispositivi e gateway LoRa WAN attivi nel tuo account.  | 
|  Numero di messaggi in uplink  |  Il numero di messaggi uplink inviati entro un periodo di tempo specificato per tutti i gateway e i dispositivi attivi del tuo. Account AWS I messaggi uplink sono messaggi inviati dal dispositivo a. AWS IoT Core per LoRaWAN  | 
|  Conteggio di messaggi di downlink  |  Il numero di messaggi di downlink inviati entro un periodo di tempo specificato per tutti i gateway e i dispositivi attivi nel tuo. Account AWS I messaggi di downlink sono messaggi inviati dal tuo dispositivo AWS IoT Core per LoRaWAN .  | 
|  Tasso di perdita di messaggi  |  Dopo aver aggiunto il dispositivo e aver effettuato la connessione AWS IoT Core per LoRaWAN, il dispositivo può avviare un messaggio di uplink per iniziare a scambiare messaggi con il cloud. Puoi utilizzare questa metrica per monitorare quindi la frequenza di messaggi in uplink che vengono persi.  | 
|  Unisci le metriche  |  Dopo aver aggiunto il dispositivo e il gateway, esegui una procedura di unione in modo che il dispositivo possa inviare dati in uplink e comunicare con. AWS IoT Core per LoRaWAN Puoi utilizzare questa metrica per ottenere informazioni sulle metriche di accesso per tutti i dispositivi attivi nel tuo Account AWS.  | 
|  Indicatore della potenza media del segnale ricevuto (RSSI)  |  È possibile utilizzare questa metrica per monitorare l’RSSI (indicatore di potenza del segnale ricevuto) medio entro il periodo di tempo specificato. L’RSSI è una misura che indica se il segnale è sufficientemente forte per una buona connessione wireless. Questo valore è negativo e deve essere più vicino allo zero per una connessione stabile.  | 
|  Rapporto medio segnale/rumore (SNR)  |  È possibile utilizzare questa metrica per monitorare l'SNR (Signal-to-noise rapporto) medio entro la durata di tempo specificata. L’SNR è una misura che indica se il segnale ricevuto è sufficientemente forte rispetto al livello di rumore per una buona connessione wireless. Il valore SNR è positivo e deve essere maggiore di zero per indicare che la potenza del segnale è più forte della potenza del rumore.  | 
|  Disponibilità del gateway  |  È possibile utilizzare questa metrica per ottenere informazioni sulla disponibilità di questo gateway entro un periodo di tempo specificato. Questa metrica mostra il tempo di connessione websocket di questo gateway per un periodo di tempo specificato.  | 


**Just-in-time metriche di approvvigionamento**  

| Metrica | Description | 
| --- | --- | 
|   `ProvisionThing.ClientError`   |  Il numero di provisioning non riusciti di un dispositivo a causa di un errore del client. Ad esempio, la policy specificata nel modello non esisteva.  | 
|  ProvisionThing.ServerError  |  Il numero di provisioning non riusciti di un dispositivo a causa di un errore del server. I clienti possono riprovare a eseguire il provisioning del dispositivo dopo l'attesa e possono contattare AWS IoT se il problema rimane lo stesso.  | 
|  ProvisionThing.Success  |  Il numero di provisioning eseguiti correttamente per un dispositivo.  | 

## Parametri di indicizzazione del parco istanze
<a name="fleet-indexing-metrics"></a>


**AWS IoT metriche di indicizzazione della flotta**  

| Metrica | Description | 
| --- | --- | 
|   `NamedShadowCountForDynamicGroupQueryLimitExceeded`   |  Viene elaborato un massimo di 25 copie shadow denominate per oggetto per termini di query che non sono specifici dell'origine dei dati nei gruppi di oggetti dinamici. Quando questo limite viene violato, il tipo di evento `NamedShadowCountForDynamicGroupQueryLimitExceeded` verrà emesso.  | 

## Dimensioni per i parametri
<a name="aws-iot-metricdimensions"></a>


**I parametri utilizzano lo spazio dei nomi forniscono i parametri per le seguenti dimensioni:**  

| Dimensione | Description | 
| --- | --- | 
|  ActionType  |  Il [tipo di operazione](iot-rule-actions.md) specificato dalla regola attivata dalla richiesta.  | 
|   `BehaviorName`   |  Il nome del comportamento del profilo di sicurezza Device Defender Detect che viene monitorato.  | 
|   `ClaimCertificateId`   |  Il `certificateId` del reclamo utilizzato per il provisioning dei dispositivi.  | 
|   `CheckName`   |  Il nome del controllo Device Defender Audit i cui risultati vengono monitorati.  | 
|   `JobId`   |  L'ID del lavoro di cui viene monitorato l'avanzamento o la connessione success/failure ai messaggi.  | 
|   `Protocol`   |  Il protocollo usato per effettuare la richiesta. I valori validi sono: MQTT o HTTP  | 
|   `RuleName`   |  Il nome della regola attivata dalla richiesta.  | 
|   `ScheduledAuditName`   |  Il nome del Device Defender Audit i cui risultati di controllo vengono monitorati. Ha il valore `OnDemand` se i risultati riportati si riferiscono a un audit effettuato on demand.  | 
|   `SecurityProfileName`   |  Il nome del profilo di sicurezza Device Defender Detect i cui comportamenti vengono monitorati.  | 
|   `TemplateName`   |  Il nome del modello dell'artefatto di provisioning.  | 
|  SourceArn  | Fa riferimento al profilo di sicurezza per il rilevamento o all'account arn per il controllo. | 
|   `RoleArn`   |  Si riferisce al ruolo che Device Defender ha cercato di assumere.  | 
|   `TopicArn`   |  Fa riferimento all'argomento SNS su cui Device Defender ha tentato di pubblicare.  | 
|   `Error`   | Fornisce una breve descrizione dell'errore ricevuto durante il tentativo di pubblicazione sull'argomento SNS. I valori possibili sono:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/metrics_dimensions.html)  | 

# Monitora AWS IoT utilizzando i log CloudWatch
<a name="cloud-watch-logs"></a>

Quando [AWS IoT la registrazione è abilitata](configure-logging.md), AWS IoT invia gli eventi di avanzamento relativi a ciascun messaggio mentre passa dai tuoi dispositivi tramite il broker di messaggi e il motore delle regole. **Nella [CloudWatch console](https://console.aws.amazon.com/cloudwatch), CloudWatch i log vengono visualizzati in un gruppo di log denominato AWSIot Logs.** 

[Per ulteriori informazioni sui CloudWatch registri, vedere Registri. CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html) Per informazioni sui AWS IoT CloudWatch log supportati, vedere. [CloudWatch Registra le voci di registro AWS IoT](cwl-format.md)

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

**Nota**  
Il gruppo di `AWSIotLogsV2` log non è visibile nella CloudWatch console fino a quando:  
Hai abilitato l'accesso. AWS IoT Per maggiori informazioni su come abilitare l'accesso, vedi AWS IoT[Configurare la registrazione AWS IoT](configure-logging.md) 
Alcune voci di registro sono state scritte dalle AWS IoT operazioni.

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

1.  Vai a [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/). Nel pannello di navigazione, selezionare **Log groups (Gruppi di log)**. 

1. Nella casella di testo **Filter (Filtra)**, inserisci **AWSIotLogsV2** e premi Invio.

1. Fai doppio clic sul gruppo di log `AWSIotLogsV2`.

1. Seleziona **Cerca tutto**. Viene visualizzato un elenco completo dei AWS IoT log generati per l'account.

1. Scegli l'icona di espansione per esaminare un singolo flusso.

È possibile anche inserire una query nella casella di testo **Filter events (Filtra eventi)**. Di seguito sono illustrate alcune query interessanti da provare:
+  `{ $.logLevel = "INFO" }` 

   Trova tutti i log con livello `INFO`. 
+  `{ $.status = "Success" }` 

   Trova tutti i log con stato `Success`. 
+  `{ $.status = "Success" && $.eventType = "GetThingShadow" }` 

   Trova tutti i log con stato `Success` e un tipo di evento `GetThingShadow`. 

Per ulteriori informazioni sulla creazione di espressioni di filtro, vedere [CloudWatch Logs Queries.](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html) 

# CloudWatch Registra le voci di registro AWS IoT
<a name="cwl-format"></a>

Ogni componente di AWS IoT genera le proprie voci di registro. Ogni voce di registro ha un `eventType` che specifica l'operazione che ha causato la generazione della voce di registro. In questa sezione vengono descritti le voci di registro generate dai seguenti componenti di AWS IoT .

**Topics**
+ [Voci di registro del broker messaggi](#message-broker-logs)
+ [Voci di registro OCSP del certificato del server](#server-ocsp-logs)
+ [Voci del registro Device Shadow](#device-shadow-logs)
+ [Voci di registro del motore delle regole](#rule-engine-logs)
+ [Voci del registro processi](#job-logs)
+ [Voci del registro di provisioning dei dispositivi](#provision-logs)
+ [Voci del registro del gruppo di oggetti dinamici](#dynamic-group-logs)
+ [Voci di registro di indicizzazione del parco istanze](#fleet-indexing-logs)
+ [attributi Common CloudWatch Logs](#cwl-common-attributes)

## Voci di registro del broker messaggi
<a name="message-broker-logs"></a>

Il broker di AWS IoT messaggi genera voci di registro per i seguenti eventi:

**Topics**
+ [Connetti voce di registro](#log-mb-connect)
+ [Disconnetti voce registro](#log-mb-disconnect)
+ [DeleteConnection voce di registro](#log-mb-delete-connection)
+ [GetRetainedMessage voce di registro](#log-mb-get-retain)
+ [ListRetainedMessage registrazione del registro](#log-mb-list-retain)
+ [Voce di registro di pubblicazione](#log-mb-publish-in)
+ [Voce di registro di pubblicazione](#log-mb-publish-out)
+ [Voce di log Queued](#log-mb-queued)
+ [Sottoscrivi voce di registro](#log-mb-subscribe)
+ [Annulla l'iscrizione al registro](#log-mb-unsubscribe)

### Connetti voce di registro
<a name="log-mb-connect"></a>

Il broker di AWS IoT messaggi genera una voce di registro con un `eventType` di `Connect` quando un client MQTT si connette.

#### Esempio di voce di registro di connessione
<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
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `Connect` registro contengono i seguenti attributi:

clientId  
ID del client da cui proviene la richiesta.

principalId  
ID dell'entità principale da cui proviene la richiesta.

protocol  
Il protocollo usato per effettuare la richiesta. I valori validi sono `MQTT` e `HTTP`. 

sourceIp  
Indirizzo IP da cui ha avuto origine la richiesta.

sourcePort  
Porta da cui ha avuto origine la richiesta.

### Disconnetti voce registro
<a name="log-mb-disconnect"></a>

Il broker di AWS IoT messaggi genera una voce di registro con un `eventType` di `Disconnect` quando un client MQTT si disconnette.

#### Esempio di voce di registro di disconnessione
<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"
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `Disconnect` registro contengono i seguenti attributi:

clientId  
ID del client da cui proviene la richiesta.

principalId  
ID dell'entità principale da cui proviene la richiesta.

protocol  
Il protocollo usato per effettuare la richiesta. I valori validi sono `MQTT` e `HTTP`. 

sourceIp  
Indirizzo IP da cui ha avuto origine la richiesta.

sourcePort  
Porta da cui ha avuto origine la richiesta.

motivo  
Il motivo per cui il client viene disconnesso.

details  
Una breve spiegazione dell'errore.

disconnectReason  
Il motivo per cui il client viene disconnesso.

### DeleteConnection voce di registro
<a name="log-mb-delete-connection"></a>

Il broker di AWS IoT messaggi genera una voce di registro con un `eventType` di `DeleteConnection` quando viene eliminata una connessione client MQTT.

#### DeleteConnection esempio di immissione di 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
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `DeleteConnection` registro contengono i seguenti attributi:

clientId  
L'ID del client che verrà disconnesso.

principalId  
ID dell'entità principale da cui proviene la richiesta. Per informazioni su come identificare il principale utilizzando l'ID principale, [consulta Confrontare le identità e le credenziali IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html) nella Guida per l'utente *IAM*. 

protocol  
Il protocollo usato per effettuare la richiesta. Il valore valido è `HTTP`. 

sourceIp  
Indirizzo IP da cui ha avuto origine la richiesta.

sourcePort  
Porta da cui ha avuto origine la richiesta.

### GetRetainedMessage voce di registro
<a name="log-mb-get-retain"></a>

Il broker di AWS IoT messaggi genera una voce di registro con una chiamata `eventType` [https://docs.aws.amazon.com//iot/latest/developerguide/API_iotdata_GetRetainedMessage.html](https://docs.aws.amazon.com//iot/latest/developerguide/API_iotdata_GetRetainedMessage.html)di `GetRetainedMessage` quando.

#### GetRetainedMessage esempio di immissione di 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"
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `GetRetainedMessage` registro contengono i seguenti attributi:

lastModifiedDate  
Data e ora dell'epoca, in millisecondi, in cui il messaggio conservato è stato archiviato da. AWS IoT

protocol  
Il protocollo usato per effettuare la richiesta. Valore valido: `HTTP`. 

qos  
Il livello di qualità del servizio (QoS) utilizzato nella richiesta di pubblicazione. I valori validi sono `0` e `1`. 

topicName  
Nome dell'argomento sottoscritto. 

### ListRetainedMessage registrazione del registro
<a name="log-mb-list-retain"></a>

Il broker di AWS IoT messaggi genera una voce di registro con una chiamata `eventType` [/iot/latest/developerguide/API_iotdata_ListRetainedMessages.html](/iot/latest/developerguide/API_iotdata_ListRetainedMessages.html)di `ListRetainedMessage` quando.

#### ListRetainedMessage esempio di immissione di 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"
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `ListRetainedMessage` registro contengono il seguente attributo:

protocol  
Il protocollo usato per effettuare la richiesta. Valore valido: `HTTP`. 

### Voce di registro di pubblicazione
<a name="log-mb-publish-in"></a>

Quando il broker di AWS IoT messaggi riceve un messaggio MQTT, genera una voce di registro con un `eventType` of`Publish-In`. 

#### Esempio di voce di registro di pubblicazione
<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"
    }
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `Publish-In` registro contengono i seguenti attributi:

clientId  
ID del client da cui proviene la richiesta.

principalId  
ID dell'entità principale da cui proviene la richiesta.

protocol  
Il protocollo usato per effettuare la richiesta. I valori validi sono `MQTT` e `HTTP`. 

retain  
L'attributo utilizzato quando un messaggio ha il flag RETAIN impostato con un valore di `True`. Se nel messaggio non è impostato il flag RETAIN, questo attributo non viene visualizzato nella voce di registro. Per ulteriori informazioni, consulta [Messaggi conservati da MQTT](mqtt.md#mqtt-retain).

sourceIp  
Indirizzo IP da cui ha avuto origine la richiesta.

sourcePort  
Porta da cui ha avuto origine la richiesta.

topicName  
Nome dell'argomento sottoscritto. 

### Voce di registro di pubblicazione
<a name="log-mb-publish-out"></a>

Quando il broker di messaggi pubblica un messaggio MQTT, genera un log `eventType` di `Publish-Out`. 

#### Esempio di voce di registro di pubblicazione
<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
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `Publish-Out` registro contengono i seguenti attributi:

clientId  
L'ID del client sottoscritto che riceve messaggi su quell'argomento MQTT.

principalId  
ID dell'entità principale da cui proviene la richiesta.

protocol  
Il protocollo usato per effettuare la richiesta. I valori validi sono `MQTT` e `HTTP`. 

sourceIp  
Indirizzo IP da cui ha avuto origine la richiesta.

sourcePort  
Porta da cui ha avuto origine la richiesta.

topicName  
Nome dell'argomento sottoscritto. 

### Voce di log Queued
<a name="log-mb-queued"></a>

Quando un dispositivo con una sessione persistente viene disconnesso, il broker di messaggi MQTT archivia i messaggi del dispositivo e AWS IoT genera voci di registro con un EventType di. `Queued` Per ulteriori informazioni sulle sessioni persistenti MQTT, vedere. [Sessioni persistenti MQTT](mqtt.md#mqtt-persistent-sessions)

#### Esempio di voce del log errori del server Queued
<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"
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci del registro degli errori del `Queued` server contengono i seguenti attributi:

clientId  
L'ID del client in cui il messaggio viene accodato.

details  
**`Server Error`**  
Un errore del server ha impedito l'archiviazione del messaggio.

protocol  
Il protocollo usato per effettuare la richiesta. Il valore sarà sempre `MQTT`. 

qos  
Il livello di qualità del servizio (QoS) della richiesta. Il valore sarà sempre 1 perché i messaggi con QoS pari a 0 non vengono archiviati.

topicName  
Nome dell'argomento sottoscritto.

#### Esempio di voce di log delle operazioni riuscite Queued
<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"
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci del registro di `Queued` successo contengono i seguenti attributi:

clientId  
L'ID del client in cui il messaggio viene accodato.

protocol  
Il protocollo usato per effettuare la richiesta. Il valore sarà sempre `MQTT`. 

qos  
Il livello di qualità del servizio (QoS) della richiesta. Il valore sarà sempre 1 perché i messaggi con QoS pari a 0 non vengono archiviati.

topicName  
Nome dell'argomento sottoscritto.

#### Esempio di voce di log con limitazione (della larghezza di banda della rete) Queued
<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"
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci `Queued` di registro limitate contengono i seguenti attributi:

clientId  
L'ID del client in cui il messaggio viene accodato.

details  
**`Throttled while queueing offline message`**  
Il client ha superato il limite ` [Queued messages per second per account](https://docs.aws.amazon.com//general/latest/gr/iot-core.html#genref_queued_messages_per_second_per_account) `, pertanto il messaggio non è stato archiviato.

protocol  
Il protocollo usato per effettuare la richiesta. Il valore sarà sempre `MQTT`. 

qos  
Il livello di qualità del servizio (QoS) della richiesta. Il valore sarà sempre 1 perché i messaggi con QoS pari a 0 non vengono archiviati.

topicName  
Nome dell'argomento sottoscritto.

### Sottoscrivi voce di registro
<a name="log-mb-subscribe"></a>

Il broker di AWS IoT messaggi genera una voce di registro con un `eventType` di `Subscribe` quando un client MQTT sottoscrive un argomento.

#### Esempio di voce di log MQTT 3 Subscribe
<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
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `Subscribe` registro contengono i seguenti attributi:

clientId  
ID del client da cui proviene la richiesta.

principalId  
ID dell'entità principale da cui proviene la richiesta.

protocol  
Il protocollo usato per effettuare la richiesta. Il valore sarà sempre `MQTT`. 

sourceIp  
Indirizzo IP da cui ha avuto origine la richiesta.

sourcePort  
Porta da cui ha avuto origine la richiesta.

topicName  
Nome dell'argomento sottoscritto. 

#### Esempio di voce di log MQTT 5 Subscribe
<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
}
```

Per le operazioni MQTT 5 Subscribe, oltre a [attributi Common CloudWatch Logs](#cwl-common-attributes) e [Attributi voce di log MQTT 3 Subscribe](#log-mb-connect.example.subscribe), le voci di log MQTT 5 `Subscribe` contengono il seguente attributo: 

sottoscrizioni  
Un elenco di mappature tra gli argomenti richiesti nella richiesta Subscribe e il singolo codice motivo MQTT 5. Per ulteriori informazioni, consulta [Codici motivo MQTT](https://docs.aws.amazon.com//iot/latest/developerguide/mqtt.html#mqtt5-reason-codes). 

### Annulla l'iscrizione al registro
<a name="log-mb-unsubscribe"></a>

Il broker di AWS IoT messaggi genera una voce di registro con un `eventType` di `Unsubscribe` quando un client MQTT annulla l'iscrizione a un argomento MQTT.

#### Esempio di inserimento nel registro di annullamento dell'iscrizione 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
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `Unsubscribe` registro contengono i seguenti attributi:

protocol  
Il protocollo usato per effettuare la richiesta. Il valore sarà sempre `MQTT`. 

clientId  
ID del client da cui proviene la richiesta.

principalId  
ID dell'entità principale da cui proviene la richiesta.

sourceIp  
Indirizzo IP da cui ha avuto origine la richiesta.

sourcePort  
Porta da cui ha avuto origine la richiesta.

## Voci di registro OCSP del certificato del server
<a name="server-ocsp-logs"></a>

AWS IoT Core genera voci di registro per il seguente evento:

**Topics**
+ [Recupera la voce del registro OCSPStaple dei dati](#log-retrieve-ocsp-staple)
+ [Recupera la voce del registro OCSPStaple dei dati per gli endpoint privati](#log-retrieve-ocsp-staple-private-endpoint)

### Recupera la voce del registro OCSPStaple dei dati
<a name="log-retrieve-ocsp-staple"></a>

AWS IoT Core genera una voce di registro con un `eventType` di `RetrieveOCSPStapleData` quando il server recupera i dati di base OCSP.

#### Recupera esempi OCSPStaple di immissione nel registro dei dati
<a name="log-retrieve-ocsp-staple.example"></a>

Di seguito è riportato un esempio di immissione di registro di`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"
	}
}
```

Di seguito è riportato un esempio di immissione di registro di`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"
	}
}
```

Per l'`RetrieveOCSPStaple`operazione, oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di registro contengono i seguenti attributi:

motivo  
Il motivo per cui l'operazione non riesce.

domainConfigName  
Il nome della configurazione del dominio.

Dettagli della connessione  
Una breve spiegazione dei dettagli della connessione.  
+ httpStatusCode

  Codici di stato HTTP restituiti dal risponditore OCSP in risposta alla richiesta del client effettuata al server.
+ ocspResponderUri

  L'URI del risponditore OCSP che viene AWS IoT Core recuperato dal certificato del server.
+ sourceIp

  L'indirizzo IP di origine del server. AWS IoT Core 
+ TargetIP

  L'indirizzo IP di destinazione del risponditore OCSP.

ocspRequestDetails  
Dettagli della richiesta OCSP.  
+ Nome del richiedente

  L'identificatore del AWS IoT Core server che invia una richiesta al risponditore OCSP.
+ requestCertId

  L'ID del certificato della richiesta. Questo è l'ID del certificato per il quale viene richiesta la risposta OCSP.

ocspResponseDetails  
Dettagli della risposta OCSP.  
+ responseCertId

  L'ID del certificato della risposta OCSP. 
+ ocspResponseStatus

  Lo stato della risposta OCSP.
+ CertStatus

  Stato del certificato.
+ signature

  La firma applicata alla risposta da un'entità attendibile.
+ thisUpdateTime

  È noto che l'ora in cui lo stato indicato è corretto.
+ nextUpdateTime

  L'ora o prima della quale saranno disponibili informazioni più recenti sullo stato del certificato.
+ producedAtTime

  L'ora in cui il risponditore OCSP ha firmato questa risposta.
+ stapledDataPayloadDimensioni

  La dimensione del payload dei dati graffati.

### Recupera la voce del registro OCSPStaple dei dati per gli endpoint privati
<a name="log-retrieve-ocsp-staple-private-endpoint"></a>

AWS IoT Core genera una voce di registro con un `eventType` di `RetrieveOCSPStapleData` quando il server recupera i dati di base OCSP.

#### Recupera esempi di immissione nel registro OCSPStaple dei dati per endpoint privati
<a name="log-retrieve-ocsp-staple-private-endpoint.example"></a>

Di seguito è riportato un esempio di immissione di registro di. `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"
	}
}
```

Di seguito è riportato un esempio di immissione di registro di`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"
	}
}
```

Per l'`RetrieveOCSPStaple`operazione, oltre agli attributi nella [voce di registro Retrieve OCSPStaple Data](https://docs.aws.amazon.com//iot/latest/developerguide/cwl-format.html#log-retrieve-ocsp-staple), le voci di registro per gli endpoint privati contengono i seguenti attributi: [attributi Common CloudWatch Logs](#cwl-common-attributes)

Dettagli Lambda  
Dettagli della funzione Lambda.  
+ LambdaARN

  ARN della funzione Lambda.
+ Fonte ARN

  L'ARN della configurazione di dominio.

authorizedResponderArn  
L'ARN del risponditore di autorizzazione, se ce n'è uno configurato nella configurazione del dominio.

## Voci del registro Device Shadow
<a name="device-shadow-logs"></a>

Il servizio AWS IoT Device Shadow genera voci di registro per i seguenti eventi:

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

### DeleteThingShadow voce di registro
<a name="log-shadow-delete-thing-shadow"></a>

Il servizio Device Shadow genera una voce log con un `eventType` di `DeleteThingShadow` quando viene ricevuta una richiesta di eliminazione di una copia shadow di un dispositivo.

#### DeleteThingShadow esempio di immissione nel 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"
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `DeleteThingShadow` registro contengono i seguenti attributi:

deviceShadowName  
Nome della copia shadow da aggiornare.

protocol  
Il protocollo usato per effettuare la richiesta. I valori validi sono `MQTT` e `HTTP`. 

topicName  
Nome dell'argomento in cui la richiesta è stata pubblicata. 

### GetThingShadow voce di registro
<a name="log-shadow-get-thing-shadow"></a>

Il servizio Device Shadow genera una voce log `eventType` di `GetThingShadow` quando viene ricevuta una richiesta per una copia shadow.

#### GetThingShadow esempio di immissione nel 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"
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `GetThingShadow` registro contengono i seguenti attributi:

deviceShadowName  
Nome della copia shadow richiesta.

protocol  
Il protocollo usato per effettuare la richiesta. I valori validi sono `MQTT` e `HTTP`. 

topicName  
Nome dell'argomento in cui la richiesta è stata pubblicata. 

### UpdateThingShadow voce di registro
<a name="log-shadow-update-thing-shadow"></a>

Il servizio Device Shadow genera una voce log con un `eventType` di `UpdateThingShadow` quando viene ricevuta una richiesta di aggiornamento di una copia shadow di un dispositivo.

#### UpdateThingShadow esempio di immissione nel 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"
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `UpdateThingShadow` registro contengono i seguenti attributi:

deviceShadowName  
Nome della copia shadow da aggiornare.

protocol  
Il protocollo usato per effettuare la richiesta. I valori validi sono `MQTT` e `HTTP`. 

topicName  
Nome dell'argomento in cui la richiesta è stata pubblicata. 

## Voci di registro del motore delle regole
<a name="rule-engine-logs"></a>

Il motore AWS IoT delle regole genera i log per i seguenti eventi:

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

### FunctionExecution voce di registro
<a name="log-rules-fn-exec"></a>

Il motore di regole genera una voce log `eventType` di `FunctionExecution` quando una query SQL di una regola chiama una funzione esterna. Una funzione esterna viene chiamata quando l'azione di una regola effettua una richiesta HTTP a AWS IoT o a un altro servizio Web (ad esempio, chiamando `get_thing_shadow` o`machinelearning_predict`). 

#### FunctionExecution esempio di immissione nel 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"
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `FunctionExecution` registro contengono i seguenti attributi:

clientId  
 `N/A` per i log `FunctionExecution`.

principalId  
ID dell'entità principale da cui proviene la richiesta.

risorse  
Raccolta di risorse usate dalle operazioni della regola.

ruleName  
Nome della regola corrispondente.

topicName  
Nome dell'argomento sottoscritto. 

### RuleExecution voce di registro
<a name="log-rules-rule-ex"></a>

Quando il motore AWS IoT delle regole attiva l'azione di una regola, genera una voce di `RuleExecution` registro.

#### RuleExecution esempio di immissione di 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 con esempio di inserimento di log in batch
<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
    }
}
```

Oltre a [attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di registro `RuleExecution` contengono i seguenti attributi:

clientId  
ID del client da cui proviene la richiesta.

principalId  
ID dell'entità principale da cui proviene la richiesta.

risorse  
Raccolta di risorse usate dalle operazioni della regola.

ruleAction  
Il nome dell'operazione attivata.

ruleName  
Nome della regola corrispondente.

topicName  
Nome dell'argomento sottoscritto. 

### RuleMatch voce di registro
<a name="log-rules-rule-match"></a>

Il motore AWS IoT delle regole genera una voce di registro con un `eventType` di `RuleMatch` quando il broker di messaggi riceve un messaggio che corrisponde a una regola.

#### RuleMatch esempio di immissione di log
<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"
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `RuleMatch` registro contengono i seguenti attributi:

clientId  
ID del client da cui proviene la richiesta.

principalId  
ID dell'entità principale da cui proviene la richiesta.

ruleName  
Nome della regola corrispondente.

topicName  
Nome dell'argomento sottoscritto. 

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

Quando un'esecuzione viene limitata, il motore delle AWS IoT regole genera una voce di registro con un `eventType` of. `RuleExecutionThrottled` 

#### RuleExecutionThrottled esempio di immissione di 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"
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `RuleExecutionThrottled` registro contengono i seguenti attributi:

clientId  
ID del client da cui proviene la richiesta.

details  
Una breve spiegazione dell'errore.

principalId  
ID dell'entità principale da cui proviene la richiesta.

motivo  
La stringa "RuleExecutionThrottled».

ruleName  
Nome della regola da attivare.

topicName  
Il nome dell'argomento che è stato pubblicato.

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

Quando il motore AWS IoT delle regole non riesce a trovare una regola con un determinato nome, genera una voce di registro con un `eventType` of`RuleNotFound`. 

#### RuleNotFound esempio di immissione di 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"
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `RuleNotFound` registro contengono i seguenti attributi:

clientId  
ID del client da cui proviene la richiesta.

details  
Una breve spiegazione dell'errore.

principalId  
ID dell'entità principale da cui proviene la richiesta.

motivo  
La stringa "RuleNotFound».

ruleName  
Il nome della regola che non è stato possibile trovare.

topicName  
Il nome dell'argomento che è stato pubblicato.

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

Quando il motore AWS IoT delle regole inizia ad attivare l'azione di una regola, genera una voce di registro con un `eventType` of`StartingRuleExecution`. 

#### StartingRuleExecution esempio di immissione di 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"
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `rule-` registro contengono i seguenti attributi:

clientId  
ID del client da cui proviene la richiesta.

principalId  
ID dell'entità principale da cui proviene la richiesta.

ruleAction  
Il nome dell'operazione attivata.

ruleName  
Nome della regola corrispondente.

topicName  
Nome dell'argomento sottoscritto. 

## Voci del registro processi
<a name="job-logs"></a>

Il servizio AWS IoT Job genera voci di registro per i seguenti eventi. I log vengono generati quando viene ricevuta una richiesta MQTT o HTTP dal dispositivo.

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

### DescribeJobExecution voce di registro
<a name="log-job-describe-job-ex"></a>

Il servizio AWS IoT Jobs genera una voce di registro con un `eventType` di `DescribeJobExecution` quando il servizio riceve una richiesta per descrivere l'esecuzione di un processo.

#### DescribeJobExecution esempio di immissione di 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."
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `GetJobExecution` registro contengono i seguenti attributi:

clientId  
ID del client da cui proviene la richiesta.

clientToken  
Identificatore univoco con distinzione tra maiuscole e minuscole per assicurare l'idempotenza della richiesta. Per ulteriori informazioni, consulta [Come assicurare l'idempotenza](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). 

details  
Ulteriori informazioni dal servizio Jobs.

jobId  
Job ID per l'esecuzione del processo.

protocol  
Il protocollo usato per effettuare la richiesta. I valori validi sono `MQTT` e `HTTP`. 

topicName  
Argomento usato per effettuare la richiesta. 

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

Il servizio AWS IoT Jobs genera una voce di registro con un `eventType` di `GetPendingJobExecution` quando il servizio riceve una richiesta di esecuzione del lavoro.

#### GetPendingJobExecution esempio di immissione di 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."
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `GetPendingJobExecution` registro contengono i seguenti attributi:

clientId  
ID del client da cui proviene la richiesta.

clientToken  
Identificatore univoco con distinzione tra maiuscole e minuscole per assicurare l'idempotenza della richiesta. Per ulteriori informazioni, consulta [Come assicurare l'idempotenza](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). 

details  
Ulteriori informazioni dal servizio Jobs.

protocol  
Il protocollo usato per effettuare la richiesta. I valori validi sono `MQTT` e `HTTP`. 

topicName  
Nome dell'argomento sottoscritto. 

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

Il servizio AWS IoT Jobs genera una voce di registro con `entryType` `ReportFinalJobExecutionCount` l'indicazione del completamento di un lavoro.

#### ReportFinalJobExecutionCount esempio di immissione di 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"
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `ReportFinalJobExecutionCount` registro contengono i seguenti attributi:

details  
Ulteriori informazioni dal servizio Jobs.

jobId  
Job ID per l'esecuzione del processo.

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

Quando riceve una richiesta per avviare la successiva esecuzione del processo in sospeso, il servizio AWS IoT Jobs genera una voce di registro con un `eventType` of`StartNextPendingJobExecution`. 

#### StartNextPendingJobExecution esempio di immissione di 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."
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `StartNextPendingJobExecution` registro contengono i seguenti attributi:

clientId  
ID del client da cui proviene la richiesta.

clientToken  
Identificatore univoco con distinzione tra maiuscole e minuscole per assicurare l'idempotenza della richiesta. Per ulteriori informazioni, consulta [Come assicurare l'idempotenza](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). 

details  
Ulteriori informazioni dal servizio Jobs.

protocol  
Il protocollo usato per effettuare la richiesta. I valori validi sono `MQTT` e `HTTP`. 

topicName  
Argomento usato per effettuare la richiesta. 

### UpdateJobExecution voce di registro
<a name="log-job-update-job-ex"></a>

Il servizio AWS IoT Jobs genera una voce di registro con un `eventType` di `UpdateJobExecution` quando il servizio riceve una richiesta di aggiornamento dell'esecuzione di un lavoro.

#### UpdateJobExecution esempio di immissione di 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."
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `UpdateJobExecution` registro contengono i seguenti attributi:

clientId  
ID del client da cui proviene la richiesta.

clientToken  
Identificatore univoco con distinzione tra maiuscole e minuscole per assicurare l'idempotenza della richiesta. Per ulteriori informazioni, consulta [Come assicurare l'idempotenza](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). 

details  
Ulteriori informazioni dal servizio Jobs.

jobId  
Job ID per l'esecuzione del processo.

protocol  
Il protocollo usato per effettuare la richiesta. I valori validi sono `MQTT` e `HTTP`. 

topicName  
Argomento usato per effettuare la richiesta. 

versionNumber  
Versione dell'esecuzione del processo.

## Voci del registro di provisioning dei dispositivi
<a name="provision-logs"></a>

Il servizio AWS IoT Device Provisioning genera registri per i seguenti eventi. 

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

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

Il servizio AWS IoT Device Provisioning genera una voce di registro con l'indicazione `eventType` di `GetDeviceCredential` quando un client chiama`GetDeviceCredential`. 



#### GetDeviceCredentials esempio di immissione di 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."
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `GetDeviceCredentials` registro contengono i seguenti attributi:

details  
Una breve spiegazione dell'errore.

deviceCertificateId  
L'ID del certificato del dispositivo.

### ProvisionDevice voce di registro
<a name="log-provision-provision-device"></a>

Il servizio AWS IoT Device Provisioning genera una voce di registro con l'indicazione `eventType` di `ProvisionDevice` quando un client chiama`ProvisionDevice`. 

#### ProvisionDevice esempio di immissione di 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."
 }
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `ProvisionDevice` registro contengono i seguenti attributi:

details  
Una breve spiegazione dell'errore.

deviceCertificateId  
L'ID del certificato del dispositivo.

provisioningTemplateName  
Il nome del modello dell'artefatto di provisioning.

## Voci del registro del gruppo di oggetti dinamici
<a name="dynamic-group-logs"></a>

AWS IoT I Dynamic Thing Groups generano log per il seguente evento.

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

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

Quando non AWS IoT è stato possibile aggiungere un elemento ai gruppi dinamici specificati, genera una voce di registro con un `eventType` of`AddThingToDynamicThingGroupsFailed`. Questo accade se un oggetto soddisfaceva i criteri per essere inserito nel gruppo di oggetti dinamico; tuttavia, non è stato possibile aggiungerlo al gruppo dinamico o è stato rimosso dal gruppo dinamico. Questo può accadere perché:
+ L'oggetto appartiene già al numero massimo di gruppi.
+ L'opzione **--override-dynamic-groups** è stata utilizzata per aggiungere l'oggetto a un gruppo di oggetti statico. È stato rimosso da un gruppo di oggetti dinamico per rendere ciò possibile.

Per ulteriori informazioni, consulta [Limitazioni e conflitti del gruppo di oggetti dinamico](dynamic-thing-groups.md#dynamic-thing-group-limitations). 

#### AddThingToDynamicThingGroupsFailed esempio di immissione di registro
<a name="log-dynthing-add-thing-to-dynamic-thing-groups-failed.example"></a>

Questo esempio mostra la voce di log di un errore `AddThingToDynamicThingGroupsFailed`. In questo esempio, *TestThing*soddisfaceva i criteri per rientrare nei gruppi di oggetti dinamici elencati in`dynamicThingGroupNames`, ma non poteva essere aggiunto a tali gruppi dinamici, come descritto in`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."
}
```

Oltre a[attributi Common CloudWatch Logs](#cwl-common-attributes), le voci di `AddThingToDynamicThingGroupsFailed` registro contengono i seguenti attributi:

dynamicThingGroupNomi  
Un array dei gruppi di oggetti dinamici a cui non è stato possibile aggiungere l'oggetto.

motivo  
Il motivo per il quale non è stato possibile aggiungere l'oggetto ai gruppi di oggetti dinamici.

thingName  
Il nome dell'oggetto che non è stato possibile aggiungere a un gruppo di oggetti dinamico.

## Voci di registro di indicizzazione del parco istanze
<a name="fleet-indexing-logs"></a>

AWS IoT l'indicizzazione della flotta genera voci di registro per i seguenti eventi.

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

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

Viene elaborato un massimo di 25 shadow denominate per oggetto per termini di query che non sono specifici dell'origine dei dati nei gruppi dinamici. Quando questo limite viene violato, il tipo di evento `NamedShadowCountForDynamicGroupQueryLimitExceeded` verrà emesso.

#### NamedShadowCountForDynamicGroupQueryLimitExceeded esempio di immissione nel registro
<a name="log-named-shadow-dynamic-group.example"></a>

Questo esempio mostra la voce di registro per un errore `NamedShadowCountForDynamicGroupQueryLimitExceeded`. In questo esempio i risultati di `DynamicGroup`, basati su tuti i valori, possono essere imprecisi come descritto nel 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."
}
```

## attributi Common CloudWatch Logs
<a name="cwl-common-attributes"></a>

Tutte le voci di registro CloudWatch di Logs includono i seguenti attributi:

accountId  
Il tuo Account AWS ID.

eventType  
Tipo di evento per cui il log è stato generato. Il valore del tipo di evento dipende dall'evento che ha generato la voce di registro. Ogni descrizione della voce di registro include il valore di `eventType` per tale voce di registro.

logLevel  
Livello di log usato. Per ulteriori informazioni, consulta [Livelli di log](configure-logging.md#log-level).

status  
Stato della richiesta.

timestamp  
Timestamp UTC leggibile relativo al momento in cui il client si è connesso al broker di messaggi AWS IoT .

traceId  
Identificatore generato in modo casuale che può essere usato per correlare tutti i log per una richiesta specifica.

# Carica i log lato dispositivo su Amazon CloudWatch
<a name="upload-device-logs-to-cloudwatch"></a>

Puoi caricare log storici lato dispositivo su CloudWatch Amazon per monitorare e analizzare l'attività di un dispositivo sul campo. I log lato dispositivo possono includere file di log del sistema, dell'applicazione e del dispositivo. [Questo processo utilizza un parametro di azione CloudWatch Logs rules per pubblicare i log lato dispositivo in un gruppo di log definito dal cliente.](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html) 

## Come funziona
<a name="upload-process-overview"></a>

Il processo inizia quando un AWS IoT dispositivo invia messaggi MQTT contenenti file di registro formattati a un argomento. AWS IoT Una AWS IoT regola monitora l'argomento del messaggio e invia i file di registro a un gruppo di CloudWatch registri definito dall'utente. È quindi possibile rivedere e analizzare le informazioni.

**Topics**
+ [Argomenti MQTT](#upload-mqtt-topics-overview)
+ [Operazione delle regole](#upload-rule-action-overview)

### Argomenti MQTT
<a name="upload-mqtt-topics-overview"></a>

Scegli uno spazio dei nomi dell'argomento MQTT che utilizzerai per pubblicare i log. Ti consigliamo di utilizzare questo formato per lo spazio degli argomenti comune, `$aws/rules/things/thing_name/logs`, e questo formato per argomenti degli errori, `$aws/rules/things/thing_name/logs/errors`. La struttura di denominazione per i log e gli argomenti degli errori è consigliata, ma non obbligatoria. For ulteriori informazioni, consulta [Progettazione di argomenti MQTT per AWS IoT Core](https://docs.aws.amazon.com/whitepapers/latest/designing-mqtt-topics-aws-iot-core/designing-mqtt-topics-aws-iot-core.html). 

Utilizzando lo spazio tematico comune consigliato, si utilizzano argomenti riservati AWS IoT di Basic Ingest. AWS IoT Basic Ingest invia in modo sicuro i dati del dispositivo ai AWS servizi supportati dalle azioni delle regole. AWS IoT Rimuove il broker di publish/subscribe messaggi dal percorso di inserimento, rendendolo più conveniente. Per ulteriori informazioni, consulta [Riduzione dei costi di messaggistica con Basic Ingest](https://docs.aws.amazon.com/iot/latest/developerguide/iot-basic-ingest.html). 

Se si utilizza batchMode per caricare file di log, i messaggi devono seguire un formato specifico che include un timestamp UNIX e un messaggio. [Per ulteriori informazioni, consultate l'argomento [Requisiti del formato dei messaggi MQTT per BatchMode](https://docs.aws.amazon.com/iot/latest/developerguide/cloudwatch-logs-rule-action.html#cloudwatch-logs-rule-action-message-format) all'interno dell'azione della regola Logs. CloudWatch ](https://docs.aws.amazon.com/iot/latest/developerguide/cloudwatch-logs-rule-action.html) 

### Operazione delle regole
<a name="upload-rule-action-overview"></a>

Quando AWS IoT riceve i messaggi MQTT dai dispositivi client, una AWS IoT regola monitora l'argomento definito dal cliente e pubblica i contenuti in un gruppo di log definito dall'utente. CloudWatch Questo processo utilizza un'azione della regola CloudWatch Logs per monitorare MQTT per batch di file di registro. Per ulteriori informazioni, vedere l'azione della regola [CloudWatch AWS IoT Logs](https://docs.aws.amazon.com/iot/latest/developerguide/cloudwatch-logs-rule-action.html).

#### Modalità batch
<a name="upload-batch-mode-overview"></a>

 `batchMode`è un parametro booleano all'interno dell'azione della regola AWS IoT CloudWatch Logs. Questo parametro è facoltativo ed è disattivato (`false`) per impostazione predefinita. Per caricare i file di registro lato dispositivo in batch, è necessario attivare questo parametro () `true` quando si crea la regola. AWS IoT [Per ulteriori informazioni, consulta [CloudWatch Log nella sezione Azioni delle](https://docs.aws.amazon.com/iot/latest/developerguide/cloudwatch-logs-rule-action.html) regole.AWS IoT](https://docs.aws.amazon.com/iot/latest/developerguide/iot-rule-actions.html)

# Caricamento dei log lato dispositivo utilizzando le regole AWS IoT
<a name="uploading-logs-rules-action-procedure"></a>

Puoi utilizzare il motore AWS IoT delle regole per caricare i record di registro dai file di registro esistenti sul dispositivo (log di sistema, applicazione e dispositivo-client) su Amazon. CloudWatch Quando i log lato dispositivo vengono pubblicati su un argomento MQTT, l'azione Logs rules trasferisce i messaggi in Logs. CloudWatch CloudWatch Questo processo descrive come caricare i log dei dispositivi in batch utilizzando il parametro `batchMode` di azione delle regole attivato (impostato su `true`). 

Per iniziare a caricare i log lato dispositivo su, completa i seguenti prerequisiti. CloudWatch

## Prerequisiti
<a name="uploading-logs-rules-prerequisites"></a>

Prima di iniziare, esegui queste attività:
+ Crea almeno un dispositivo IoT di destinazione registrato AWS IoT Core come AWS IoT oggetto. Per ulteriori informazioni, consulta [Crea un oggetto](https://docs.aws.amazon.com/iot/latest/developerguide/create-iot-resources.html#create-aws-thing). 
+ Determina lo spazio degli argomenti MQTT per l'inserimento e gli errori. Per ulteriori informazioni sugli argomenti MQTT e sulle convenzioni di denominazione consigliate, consulta la sezione [Argomenti [Argomenti 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) in [Upload device-side](https://docs.aws.amazon.com/iot/latest/developerguide/upload-device-logs-to-cloudwatch.html) logs to Amazon. CloudWatch 

[Per ulteriori informazioni su questi prerequisiti, consulta Caricare i log lato dispositivo su. CloudWatch](https://docs.aws.amazon.com/iot/latest/developerguide/upload-device-logs-to-cloudwatch) 

## CloudWatch Creazione di un gruppo di log
<a name="uploading-logs-rules-setup-log-group"></a>

Per creare un gruppo di CloudWatch log, completare i seguenti passaggi. Scegliete la scheda appropriata a seconda che preferiate eseguire i passaggi tramite AWS Command Line Interface (AWS CLI). Console di gestione AWS 

------
#### [ Console di gestione AWS ]

**Per creare un gruppo di CloudWatch log utilizzando Console di gestione AWS**

1. Aprire Console di gestione AWS e accedere a [CloudWatch](https://console.aws.amazon.com//cloudwatch). 

1. Nel pannello di navigazione, scegli **Logs** (Log), quindi **Log groups** (Gruppi di log). 

1. Scegliere **Crea gruppo di log**. 

1. Aggiorna il campo **Log group name** (Nome del gruppo di log) e, facoltativamente, aggiorna i campi **Retention setting** (Impostazione conservazione).

1. Scegli **Create** (Crea). 

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

**Per creare un gruppo di CloudWatch log utilizzando il AWS CLI**

1. Per creare il gruppo di log, esegui il seguente comando. Per ulteriori informazioni, vedere ` [create-log-group](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/logs/create-log-group.html) ` nella Guida ai comandi AWS CLI v2.

   Sostituisci il nome del gruppo di log nell'esempio (`uploadLogsGroup`) con il tuo nome preferito.

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

1. Per confermare che il gruppo di log è stato creato correttamente, esegui il seguente comando.

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

   Output di esempio:

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

------

## Creazione di una regola dell'argomento
<a name="uploading-logs-rules-setup-topic-rule"></a>

Per creare una AWS IoT regola, completa i passaggi seguenti. Scegliete la scheda appropriata a seconda che preferiate eseguire i passaggi tramite AWS Command Line Interface (AWS CLI). Console di gestione AWS 

------
#### [ Console di gestione AWS ]

**Per creare una regola tematica utilizzando Console di gestione AWS**

1. Apri l'hub delle regole.

   1. Apri la Console di gestione AWS e accedi a [AWS IoT](https://console.aws.amazon.com/iot). 

   1. Nella barra di navigazione, scegli **Message routing** (Instradamento dei messaggi) e quindi **Rules** (Regole). 

   1. Scegli **Crea regola**. 

1. Inserisci le proprietà della regola.

   1. Inserisci un **nome della regola** alfanumerico. 

   1. (Facoltativo) Compila i campi **Rule description** (Descrizione regola) e **Tags** (Tag). 

   1. Scegli **Next (Successivo)**. 

1. Inserisci un'istruzione SQL.

   1. Inserisci un'istruzione SQL utilizzando l'argomento MQTT che hai definito per l'acquisizione.

      Ad esempio, `SELECT * FROM '$aws/rules/things/thing_name/logs' ` 

   1. Scegli **Next (Successivo)**. 

1. Inserisci le azioni delle regole.

   1. Nel menu **Azione 1**, scegli **CloudWatchregistri.** 

   1. Scegli l'opzione **Log group name** (Nome del gruppo di log) quindi seleziona il gruppo di log che hai creato.

   1. Seleziona **Use batch mode** (Utilizza la modalità batch). 

   1. Specifica il ruolo IAM per la regola.

      Se hai già un ruolo IAM per la regola, procedi nel seguente modo.

      1. Nel menu **IAM role** (Ruolo IAM), scegli il tuo ruolo IAM.

      Se non hai già un ruolo IAM per la regola, procedi nel seguente modo.

      1. Scegli **Create new role** (Crea nuovo ruolo). 

      1. In **Role name** (Nome ruolo), inserisci un nome univoco e scegli **Create** (Crea). 

      1. Conferma che il nome del ruolo IAM sia corretto nel campo **IAM role** (Ruolo IAM).

   1. Scegli **Next (Successivo)**. 

1. Rivedi la configurazione del modello.

   1. Rivedi le impostazioni del modello di processo per verificare che siano corrette.

   1. Al termine, selezionare **Create (Crea)**. 

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

**Per creare un ruolo IAM e una regola tematica utilizzando il AWS CLI**

1. Crea un ruolo IAM che conceda i diritti sulla AWS IoT regola.

   1. Creare una policy IAM

      Per creare una policy IAM, esegui il comando seguente. Assicurati di aggiornare il valore del parametro `policy-name`. Per ulteriori informazioni, consulta la Guida [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)ai comandi della AWS CLI versione v2.
**Nota**  
Se stai utilizzando un sistema operativo Microsoft Windows, potrebbe essere necessario sostituire l'indicatore di fine riga (\$1) con un segno di spunta (`) o un altro carattere.

      ```
      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. Copia l'ARN della policy dal tuo output in un editor di testo.

      Output di esempio:

      ```
      {
          "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. Crea un ruolo IAM e una policy di attendibilità.

      Per creare una policy IAM, esegui il comando seguente. Assicurati di aggiornare il valore del parametro `role-name`. Per ulteriori informazioni, vedere [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)nella Guida ai comandi 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. Collega la policy IAM al ruolo.

      Per creare una policy IAM, esegui il comando seguente. Assicurati di aggiornare i valori dei parametri `role-name` e `policy-arn`. Per ulteriori informazioni, vedere [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)nella Guida ai comandi AWS CLI v2.

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

   1. Rivedi il ruolo.

      Per confermare che ruolo IAM sia stato creato correttamente, esegui il seguente comando. Assicurati di aggiornare il valore del parametro `role-name`. Per ulteriori informazioni, vedere [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)nella Guida ai comandi AWS CLI v2.

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

      Output di esempio:

      ```
      {
          "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. Crea una regola AWS IoT tematica in. AWS CLI

   1. Per creare una regola AWS IoT tematica, esegui il comando seguente. Assicurati di aggiornare i valori dell'`sql`istruzione `--rule-name` `description``roleARN `, e `logGroupName` dei parametri. Per ulteriori informazioni, consultate la [create-topic-rule](https://awscli.amazonaws.com/v2/documentation/api/2.0.34/reference/iot/create-topic-rule.html)Guida ai comandi della AWS CLI versione 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. Per confermare che la regola è stata creata correttamente, esegui il seguente comando. Assicurati di aggiornare il valore del parametro `role-name`. Per ulteriori informazioni, vedere [get-topic-rule](https://awscli.amazonaws.com/v2/documentation/api/2.0.34/reference/iot/get-topic-rule.html)nella Guida ai comandi AWS CLI v2.

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

      Output di esempio:

      ```
      {
          "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"
          }
      }
      ```

------

## Invio di log lato dispositivo a AWS IoT
<a name="uploading-logs-rules-start-messages"></a>

**Per inviare registri lato dispositivo a AWS IoT**

1. A cui inviare i log cronologici AWS IoT, comunica con i tuoi dispositivi per garantire quanto segue.
   + Le informazioni di log vengono inviate allo spazio dei nomi degli argomenti corretto come specificato nella sezione *Prerequisiti* di questa procedura.

     Ad esempio, `$aws/rules/things/thing_name/logs` 
   + Il payload del messaggio MQTT è formattato correttamente. Per ulteriori informazioni sull'argomento MQTT e sulla convenzione di denominazione consigliata, consultate la sezione all'[Argomenti MQTT](upload-device-logs-to-cloudwatch.md#upload-mqtt-topics-overview)interno. [Carica i log lato dispositivo su Amazon CloudWatch](upload-device-logs-to-cloudwatch.md)

1. Verificare che i messaggi MQTT vengano ricevuti all'interno del AWS IoT client MQTT.

   1. Apri Console di gestione AWS e vai a. [AWS IoT](https://console.aws.amazon.com/iot/home) 

   1. Per visualizzare il **client di test MQTT**, nella barra di navigazione, scegliete **Test**, **MQTT test** client. 

   1. Per **Sottoscrivi a un argomento**, **Filtro argomento**, inserite lo spazio dei nomi dell'*argomento*. 

   1. Scegli **Abbonati**. 

      I messaggi MQTT vengono visualizzati nella tabella **Subscriptions** (Sottoscrizioni) e **Topic** (Argomento), come illustrato di seguito. La visualizzazione di questi messaggi può richiedere fino a cinque minuti.   
![\[Messaggi MQTT visualizzati nella tabella Sottoscrizioni e argomenti.\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/images/uploading-logs-rules-start-messages-sample-mqtt.png)

## Visualizzazione dei dati di log
<a name="uploading-logs-rules-review-cloudwatch"></a>

**Per esaminare i record di registro in Logs CloudWatch**

1. Apri e Console di gestione AWS accedi a. [CloudWatch](https://console.aws.amazon.com/cloudwatch) 

1. Nella barra di navigazione, scegli **Logs, Logs** **Insights.** 

1. Nel menu **Seleziona gruppi di log**, scegli il gruppo di log specificato nella AWS IoT regola.

1. Nella pagina **Logs insights** (Informazioni dettagliate sui log), scegli **Run query** (Esegui query). 

# Registrazione delle chiamate AWS IoT API utilizzando AWS CloudTrail
<a name="iot-using-cloudtrail"></a>

AWS IoT è integrato con AWS CloudTrail, un servizio che fornisce un registro delle azioni intraprese da un utente, ruolo o AWS servizio in AWS IoT. CloudTrail acquisisce tutte le chiamate API relative AWS IoT agli eventi, incluse le chiamate dalla AWS IoT console e le chiamate in codice a. AWS IoT APIs Se crei un trail, puoi abilitare la distribuzione continua di CloudTrail eventi a un bucket Amazon S3, inclusi gli eventi per. AWS IoT Se non configuri un percorso, puoi comunque visualizzare gli eventi più recenti nella CloudTrail console nella cronologia degli **eventi**. Utilizzando le informazioni raccolte da CloudTrail, puoi determinare a quale richiesta è stata inviata AWS IoT, l'indirizzo IP da cui è stata effettuata, chi ha effettuato la richiesta, quando è stata effettuata e altri dettagli.

Per ulteriori informazioni CloudTrail, consulta la [Guida AWS CloudTrail per l'utente](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/). 

## AWS IoT informazioni in CloudTrail
<a name="aws-iot-info-in-cloudtrail"></a>

CloudTrail è abilitato sul tuo account al Account AWS momento della creazione dell'account. Quando si verifica un'attività in AWS IoT, tale attività viene registrata in un CloudTrail evento insieme ad altri eventi AWS di servizio nella **cronologia degli eventi**. Puoi visualizzare, cercare e scaricare eventi recenti in Account AWS. Per ulteriori informazioni, consulta [Visualizzazione degli eventi con la cronologia degli CloudTrail eventi](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html). 

Per una registrazione continua degli eventi nell' Account AWS che includa gli eventi per AWS IoT, crea un trail. Un trail consente di CloudTrail inviare file di log a un bucket Amazon S3. Per impostazione predefinita, quando crei un percorso nella console, il percorso si applica a tutti i Regione AWS file. Il trail registra gli eventi di tutti Regione AWS i file della AWS partizione e consegna i file di log al bucket Amazon S3 specificato. Puoi configurare altri AWS servizi per analizzare ulteriormente e agire in base ai dati sugli eventi raccolti nei log. CloudTrail Per ulteriori informazioni, consulta: 
+  [Panoramica della creazione di un trail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html) 
+  [CloudTrail Servizi e integrazioni supportati](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html#cloudtrail-aws-service-specific-topics-integrations) 
+  [Configurazione delle notifiche Amazon SNS per CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/getting_notifications_top_level.html) 
+  [Ricezione di file di CloudTrail registro da più regioni](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) e [ricezione di file di CloudTrail registro da](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html) più account 

**Nota**  
AWS IoT le azioni del piano dati (lato dispositivo) non vengono registrate da CloudTrail. Utilizzare CloudWatch per monitorare queste azioni.

In generale, le azioni AWS IoT del piano di controllo che apportano modifiche vengono registrate da CloudTrail. Le chiamate come **CreateThing**e **UpdateCertificate**lasciano CloudTrail immissioni, mentre le chiamate come **ListThings**e non **ListTopicRules**lo fanno. **CreateKeysAndCertificate**

Ogni evento o voce di log contiene informazioni sull’utente che ha generato la richiesta. Le informazioni di identità consentono di determinare quanto segue: 
+ Se la richiesta è stata effettuata con le credenziali dell'utente IAM o root.
+ Se la richiesta è stata effettuata con le credenziali di sicurezza temporanee per un ruolo o un utente federato.
+ Se la richiesta è stata effettuata da un altro AWS servizio.

Per ulteriori informazioni, consulta [Elemento CloudTrail userIdentity](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html). 

AWS IoT le azioni sono documentate nell'[AWS IoT API Reference.](https://docs.aws.amazon.com/iot/latest/apireference/) Wireless AWS IoT le azioni sono documentate nell'[Wireless AWS IoT API](https://docs.aws.amazon.com/iot-wireless/latest/apireference/welcome.html) Reference. 

## Comprendere le AWS IoT voci dei file di registro
<a name="understanding-aws-iot-entries"></a>

Un trail è una configurazione che consente la distribuzione di eventi come file di log in un bucket Amazon S3 specificato dall'utente. CloudTrail i file di registro contengono una o più voci di registro. Un evento rappresenta una singola richiesta proveniente da qualsiasi fonte e include informazioni sull'azione richiesta, la data e l'ora dell'azione, i parametri della richiesta e così via. CloudTrail i file di registro non sono una traccia ordinata dello stack delle chiamate API pubbliche, quindi non vengono visualizzati in un ordine specifico. 

L'esempio seguente mostra una voce di CloudTrail registro che illustra l'`AttachPolicy`azione.

```
{
    "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":""
}
```