Configurazione della registrazione per risorse AWS IoT Wireless - Wireless AWS IoT

Configurazione della registrazione per risorse AWS IoT Wireless

Per configurare la registrazione per le risorse AWS IoT Wireless, puoi utilizzare l'API o la CLI. Quando inizi a monitorare le risorse AWS IoT Wireless, puoi utilizzare la configurazione di default. A tale scopo, puoi saltare questo argomento e procedere a Monitoraggio di AWS IoT Wireless tramite CloudWatch Logs per monitorare i log.

Dopo aver avviato il monitoraggio dei log, è possibile utilizzare l'interfaccia della riga di comando per modificare i livelli di log in un'opzione più dettagliata, ad esempio fornendo INFO e informazioni sul livello ERROR e abilitare la registrazione per ulteriori risorse.

Risorse AWS IoT Wireless e livelli di registro

Prima di utilizzare l'API o l'interfaccia della riga di comando, utilizza la tabella seguente per informazioni sui diversi livelli di log e sulle risorse per cui è possibile configurare la registrazione. La tabella mostra i parametri visualizzati nei registri di CloudWatch quando si monitorano le risorse. La modalità di configurazione della registrazione per le risorse determinerà i log visualizzati nella console.

Per informazioni sull'aspetto di un esempio di registro CloudWatch e su come è possibile utilizzare questi parametri per registrare informazioni utili sulle risorse AWS IoT Wireless, consulta Visualizza voci di registro AWS IoT Wireless CloudWatch.

Livelli di registro e risorse
Nome Valori possibili Descrizione
logLevel

INFO, ERROR o DISABLED

  • ERROR: mostra qualsiasi errore che provoca la mancata riuscita di un'operazione. I log includono solo informazioni per il livello ERROR.

  • INFO: fornisce informazioni di alto livello sul flusso di oggetti. I log includono informazioni per i livelli INFO e ERROR.

  • DISABLED: disabilita ogni registrazione.

resource

WirelessGateway o WirelessDevice

Il tipo di risorsa, che può essere WirelessGateway o WirelessDevice.

wirelessGatewayType LoRaWAN Il tipo di gateway wireless, quando resource è WirelessGateway, che è sempre LoRaWAN.
wirelessDeviceType LoRaWAN o Sidewalk Il tipo di dispositivo wireless, quando resource è WirelessDevice, che può essere LoRaWAN o Sidewalk.
wirelessGatewayId - L'identificatore del gateway wireless, quando resource è WirelessGateway.
wirelessDeviceId - L'identificatore del dispositivo wireless, quando resource è WirelessDevice.
event Join, Rejoin, Registration, Uplink_data, Downlink_data, CUPS_Request e Certificate Il tipo di evento registrato, che dipende dal fatto che la risorsa che stai registrando sia un dispositivo wireless o un gateway wireless. Per ulteriori informazioni, consultare Visualizza voci di registro AWS IoT Wireless CloudWatch.

API di registrazione AWS IoT Wireless

Per configurare la registrazione di controllo, puoi usare le operazioni API seguenti. Nella tabella viene inoltre illustrata una policy IAM di esempio che è necessario creare per l'utilizzo delle operazioni API. Nella sezione seguente viene descritto come utilizzare le API per configurare i livelli di log delle risorse.

Registrazione di operazioni API
Nome API Descrizione Policy IAM di esempio

GetLogLevelsByResourceTypes

Restituisce i livelli di log predefiniti correnti o i livelli di log in base ai tipi di risorse, che possono includere opzioni di log per dispositivi wireless o gateway wireless.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:GetLogLevelsByResourceTypes" ], "Resource": [ "*" ] } ] }

GetResourceLogLevel

Restituisce l'override a livello di log per un determinato identificatore di risorsa e tipo di risorsa. La risorsa può essere un dispositivo wireless o un gateway wireless.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:GetResourceLogLevel" ], "Resource": [ "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/012bc537-ab12-cd3a-d00e-1f0e20c1204a", ] } ] }

PutResourceLogLevel

Imposta l'override a livello di log per un determinato identificatore di risorsa e tipo di risorsa. La risorsa può essere un gateway wireless o un dispositivo wireless.

Nota

Questa API ha un limite di 200 sostituzioni a livello di registro per account.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:PutResourceLogLevel" ], "Resource": [ "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/012bc537-ab12-cd3a-d00e-1f0e20c1204a", ] } ] }

ResetAllResourceLogLevels

Rimuove le sostituzioni a livello di log per tutte le risorse che includono sia gateway wireless che dispositivi wireless.

Nota

Questa API non influisce sui livelli di log impostati utilizzando l'opzione API UpdateLogLevelsByResourceTypes.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:ResetAllResourceLogLevels" ], "Resource": [ "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/*", "arn:aws:iotwireless:us-east-1:123456789012:WirelessGateway/* ] } ] }

