Come posso configurare manualmente i livelli di registrazione per risorse specifiche in AWS IoT Core?

5 minuti di lettura
0

Voglio configurare manualmente la registrazione specifica delle risorse per i miei log AWS IoT Core.

Breve descrizione

**Nota:**Questo articolo si riferisce solo alla V2 dei log di AWS IoT Core.

I log di AWS IoT Core consentono di impostare livelli di registrazione specifici per le risorse per:

  • Clienti registrati come oggetti
  • Clienti non registrati come oggetti

Questo viene fatto creando un livello di registrazione per un tipo di target specifico e configurando il suo livello di verbosità. I tipi di destinazione includono THING\ _GROUP, CLIENT\ _ID, SOURCE\ _IP o PRINCIPAL\ _ID. È consigliabile configurare la registrazione predefinita a un livello di verbosità inferiore e configurare la registrazione specifica delle risorse a un livello di verbosità più elevato.

I livelli di verbosità del registro includono DISABLED (il più basso), ERROR, WARN, INFO e DEBUG (il più alto).

Importante: A seconda delle dimensioni del parco istanze di AWS IoT Core, l'attivazione di livelli di log più verbosi può comportare costi elevati e rendere più difficile la risoluzione dei problemi. L'attivazione della registrazione verbosa crea anche un maggiore traffico di dati. INFO o DEBUG devono essere usati solo come misura temporanea durante la risoluzione dei problemi. Una volta completata la risoluzione dei problemi, i livelli di registrazione devono essere riportati a un'impostazione meno verbosa.

Risoluzione

Prerequisito

Assicurati di avere l'interfaccia della linea di comando AWS (AWS CLI) installata localmente con le credenziali di autorizzazione dell'amministratore IoT. La regione AWS predefinita per AWS CLI deve puntare verso la regione AWS di destinazione. Devi avere client connessi e che interagiscono con i tuoi endpoint AWS IoT Core, come oggetti IoT registrati o non registrati.

Nota: Se ricevi errori durante l'esecuzione dei comandi dell'AWS CLI, assicurati di utilizzare la versione più recente dell'AWS CLI.

Configura la registrazione manuale per i client registrati come oggetti

È possibile gestire la registrazione specifica delle risorse per più elementi a un livello di registrazione definito e quindi aggiungere o rimuovere elementi dal gruppo di oggetti manualmente. I tuoi dispositivi e client devono essere registrati come oggetti IoT in AWS IoT Core e devono connettersi utilizzando lo stesso nome dell'oggetto associato all'ID client. È quindi possibile utilizzare un gruppo di oggetti statico con un tipo di destinazione THING_GROUP per gestire il gruppo di oggetti. Se configuri un gruppo di oggetti padre all'interno di una gerarchia, la configurazione si applica anche ai gruppi di oggetti figli della gerarchia.

Nota: Se utilizzi gruppi di oggetti statici come tipo di destinazione, è necessario considerare i relativi limiti di quota. Per ulteriori informazioni, consulta Limiti e quote delle risorse dei gruppi di oggetti di AWS IoT Core.

  1. Crea due gruppi di oggetti statici. Puoi farlo usando la console AWS IoT o usando il comando create-thing-group nell'AWS CLI. In questo esempio, viene utilizzata l'AWS CLI.
aws iot create-thing-group --thing-group-name logging_level_info
aws iot create-thing-group --thing-group-name logging_level_debug

Nota: Se stai usando gruppi di oggetti esistenti, sostituisci logging_level_info e logging_level_debug con i nomi dei tuoi gruppi di oggetti.

L'output è simile al seguente messaggio:

