Monitora AWS IoT Greengrass i registri - AWS IoT Greengrass

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à.

Monitora AWS IoT Greengrass i registri

AWS IoT Greengrass è costituito dal servizio cloud e dal software AWS IoT Greengrass Core. Il software AWS IoT Greengrass Core può scrivere log su Amazon CloudWatch Logs e sul file system locale del dispositivo principale. I componenti Greengrass eseguiti sul dispositivo principale possono anche scrivere log su CloudWatch Logs e sul file system locale. Puoi utilizzare i log di eventi per monitorare e risolvere i problemi. Tutte le voci di log di AWS IoT Greengrass includono un timestamp, un livello di log e le informazioni sull'evento.

Per impostazione predefinita, il software AWS IoT Greengrass Core scrive i log solo nel file system locale. È possibile visualizzare i log del file system in tempo reale, in modo da eseguire il debug dei componenti Greengrass sviluppati e distribuiti. Puoi anche configurare un dispositivo principale per scrivere i log in CloudWatch Logs, in modo da poter risolvere i problemi del dispositivo principale senza accedere al file system locale. Per ulteriori informazioni, consulta Abilita la registrazione nei registri CloudWatch .

Accedere ai log del file system

Il software AWS IoT Greengrass Core archivia i log nella /greengrass/v2/logs cartella di un dispositivo principale, dove si /greengrass/v2 trova il percorso della cartella AWS IoT Greengrass principale. La cartella logs ha la seguente struttura.

/greengrass/v2 └── logs ├── greengrass.log ├── greengrass_2021_09_14_15_0.log ├── ComponentName.log ├── ComponentName_2021_09_14_15_0.log └── main.log

Per ulteriori informazioni sulle differenze tra i componenti plug-in, generici e Lambda, consulta. Tipi di componenti

Le seguenti considerazioni si applicano quando si utilizzano i log del file system:

  • Autorizzazioni utente root

    È necessario disporre delle autorizzazioni root, per poter leggere i log di AWS IoT Greengrass sul file system.

  • Rotazione dei file di registro

    Il software AWS IoT Greengrass Core ruota i file di registro ogni ora o quando superano un limite di dimensione del file. I file di registro ruotati contengono un timestamp nel nome del file. Ad esempio, potrebbe essere denominato un file di registro AWS IoT Greengrass del software Core ruotato. greengrass_2021_09_14_15_0.log Il limite di dimensione del file predefinito è 1.024 KB (1 MB). È possibile configurare il limite di dimensione del file sul componente Greengrass nucleus.

  • Eliminazione dei file di registro

    Il software AWS IoT Greengrass Core pulisce i file di registro precedenti quando le dimensioni dei file di registro del software AWS IoT Greengrass Core o dei file di registro dei componenti Greengrass, inclusi i file di registro ruotati, superano il limite di spazio su disco. Il limite di spazio su disco predefinito per il registro del software AWS IoT Greengrass Core e per ogni registro dei componenti è di 10.240 KB (10 MB). È possibile configurare il limite di spazio su disco del registro del software AWS IoT Greengrass Core sul componente Greengrass nucleus o sul componente log manager. È possibile configurare il limite di spazio su disco di registro di ciascun componente sul componente log manager.

Per visualizzare il file di registro del software AWS IoT Greengrass Core
  • Eseguite il comando seguente per visualizzare il file di registro in tempo reale. Sostituisci /greengrass/v2 con il percorso della cartella AWS IoT Greengrass principale.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/greengrass.log
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\com.example.HelloWorld.log

    Il type comando scrive il contenuto del file nel terminale. Esegui questo comando più volte per osservare le modifiche nel file.

    PowerShell
    gc C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
Per visualizzare il file di registro di un componente
  • Esegui il comando seguente per visualizzare il file di registro in tempo reale. Sostituisci /greengrass/v2 o C:\greengrass\v2 con il percorso della cartella AWS IoT Greengrass principale e sostituisci com.example. HelloWorldcon il nome del componente.

    Linux or Unix
    sudo tail -f /greengrass/v2/logs/com.example.HelloWorld.log
    PowerShell
    gc C:\greengrass\v2\logs\com.example.HelloWorld.log -Tail 10 -Wait

Puoi anche usare il logs comando della Greengrass CLI per analizzare i log di Greengrass su un dispositivo principale. Per utilizzare il logs comando, è necessario configurare il nucleo Greengrass per l'output di file di registro in formato JSON. Per ulteriori informazioni, consultare Interfaccia a riga di comando Greengrass e log.