ResetResourceLogLevel

Rimuove l'override a livello di log per un determinato identificatore di risorsa e tipo di risorsa. La risorsa può essere un gateway wireless o un dispositivo wireless.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:ResetResourceLogLevel" ], "Resource": [ "arn:aws:iotwireless:us-east-1:123456789012:WirelessDevice/012bc537-ab12-cd3a-d00e-1f0e20c1204a", ] } ] }

UpdateLogLevelsByResourceTypes

Imposta il livello di log predefinito o i livelli di log in base ai tipi di risorse. È possibile utilizzare questa API per le opzioni di log per dispositivi wireless o gateway wireless e controllare i messaggi di log che verranno visualizzati in CloudWatch.

Nota

Gli eventi sono facoltativi e il tipo di evento è associato al tipo di risorsa. Per ulteriori informazioni, consultare Eventi e tipi di risorse.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iotwireless:UpdateLogLevelsByResourceTypes" ], "Resource": [ "*" ] } ] }

Configurare i livelli di log delle risorse utilizzando la CLI

In questa sezione viene descritto come configurare i livelli di registro per le risorse AWS IoT Wireless utilizzando l'API o la AWS CLI.

Prima di utilizzare la CLI:
  • Assicurati di aver creato la policy IAM per l'API per cui desideri eseguire il comando CLI, come descritto in precedenza.

  • Hai bisogno dell'Amazon Resource Name (ARN) del ruolo che desideri utilizzare. Se è necessario creare un ruolo da utilizzare per la registrazione, consulta Creare un ruolo di registrazione e una policy per AWS IoT Wireless.

Perché usare AWS CLI

Per impostazione predefinita, se crei il ruolo IAM, IoTWirelessLogsRole, come descritto in Creare un ruolo di registrazione e una policy per AWS IoT Wireless, vedrai i log di CloudWatch nella AWS Management Console che hanno un livello di log predefinito di ERROR. Per modificare il livello di registro di default per tutte le risorse o per risorse specifiche, utilizza l’API di registrazione wireless AWS IoT Wireless o CLI.

Come utilizzare AWS CLI

Le operazioni API possono essere classificate nei seguenti tipi a seconda che si desideri configurare i livelli di log per tutte le risorse o per risorse specifiche:

  • Le operazioni dell'API GetLogLevelsByResourceTypes e UpdateLogLevelsByResourceTypes possono recuperare e aggiornare i livelli di log per tutte le risorse del tuo account che sono di un tipo specifico, ad esempio un gateway wireless, o un dispositivo LoRaWAN o Sidewalk.

  • Le operazioni dell'API GetResourceLogLevel, PutResourceLogLevel, e ResetResourceLogLevel possono recuperare, aggiornare e reimpostare i livelli di log delle singole risorse specificate utilizzando un identificatore di risorsa.

  • L’operazione API ResetAllResourceLogLevels reimposta l'override a livello di log su null per tutte le risorse per le quali è stato specificato un override a livello di log utilizzando l’API PutResourceLogLevel.

Per utilizzare l'interfaccia a riga di comando per configurare la registrazione specifica delle risorse per AWS IoT
Nota

