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à.
Configurare la registrazione AWS IoT
È 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.
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 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 IoTPer informazioni sulla registrazione e il monitoraggio lato dispositivo, consulta Caricare i log lato dispositivo su. CloudWatch
Configurazione dell'accesso V2 AWS IoT
Determinazione della versione di registrazione
L'LoggingOptions API GetV2 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
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
È possibile migrare alla registrazione V2 utilizzando l'API SetV2 LoggingOptions tramite la CLI o l'SDK. AWS
Configurare il ruolo e il criterio di registrazione
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
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.
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
Per creare un ruolo di registrazione, apri la finestra di dialogo Roles hub of the IAM console (Hub ruoli della console IAM)
-
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.
-
Nella pagina Add permissions (Aggiungi autorizzazioni), vengono visualizzate le policy che sono automaticamente collegate al ruolo di servizio. Scegli Next (Successivo).
-
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
I seguenti documenti politici forniscono la politica relativa al ruolo e la politica di fiducia a cui è AWS IoT possibile inviare le 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}
, che devi sostituire con i tuoi valori.${accountId}
-
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 di autorizzazioni insufficienti per i ruoli IAM. In questo caso, controlla le metriche di CloudWatch registrazione per esaminare e risolvere gli errori.
Configura la registrazione nella (console) AWS IoT
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:
-
Accedi alla AWS IoT console. Per ulteriori informazioni, consulta Apri la console AWS IoT.
-
Nel riquadro di navigazione a sinistra, scegli Registri (in precedenza una sezione in Impostazioni).
-
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.
-
In Registrazione a livello di account, seleziona Gestisci la registrazione a livello di account per effettuare gli aggiornamenti.
-
Seleziona la casella di controllo «Abilita registrazione» a cui iniziare a inviare i log. CloudWatch Se l'opzione «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.
-
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.
-
Scegliete il livello di registro predefinito che corrisponde al livello di dettaglio 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.
-
Scegliete Aggiorna registrazione per salvare le modifiche.
-
-
La registrazione a livello di evento consente di acquisire selettivamente 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.
-
Nella sezione Registrazione a livello di evento, seleziona Gestisci registrazione a livello di evento per effettuare gli aggiornamenti.
-
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.
-
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.
-
Fai clic su Update Logging per applicare le modifiche o scegli Annulla per eliminarle.
-
-
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 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.
-
Seleziona Aggiungi sostituzioni specifiche della risorsa nella sezione Sostituzioni specifiche della risorsa.
-
Scegliete una destinazione del log: Thing group, Source IP, Client ID o Principal ID.
-
Immettete il valore di destinazione del log corrispondente per il tipo di destinazione selezionato.
-
Seleziona il livello di registro desiderato dal menu a discesa nella sezione Livello di registro specifico della risorsa.
-
Fai clic su Invia per aggiungere l'override o su Annulla per annullare le modifiche.
-
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 per ulteriori informazioni sulla visualizzazione delle voci di registro.
Configurazione dell'accesso a livello di account ed evento ( AWS IoT CLI)
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 acquisisce informazioni di registrazione a livello di evento, come gli eventi di autenticazione e autorizzazione o la 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 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 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
-
Usa il comando set-v2-logging-options
per impostare le opzioni di logging per l'account. aws iot set-v2-logging-options \ --event-configurationsevent-configuration-list\ --role-arnlogging-role-arn\ --default-log-levellog-leveldove:
- --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 da usare. I valori validi sono:
ERROR,,WARNINFO,DEBUGo.DISABLEDDefault-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\"}]" -
Utilizzare il comando get-v2-logging-options
per ottenere le opzioni di registrazione correnti. aws iot get-v2-logging-options \ --verbosedove:
- --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 per ulteriori informazioni sulla visualizzazione delle voci di registro.
Nota
AWS IoT continua a supportare i comandi precedenti (set-logging-optionseget-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" 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
Questa sezione descrive come configurare le sostituzioni specifiche della risorsa utilizzando la CLI. AWS IoT Le sostituzioni specifiche per una 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 per una 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 del 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.
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 prima di continuare.
L'entità principale utilizzata per effettuare la chiamata API deve avere Passaggio delle autorizzazioni ai ruoli 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
-
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
-
Usa set-v2-logging-level
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-levellog_level- --log-target
-
Il tipo e il nome della risorsa per cui stai configurando il logging. Il valore
targetTypedeve essere uno dei seguenti:THING_GROUP|CLIENT_ID|SOURCE_IP|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-levellog_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.
-
Utilizzare il comando list-v2-logging-levels
per elencare i livelli di registrazione attualmente configurati. aws iot list-v2-logging-levels -
Utilizza il comando delete-v2-logging-level
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-typedeve essere uno dei seguenti:THING_GROUP|CLIENT_ID|SOURCE_IP|PRINCIPAL_ID. - --target-name
-
Nome del gruppo di oggetti per il quale rimuovere il livello di registrazione.
Livelli di log
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.