Registri di accesso CloudWatch

È possibile implementare il componente di gestione dei registri per configurare il dispositivo principale per la scrittura nei registri. CloudWatch Per ulteriori informazioni, consulta Abilita la registrazione nei registri CloudWatch . Quindi, puoi visualizzare i log nella pagina Logs della CloudWatch console Amazon o utilizzando l'API CloudWatch Logs.

Nome del gruppo di log
/aws/greengrass/componentType/region/componentName

Il nome del gruppo di log utilizza le seguenti variabili:

  • componentType— Il tipo di componente, che può essere uno dei seguenti:

    • GreengrassSystemComponent— Questo gruppo di log include i log per i componenti del nucleo e del plugin, che vengono eseguiti nella stessa JVM del nucleo Greengrass. Il componente fa parte del nucleo Greengrass.

    • UserComponent— Questo gruppo di log include i registri per componenti generici, componenti Lambda e altre applicazioni sul dispositivo. Il componente non fa parte del nucleo Greengrass.

    Per ulteriori informazioni, consulta Tipi di componenti.

  • region— La AWS regione utilizzata dal dispositivo principale.

  • componentName— Il nome del componente. Per i registri di sistema, questo valore èSystem.

Nome del flusso di log
/date/thing/thingName

Il nome del flusso di registro utilizza le seguenti variabili:

  • date— La data del registro, ad esempio2020/12/15. Il componente log manager utilizza il yyyy/MM/dd formato.

  • thingName— Il nome del dispositivo principale.

Nota

Se il nome di un oggetto contiene due punti (:), il gestore dei registri sostituisce i due punti con un segno più (+).

Le seguenti considerazioni si applicano quando si utilizza il componente log manager per scrivere CloudWatch su Logs:

  • Registra i ritardi

    Nota

    Si consiglia di eseguire l'aggiornamento alla versione 2.3.0 di log manager, che riduce i ritardi di registro per i file di registro ruotati e attivi. Quando esegui l'aggiornamento a log manager 2.3.0, ti consigliamo di eseguire anche l'aggiornamento a Greengrass nucleus 2.9.1.

    Il componente di log manager versione 2.2.8 (e precedenti) elabora e carica i log solo dai file di registro ruotati. Per impostazione predefinita, il software AWS IoT Greengrass Core ruota i file di registro ogni ora o dopo che hanno raggiunto i 1.024 KB. Di conseguenza, il componente log manager carica i log solo dopo che il software AWS IoT Greengrass Core o un componente Greengrass hanno scritto oltre 1.024 KB di log. È possibile configurare un limite inferiore per le dimensioni dei file di registro per far sì che i file di registro ruotino più spesso. Ciò fa sì che il componente log manager carichi i log in Logs più CloudWatch frequentemente.

    Il componente di gestione dei registri versione 2.3.0 (e successive) elabora e carica tutti i log. Quando si scrive un nuovo registro, la versione 2.3.0 (e successive) di log manager elabora e carica direttamente il file di registro attivo anziché attendere che venga ruotato. Ciò significa che è possibile visualizzare il nuovo registro in 5 minuti o meno.

    Il componente di gestione dei registri carica periodicamente nuovi registri. Per impostazione predefinita, il componente di gestione dei registri carica nuovi registri ogni 5 minuti. È possibile configurare un intervallo di caricamento inferiore, in modo che il componente log manager carichi i log in Logs più frequentemente configurando CloudWatch . periodicUploadIntervalSec Per ulteriori informazioni su come configurare questo intervallo periodico, vedere Configurazione.

    I log possono essere caricati quasi in tempo reale dallo stesso file system Greengrass. Se hai bisogno di osservare i log in tempo reale, prendi in considerazione l'utilizzo dei log del file system.

    Nota

    Se utilizzi file system diversi su cui scrivere i log, log manager torna al comportamento delle versioni 2.2.8 e precedenti dei componenti di log manager. Per informazioni sull'accesso ai log del file system, consulta Access file system logs.

  • Inclinazione dell'orologio

    Il componente log manager utilizza il processo di firma standard Signature Version 4 per creare richieste API per CloudWatch Logs. Se l'ora del sistema su un dispositivo principale non è sincronizzata per più di 15 minuti, CloudWatch Logs rifiuta le richieste. Per ulteriori informazioni, consulta la pagina relativa al processo di firma Signature Version 4 nella Riferimenti generali di AWS.

