Configurazione della registrazione per risorse Wireless AWS IoT
Per configurare la registrazione per le risorse Wireless AWS IoT, puoi utilizzare l'API o la CLI. Quando inizi a monitorare le risorse Wireless AWS IoT, puoi utilizzare la configurazione di default. A tale scopo, puoi saltare questo argomento e procedere a Monitoraggio di Wireless AWS IoT 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 Wireless AWS IoT 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 Wireless AWS IoT, consulta Visualizza voci di registro Wireless AWS IoT CloudWatch.
| Nome | Valori possibili | Descrizione |
|---|---|---|
logLevel |
|
|
resource |
|
Il tipo di risorsa, che può essere |
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 Wireless AWS IoT CloudWatch. |
API di registrazione Wireless AWS IoT
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.
| Nome API | Descrizione | Policy IAM di esempio |
|---|---|---|
|
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. |
|
|
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. |
|
|
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. NotaQuesta API ha un limite di 200 sostituzioni a livello di registro per account. |
|
|
|
Rimuove le sostituzioni a livello di log per tutte le risorse che includono sia gateway wireless che dispositivi wireless. NotaQuesta API non influisce sui livelli di log impostati utilizzando l'opzione API |
|
|
|
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. |
|
|
|
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. NotaGli eventi sono facoltativi e il tipo di evento è associato al tipo di risorsa. Per ulteriori informazioni, consultare Eventi e tipi di risorse. |
|
Configurare i livelli di log delle risorse utilizzando la CLI
In questa sezione viene descritto come configurare i livelli di registro per le risorse Wireless AWS IoT 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 Wireless AWS IoT.
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 Wireless AWS IoT, 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 Wireless AWS IoT 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
GetLogLevelsByResourceTypeseUpdateLogLevelsByResourceTypespossono 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, eResetResourceLogLevelpossono recuperare, aggiornare e reimpostare i livelli di log delle singole risorse specificate utilizzando un identificatore di risorsa. -
L’operazione API
ResetAllResourceLogLevelsreimposta l'override a livello di log sunullper tutte le risorse per le quali è stato specificato un override a livello di log utilizzando l’APIPutResourceLogLevel.
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.
-
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 sono
ERROR,INFOeDISABLED. 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
INFOper il gateway LoRaWAN e i livelli di logDISABLEDeERRORper i due tipi di evento.
Nel comando di esempio seguente viene utilizzato un file di input
Input.jsonper fornire il codice della funzione al comando. Il comando non produce output.aws iotwireless update-log-levels-by-resource-types \ --cli-input-json Input.jsonSe desideri rimuovere le opzioni di log sia per i dispositivi wireless che per i gateway wireless, esegui il comando seguente.
{ "DefaultLogLevel":"DISABLED", "WirelessDeviceLogOptions": [], "WireslessGatewayLogOptions":[] } -
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-typesQuando 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" } ] } ] } -
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
DefaultLogLevelsuDISABLEDe utilizzando put-resource-log-level per impostare ilLogLevelsuERROR, solo per i dispositivi nel tuo account.aws iotwireless put-resource-log-level \ --resource-identifier --resource-type WirelessDevice --log-level ERRORIn questo esempio, il comando imposta il livello di log su
ERRORsolo 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. -
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 comandoput-resource-log-levelper 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 sunullper tutte quelle risorse che usano il comando reset-all-resource-log-levels. aws iotwireless reset-all-resource-log-levelsIl 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 Wireless AWS IoT 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 Wireless AWS IoT tramite CloudWatch Logs.