È inoltre possibile eseguire questa procedura con l'API utilizzando i metodi dell'API AWS corrispondenti ai comandi CLI illustrati di seguito.

  1. Per impostazione predefinita, tutte le risorse hanno il livello di log impostato su ERROR. Per impostare i livelli di log predefiniti o i livelli di log in base ai tipi di risorse per tutte le risorse dell'account, utilizza il comando update-log-levels-by-resource-types. L'esempio seguente mostra come puoi creare un file JSON, Input.json, e fornirlo come input per il comando CLI. È possibile utilizzare questo comando per disabilitare selettivamente la registrazione o ignorare il livello di log predefinito per tipi specifici di risorse ed eventi.

    { "DefaultLogLevel": "INFO", "WirelessDeviceLogOptions": [ { "Type": "Sidewalk", "LogLevel": "INFO", "Events": [ { "Event": "Registration", "LogLevel": "DISABLED" } ] }, { "Type": "LoRaWAN", "LogLevel": "INFO", "Events": [ { "Event": "Join", "LogLevel": "DISABLED" }, { "Event": "Rejoin", "LogLevel": "ERROR" } ] } ] "WirelessGatewayLogOptions": [ { "Type": "LoRaWAN", "LogLevel": "INFO", "Events": [ { "Event": "CUPS_Request", "LogLevel": "DISABLED" }, { "Event": "Certificate", "LogLevel": "ERROR" } ] } ] }

    dove:

    WirelessDeviceLogOptions

    Elenco delle opzioni di log per un dispositivo wireless. Ogni opzione di log include il tipo di dispositivo wireless (Sidewalk o LoRaWAN) e un elenco di opzioni di log eventi del dispositivo wireless. Ogni opzione di log eventi del dispositivo wireless può includere facoltativamente il tipo di evento e il relativo livello di log.

    WirelessGatewayLogOptions

    Elenco delle opzioni di log per un gateway wireless. Ogni opzione di log include il tipo di gateway wireless (LoRaWAN) e un elenco di opzioni di log eventi del gateway wireless. Ogni opzione di log eventi del gateway wireless può includere facoltativamente il tipo di evento e il relativo livello di log.

    DefaultLogLevel

    Livello di log da utilizzare per tutte le risorse. I valori validi sonoERROR, INFO e DISABLED. Il valore predefinito è INFO.

    LogLevel

    Livello di log che si desidera utilizzare per i singoli tipi di risorse ed eventi. Questi livelli di log sovrascrivono il livello di log predefinito, ad esempio il livello di log INFO per il gateway LoRaWAN e i livelli di log DISABLED e ERROR per i due tipi di evento.

    Nel comando di esempio seguente viene utilizzato un file di input Input.json per fornire il codice della funzione al comando. Il comando non produce output.

    aws iotwireless update-log-levels-by-resource-types \ --cli-input-json Input.json

    Se desideri rimuovere le opzioni di log sia per i dispositivi wireless che per i gateway wireless, esegui il comando seguente.

    { "DefaultLogLevel":"DISABLED", "WirelessDeviceLogOptions": [], "WireslessGatewayLogOptions":[] }
  2. Il comando update-log-levels-by-resource-types non restituisce alcun output. Utilizza il comando get-log-levels-by-resource-types per recuperare le informazioni di registrazione specifiche delle risorse. Il comando restituisce il livello di log predefinito e le opzioni di log del dispositivo wireless e del gateway wireless.

    Nota

    Il comando get-log-levels-by-resource-types non è in grado di recuperare direttamente i livelli di log nella console CloudWatch. Puoi utilizzare il comando get-log-levels-by-resource-types per ottenere le informazioni più recenti a livello di log specificate per le risorse utilizzando il comando update-log-levels-by-resource-types.

    aws iotwireless get-log-levels-by-resource-types

    Quando si esegue il comando seguente, restituisce le informazioni di registrazione più recenti specificate con update-log-levels-by-resource-types. Ad esempio, se rimuovi le opzioni di log dei dispositivi wireless, get-log-levels-by-resource-types restituirà questo valore come null.

    { "DefaultLogLevel": "INFO", "WirelessDeviceLogOptions": null, "WirelessGatewayLogOptions": [ { "Type": "LoRaWAN", "LogLevel": "INFO", "Events": [ { "Event": "CUPS_Request", "LogLevel": "DISABLED" }, { "Event": "Certificate", "LogLevel": "ERROR" } ] } ] }
  3. Per controllare i livelli di log per singoli gateway wireless o risorse di dispositivi wireless, utilizza i seguenti comandi CLI:

    Per un esempio su quando utilizzare questi CLI, supponi di disporre di un numero elevato di dispositivi wireless o gateway che vengono registrati nell’account. Se desideri risolvere gli errori solo per alcuni dispositivi wireless, puoi disabilitare la registrazione per tutti i dispositivi wireless impostando DefaultLogLevel su DISABLED e utilizzando put-resource-log-level per impostare il LogLevel su ERROR, solo per i dispositivi nel tuo account.

    aws iotwireless put-resource-log-level \ --resource-identifier --resource-type WirelessDevice --log-level ERROR

    In questo esempio, il comando imposta il livello di log su ERROR solo per la risorsa del dispositivo wireless specificata mentre i log per tutte le altre risorse sono disabilitati. Il comando non produce output. Per recuperare queste informazioni e verificare che i livelli di log siano stati impostati, utilizza il comando get-resource-log-level.

  4. Nel passaggio precedente, dopo aver eseguito il debug del problema e risolto l'errore, puoi eseguire il comando reset-resource-log-level per reimpostare il livello di log per tale risorsa su null. Se hai usato il comando put-resource-log-level per impostare l'override a livello di log per più dispositivi wireless o risorse gateway, ad esempio per la risoluzione dei problemi relativi a più dispositivi, puoi ripristinare le sostituzioni a livello di log su null per tutte quelle risorse che usano il comando reset-all-resource-log-levels.

    aws iotwireless reset-all-resource-log-levels

    Il comando non produce output. Per recuperare le informazioni di registrazione per le risorse, esegui il comando get-resource-log-level.

Fasi successive

Hai appreso come creare il ruolo di registrazione e utilizzare l'API AWS IoT Wireless wireless per configurare la registrazione per le tue risorse AWS IoT Core per LoRaWAN. Successivamente, per ulteriori informazioni sul monitoraggio delle voci di log, vai a Monitoraggio di AWS IoT Wireless tramite CloudWatch Logs.