Accedere ai registri dei servizi di sistema

Se si configura il software AWS IoT Greengrass Core come servizio di sistema, è possibile visualizzare i registri dei servizi di sistema per risolvere problemi, ad esempio il mancato avvio del software.

Per visualizzare i registri dei servizi di sistema (CLI)
  1. Esegui il comando seguente per visualizzare i registri dei servizi del sistema software AWS IoT Greengrass Core.

    Linux or Unix (systemd)
    sudo journalctl -u greengrass.service
    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\greengrass.wrapper.log
    PowerShell
    gc C:\greengrass\v2\logs\greengrass.wrapper.log
  2. Sui dispositivi Windows, il software AWS IoT Greengrass Core crea un file di registro separato per gli errori del servizio di sistema. Eseguite il comando seguente per visualizzare i log degli errori del servizio di sistema.

    Windows Command Prompt (CMD)
    type C:\greengrass\v2\logs\greengrass.err.log
    PowerShell
    gc C:\greengrass\v2\logs\greengrass.err.log

Sui dispositivi Windows, è inoltre possibile utilizzare l'applicazione Event Viewer per visualizzare i registri dei servizi di sistema.

Per visualizzare i registri dei servizi di Windows (Event Viewer)
  1. Aprire l'applicazione Event Viewer.

  2. Seleziona Windows Logs per espanderlo.

  3. Scegli Applicazione per visualizzare i registri dei servizi dell'applicazione.

  4. Trova e apri i registri degli eventi la cui origine è. greengrass

Abilita la registrazione nei registri CloudWatch

È possibile implementare il componente di gestione dei registri per configurare un dispositivo principale per scrivere i log nei registri. CloudWatch È possibile abilitare CloudWatch i registri del software Logs for AWS IoT Greengrass Core e abilitare i CloudWatch log per componenti Greengrass specifici.

Nota

Il ruolo di scambio di token del dispositivo principale Greengrass deve consentire al dispositivo principale di scrivere su CloudWatch Logs, come mostrato nell'esempio seguente di politica IAM. Se hai installato il software AWS IoT Greengrass Core con il provisioning automatico delle risorse, il tuo dispositivo principale dispone di queste autorizzazioni.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents", "logs:DescribeLogStreams" ], "Effect": "Allow", "Resource": "arn:aws:logs:*:*:*" } ] }

Per configurare un dispositivo principale in modo che scriva i log del software AWS IoT Greengrass Core in CloudWatch Logs, crea una distribuzione che specifichi un aggiornamento della configurazione impostato uploadToCloudWatch su per il componente. true aws.greengrass.LogManager AWS IoT Greengrass I registri del software di base includono i registri per il nucleo Greengrass e i componenti del plug-in.

{ "logsUploaderConfiguration": { "systemLogsConfiguration": { "uploadToCloudWatch": "true" } } }

Per configurare un dispositivo principale per scrivere i log di un componente Greengrass in CloudWatch Logs, crea una distribuzione che specifichi un aggiornamento della configurazione che aggiunga il componente all'elenco delle configurazioni di registrazione dei componenti. Quando aggiungete un componente a questo elenco, il componente di gestione dei log scrive i registri in Logs. CloudWatch I registri dei componenti includono i registri dei componenti generici e dei componenti Lambda.

{ "logsUploaderConfiguration": { "componentLogsConfigurationMap": { "com.example.HelloWorld": { } } } }

Quando si distribuisce il componente Log Manager, è anche possibile configurare i limiti di spazio su disco e stabilire se il dispositivo principale elimina i file di registro dopo averli scritti in Logs. CloudWatch Per ulteriori informazioni, consulta Configurazione della registrazione per AWS IoT Greengrass.

Configurazione della registrazione per AWS IoT Greengrass