{
 "thingGroupName": "logging_level_info",
 "thingGroupArn": "arn:aws:iot:eu-west1-1:123456789012:thinggroup/logging_level_info",
 "thingGroupId": "58dd497e-97fc-47d2-8745-422bb21234AA"
}
{
 "thingGroupName": "logging_level_debug",
 "thingGroupArn": "arn:aws:iot:eu-west-1:123456789012:thinggroup/logging_level_debug",
 "thingGroupId": "2a9dc698-9a40-4487-81ec-2cb4101234BB"
}
  1. Esegui il comando](https://docs.aws.amazon.com/iot/latest/apireference/API_SetV2LoggingLevel.html)SetV2LoggingLevel[ per impostare i livelli di registrazione per i gruppi di oggetti: Nota: Possono essere necessari fino a 10 minuti prima che le modifiche alla configurazione a livello di log vengano applicate.
aws iot set-v2-logging-level \
 --log-target targetType=THING_GROUP,targetName=logging_level_info \
 --log-level INFO

aws iot set-v2-logging-level \
--log-target targetType=THING_GROUP,targetName=logging_level_debug \
--log-level DEBUG

Nota: Sostituisci INFO e DEBUG con i livelli di log che desideri impostare per ogni gruppo di oggetti.

  1. Esegui il comando seguente per confermare che i livelli di registrazione siano configurati correttamente:
aws iot list-v2-logging-levels

L'output è simile al seguente messaggio:

{
 "logTargetConfigurations": [
 {
 "logTarget": {
 "targetType": "DEFAULT"
 },
 "logLevel": "WARN"
 },
 {
 "logTarget": {
 "targetType": "THING_GROUP",
 "targetName": "logging_level_debug"
 },
 "logLevel": "DEBUG"
 },
 {
 "logTarget": {
 "targetType": "THING_GROUP",
 "targetName": "logging_level_info"
 },
 "logLevel": "INFO"
 }
 ]
}
  1. Esegui il comando ](https://docs.aws.amazon.com/iot/latest/apireference/API_AddThingToThingGroup.html)AddThingToThingGroup[ per aggiungere un oggetto al gruppo di oggetti appropriato:
aws iot add-thing-to-thing-group \
 --thing-name YourThingName1 \
 --thing-group-name logging_level_info

Nota: Sostituisci YourThingName1 con il nome dell'elemento che stai aggiungendo al gruppo di cose.

Configura la registrazione manuale per i client non registrati come oggetti

Se non registri i tuoi dati su AWS IoT Core, puoi comunque aggiungere livelli di registrazione specifici delle risorse per più tipi di target. Questi tipi di destinazione sono attributi client e includono CLIENT\ _ID, SOURCE\ _IP o PRINCIPAL\ _ID. Se il tuo dispositivo è già registrato come oggetto AWS IoT Core, puoi comunque utilizzare questi attributi client per gestire i livelli di registrazione.

  1. Esegui il comando ](https://docs.aws.amazon.com/iot/latest/apireference/API_SetV2LoggingLevel.html)SetV2LoggingLevel[ per impostare il livello di registrazione per un client specifico:
aws iot set-v2-logging-level \
 --log-target targetType=CLIENT_ID,targetName=YourClientId \
 --log-level YourLogLevel

Nota: Per utilizzare un tipo di destinazione diverso, sostituisci CLIENT\ _ID con un valore supportato utilizzato dal client di destinazione, ad esempio SOURCE_IP o PRINCIPAL_ID.

  1. Esegui il comando seguente per confermare che i livelli di registrazione siano configurati correttamente:
aws iot list-v2-logging-levels

L'output è simile al seguente messaggio:

...
 {
 "logTarget": {
 "targetType": "CLIENT_ID",
 "targetName": "YourClientId"
 },
 "logLevel": "YourLogLevel"
 }
...

Monitoraggio dei log generati

È consigliabile monitorare i log IoT per individuare eventuali problemi. Puoi utilizzare la console File di log Amazon CloudWatch o l'AWS CLI per monitorare i log di AWS IoT Core. Per ulteriori informazioni, consulta la sezione “Monitoraggio delle voci di log” di Come posso gestire al meglio i livelli di registrazione dei miei log AWS IoT in AWS IoT Core?

Informazioni correlate

Monitoraggio AWS IoT

Come posso configurare le impostazioni di registrazione predefinite per AWS IoT Core?

Come posso configurare i livelli di registrazione in modo dinamico per risorse specifiche in AWS IoT Core?

AWS UFFICIALE
AWS UFFICIALEAggiornata un anno fa