È possibile configurare le seguenti opzioni per personalizzare la registrazione per i dispositivi core Greengrass. Per configurare queste opzioni, crea una distribuzione che specifichi un aggiornamento della configurazione per i componenti Greengrass nucleus o log manager.

  • Scrivere i log in Logs CloudWatch

    Per risolvere in remoto i problemi dei dispositivi principali, è possibile configurare i dispositivi principali per scrivere il software AWS IoT Greengrass Core e i registri dei componenti in Logs. CloudWatch A tale scopo, distribuisci e configura il componente log manager. Per ulteriori informazioni, consulta Abilita la registrazione nei registri CloudWatch .

  • Eliminazione dei file di registro caricati

    Per ridurre l'utilizzo dello spazio su disco, è possibile configurare i dispositivi principali per eliminare i file di registro dopo averli scritti in CloudWatch Logs. Per ulteriori informazioni, consultate il deleteLogFileAfterCloudUpload parametro del componente Log Manager, che potete specificare per i log del software AWS IoT Greengrass Core e i log dei componenti.

  • Registra i limiti di spazio su disco

    Per limitare l'utilizzo dello spazio su disco, è possibile configurare lo spazio massimo su disco per ogni registro, compresi i file di registro ruotati, su un dispositivo principale. Ad esempio, è possibile configurare lo spazio massimo combinato su disco greengrass.log e i file ruotati. greengrass.log Per ulteriori informazioni, consultate il parametro del componente Greengrass nucleus e il logging.totalLogsSizeKB parametro del componente log manager, che potete specificare per i log del diskSpaceLimitsoftware AWS IoT Greengrass Core e i log dei componenti.

  • Limite di dimensione del file di registro

    È possibile configurare la dimensione massima del file per ogni file di registro. Dopo che un file di registro supera questo limite di dimensioni, il software AWS IoT Greengrass Core crea un nuovo file di registro. Il componente di gestione dei registri versione 2.28 (e precedenti) scrive solo file di registro ruotati CloudWatch nei registri, quindi è possibile specificare un limite di dimensione inferiore per scrivere i log nei registri con maggiore frequenza. CloudWatch La versione 2.3.0 (e successive) del componente di gestione dei log elabora e carica tutti i log invece di attendere che vengano ruotati. Per ulteriori informazioni, vedete il parametro limite di dimensione del file di registro del componente Greengrass nucleus (). logging.fileSizeKB

  • Livelli minimi di registro

    È possibile configurare il livello minimo di log che il componente Greengrass nucleus scrive nei log del file system. Ad esempio, è possibile specificare registri di DEBUG livello per facilitare la risoluzione dei problemi oppure specificare registri di ERROR livello per ridurre la quantità di log creati da un dispositivo principale. Per ulteriori informazioni, vedete il parametro log level del componente Greengrass nucleus (). logging.level

    È inoltre possibile configurare il livello minimo di registro che il componente log manager scrive in Logs. CloudWatch Ad esempio, è possibile specificare un livello di registro più elevato per ridurre i costi di registrazione. Per ulteriori informazioni, consultate il minimumLogLevel parametro del componente Log Manager, che potete specificare per i log del software AWS IoT Greengrass Core e i log dei componenti.

  • Intervallo per verificare la presenza di log da scrivere nei registri CloudWatch

    Per aumentare o diminuire la frequenza con cui il componente di gestione dei log scrive i log nei CloudWatch registri, è possibile configurare l'intervallo in cui verifica la presenza di nuovi file di registro da scrivere. Ad esempio, è possibile specificare un intervallo inferiore per visualizzare i log nei CloudWatch registri prima di quanto si farebbe con l'intervallo predefinito di 5 minuti. È possibile specificare un intervallo più elevato per ridurre i costi, poiché il componente di gestione dei registri raggruppa i file di registro in un numero inferiore di richieste. Per ulteriori informazioni, vedete il parametro dell'intervallo di caricamento del componente log manager (). periodicUploadIntervalSec

  • Formato del registro

    È possibile scegliere se il software AWS IoT Greengrass Core scrive i log in formato testo o JSON. Scegliete il formato di testo se leggete i log o scegliete il formato JSON se utilizzate un'applicazione per leggere o analizzare i log. Per ulteriori informazioni, vedete il parametro di formato log del componente Greengrass nucleus (). logging.format

  • Cartella dei registri del file system locale

    È possibile modificare la cartella dei registri /greengrass/v2/logs da un'altra cartella sul dispositivo principale. Per ulteriori informazioni, vedete il parametro della directory di output del componente Greengrass nucleus (). logging.outputDirectory

Log AWS CloudTrail

AWS IoT Greengrasssi integra conAWS CloudTrail, un servizio che fornisce una registrazione delle azioni intraprese da un utente, da un ruolo o da un partecipante. Servizio AWS AWS IoT Greengrass Per ulteriori informazioni, consulta Registra AWS IoT Greengrass V2 API le chiamate con AWS CloudTrail.