

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

# Registrazione e monitoraggio AWS IoT Greengrass
<a name="logging-and-monitoring"></a>

Il monitoraggio è un elemento importante per mantenere l'affidabilità, la disponibilità e le prestazioni delle AWS IoT Greengrass vostre AWS soluzioni. È necessario raccogliere i dati di monitoraggio da tutte le parti della AWS soluzione in modo da poter eseguire più facilmente il debug di un errore multipunto, se si verifica. Prima di iniziare il monitoraggio AWS IoT Greengrass, è necessario creare un piano di monitoraggio che includa le risposte alle seguenti domande:
+ Quali sono gli obiettivi del monitoraggio?
+ Quali risorse verranno monitorate?
+ Con quale frequenza eseguirai il monitoraggio di queste risorse?
+ Quali strumenti di monitoraggio verranno usati?
+ Chi eseguirà i processi di monitoraggio?
+ Chi deve ricevere una notifica quando si verifica un problema?

**Topics**
+ [Strumenti di monitoraggio](#monitoring-tools)
+ [Monitora AWS IoT Greengrass i registri](monitor-logs.md)
+ [Registra le chiamate AWS IoT Greengrass V2 API con AWS CloudTrail](logging-using-cloudtrail.md)
+ [Raccogli dati di telemetria sanitaria del sistema dai dispositivi principali AWS IoT Greengrass](telemetry.md)
+ [Ricevi notifiche sullo stato di implementazione e integrità dei componenti](deployment-health-notifications.md)
+ [Controlla lo stato del dispositivo Greengrass core](device-status.md)

## Strumenti di monitoraggio
<a name="monitoring-tools"></a>

AWS fornisce strumenti che è possibile utilizzare per il monitoraggio AWS IoT Greengrass. Alcuni di questi strumenti possono essere configurati per il monitoraggio automatico delle applicazioni. Alcuni degli strumenti richiedono l'intervento manuale. Si consiglia di automatizzare il più possibile i processi di monitoraggio.

È possibile utilizzare i seguenti strumenti di monitoraggio automatizzato per monitorare AWS IoT Greengrass e segnalare i problemi:
+ **Amazon CloudWatch Logs**: monitora, archivia e accedi ai tuoi file di registro da AWS CloudTrail o altre fonti. Per ulteriori informazioni, consulta [Monitoring log files](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html) nella *Amazon CloudWatch User Guide*.
+ **AWS CloudTrail Monitoraggio dei log**: condividi i file di CloudTrail log tra account, monitora i file di log in tempo reale inviandoli a CloudWatch Logs, scrivi applicazioni di elaborazione dei log in Java e verifica che i file di log non siano cambiati dopo la consegna da parte di. CloudTrail Per ulteriori informazioni, consulta [Lavorare con i file di CloudTrail registro nella Guida](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-working-with-log-files.html) per l'*AWS CloudTrail utente*.
+ Telemetria **sanitaria del sistema Greengrass: iscriviti per ricevere i dati di telemetria** inviati dal core Greengrass. Per ulteriori informazioni, consulta [Raccogli dati di telemetria sanitaria del sistema dai dispositivi principali AWS IoT Greengrass](telemetry.md).
+ **Notifiche sullo stato dei dispositivi** Crea eventi utilizzando Amazon EventBridge per ricevere aggiornamenti sullo stato di distribuzioni e componenti. Per ulteriori informazioni, consulta [Ricevi notifiche sullo stato di implementazione e integrità dei componenti](deployment-health-notifications.md).
+ **Servizio Fleet Status**: utilizza le operazioni dell'API Fleet Status per controllare lo stato dei dispositivi principali e dei relativi componenti Greengrass. Puoi anche visualizzare le informazioni sullo stato della flotta nella AWS IoT Greengrass console. Per ulteriori informazioni, consulta [Controlla lo stato del dispositivo Greengrass core](device-status.md).

# Monitora AWS IoT Greengrass i registri
<a name="monitor-logs"></a>

AWS IoT Greengrass è costituito dal servizio cloud e dal software Core. AWS IoT Greengrass 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 AWS IoT Greengrass registro includono un timestamp, un livello di registro e 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](#enable-cloudwatch-logs).

**Topics**
+ [Accedere ai log del file system](#access-local-logs)
+ [Registri di accesso CloudWatch](#access-cloudwatch-logs)
+ [Accedere ai registri dei servizi di sistema](#access-system-service-logs)
+ [Abilita la registrazione nei registri CloudWatch](#enable-cloudwatch-logs)
+ [Configurare la registrazione per AWS IoT Greengrass](#configure-logging)
+ [AWS CloudTrail registri](#cloudtrail-integration)

## Accedere ai log del file system
<a name="access-local-logs"></a>

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
```
+ `greengrass.log`— Il file di registro del software AWS IoT Greengrass Core. Utilizzate questo file di registro per visualizzare informazioni in tempo reale su componenti e implementazioni. [Questo file di registro include i registri per il nucleo Greengrass, che è il nucleo del software Core, e AWS IoT Greengrass i componenti del plug-in, [come il gestore dei registri e il gestore segreto](log-manager-component.md).](secret-manager-component.md)
+ `ComponentName.log`— File di registro dei componenti Greengrass. Utilizzate i file di registro dei componenti per visualizzare informazioni in tempo reale su un componente Greengrass in esecuzione sul dispositivo principale. I componenti generici e i componenti Lambda scrivono lo standard output (stdout) e l'errore standard (stderr) in questi file di registro.
+ `main.log`— Il file di registro per il `main` servizio che gestisce i cicli di vita dei componenti. Questo file di registro sarà sempre vuoto.

Per ulteriori informazioni sulle differenze tra i componenti plug-in, generici e Lambda, consulta. [Tipi di componenti](develop-greengrass-components.md#component-types)

Le seguenti considerazioni si applicano quando si utilizzano i log del file system:
+ **Autorizzazioni utente root**

  È necessario disporre dei permessi di root per leggere AWS IoT Greengrass i log 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](greengrass-nucleus-component.md).
+ **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](greengrass-nucleus-component.md) [log](log-manager-component.md) manager. È possibile configurare il limite di spazio su disco di registro di ciascun componente sul componente [log manager](log-manager-component.md).

**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
  ```

  <a name="windows-cmd-type-observe-logs"></a>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:\$1greengrass\$1v2* con il percorso della cartella AWS IoT Greengrass principale e *com.example.HelloWorld* sostituiscilo con 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](greengrass-cli-component.md) di Greengrass su un dispositivo principale. Per utilizzare il `logs` comando, è necessario configurare il [nucleo Greengrass per l'output di file di registro](greengrass-nucleus-component.md) in formato JSON. Per ulteriori informazioni, consultare [Interfaccia a riga di comando Greengrass](gg-cli.md) e [log](gg-cli-logs.md).

## Registri di accesso CloudWatch
<a name="access-cloudwatch-logs"></a>

È possibile implementare il [componente di gestione dei registri](log-manager-component.md) per configurare il dispositivo principale per la scrittura nei registri. CloudWatch Per ulteriori informazioni, consulta [Abilita la registrazione nei registri CloudWatch](#enable-cloudwatch-logs). Quindi, puoi visualizzare i log nella pagina **Logs** della CloudWatch console Amazon o utilizzando l'API CloudWatch Logs.<a name="log-manager-log-group-stream-format"></a>

**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](greengrass-nucleus-component.md).
  + `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](develop-greengrass-components.md#component-types).
+ `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 esempio`2020/12/15`. Il componente log manager utilizza il `yyyy/MM/dd` formato.
+ `thingName`— Il nome del dispositivo principale.
Se il nome di un oggetto contiene due punti (`:`), il gestore dei registri sostituisce i due punti con un segno più (`+`).

<a name="log-manager-considerations-intro"></a>Le seguenti considerazioni si applicano quando si utilizza il componente log manager per scrivere CloudWatch su Logs:<a name="log-manager-considerations"></a>
+ **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 il CloudWatch . `periodicUploadIntervalSec` [Per ulteriori informazioni su come configurare questo intervallo periodico, vedere Configurazione.](https://docs.aws.amazon.com/greengrass/v2/developerguide/log-manager-component.html#log-manager-component-configuration)

  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](#access-local-logs).
**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](https://docs.aws.amazon.com/greengrass/v2/developerguide/monitor-logs.html#access-local-logs) 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](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) nella *Riferimenti generali di AWS*.

## Accedere ai registri dei servizi di sistema
<a name="access-system-service-logs"></a>

Se si [configura il software AWS IoT Greengrass Core come servizio di sistema](configure-greengrass-core-v2.md#configure-system-service), è 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
   ```

------

1. 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**.

1. Seleziona **Windows Logs** per espanderlo.

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

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

## Abilita la registrazione nei registri CloudWatch
<a name="enable-cloudwatch-logs"></a>

È possibile implementare il [componente di gestione dei registri](log-manager-component.md) 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](quick-installation.md), 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](create-deployments.md) 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](greengrass-nucleus-component.md) e i componenti del plug-in.](develop-greengrass-components.md#component-types)

```
{
  "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](create-deployments.md) aggiornamento della configurazione che aggiunga il componente all'elenco delle configurazioni di registrazione dei componenti. Quando aggiungete un componente a questo elenco, il componente log manager scrive i log in Logs. CloudWatch I registri dei componenti includono i registri dei [componenti generici e dei componenti Lambda](develop-greengrass-components.md#component-types).

```
{
  "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 [Configurare la registrazione per AWS IoT Greengrass](#configure-logging).

## Configurare la registrazione per AWS IoT Greengrass
<a name="configure-logging"></a>

È possibile configurare le seguenti opzioni per personalizzare la registrazione per i dispositivi core Greengrass. Per configurare queste opzioni, [crea una distribuzione](create-deployments.md) 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, distribuite e configurate il componente di gestione dei log.](log-manager-component.md) Per ulteriori informazioni, consulta [Abilita la registrazione nei registri CloudWatch](#enable-cloudwatch-logs).
+ **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](log-manager-component.md#log-manager-component-configuration-system-logs-configuration) [componenti](log-manager-component.md#log-manager-component-configuration-component-logs-configuration).
+ **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 `diskSpaceLimit`[software AWS IoT Greengrass Core e i log dei](log-manager-component.md#log-manager-component-configuration-system-logs-configuration) componenti.](log-manager-component.md#log-manager-component-configuration-component-logs-configuration)
+ **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](log-manager-component.md) 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](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-log-file-size) 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](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-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.](https://aws.amazon.com/cloudwatch/pricing/) 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](log-manager-component.md#log-manager-component-configuration-system-logs-configuration) [componenti](log-manager-component.md#log-manager-component-configuration-component-logs-configuration).
+ **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](log-manager-component.md#log-manager-component-configuration-periodic-upload-interval-sec) 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](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format) 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](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-log-level) del componente Greengrass nucleus (). `logging.outputDirectory`

## AWS CloudTrail registri
<a name="cloudtrail-integration"></a>

AWS IoT Greengrass si integra con AWS CloudTrail, un servizio che fornisce un registro delle azioni intraprese da un utente, da un ruolo o Servizio AWS da un partecipante. AWS IoT Greengrass Per ulteriori informazioni, consulta [Registra le chiamate AWS IoT Greengrass V2 API con AWS CloudTrail](logging-using-cloudtrail.md).

# Registra le chiamate AWS IoT Greengrass V2 API con AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

AWS IoT Greengrass V2 è integrato con AWS CloudTrail, un servizio che fornisce una registrazione delle azioni intraprese da un utente, ruolo o AWS servizio in AWS IoT Greengrass Version 2. CloudTrail acquisisce tutte le chiamate API AWS IoT Greengrass come eventi. Le chiamate acquisite includono chiamate dalla AWS IoT Greengrass console e chiamate di codice alle operazioni AWS IoT Greengrass API.

Se crei un trail, puoi abilitare la consegna continua di CloudTrail eventi a un bucket S3, inclusi gli eventi per. AWS IoT Greengrass Se non configuri un percorso, puoi comunque visualizzare gli eventi più recenti nella CloudTrail console nella cronologia degli **eventi**. Utilizzando le informazioni raccolte da CloudTrail, puoi determinare a quale richiesta è stata inviata AWS IoT Greengrass, l'indirizzo IP da cui è stata effettuata la richiesta, chi ha effettuato la richiesta, quando è stata effettuata e dettagli aggiuntivi.

Per ulteriori informazioni in merito CloudTrail, consulta la [Guida AWS CloudTrail per l'utente](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html).

**Topics**
+ [AWS IoT Greengrass V2 informazioni in CloudTrail](#service-name-info-in-cloudtrail)
+ [AWS IoT Greengrass eventi di dati in CloudTrail](#greengrass-data-events-cloudtrail)
+ [AWS IoT Greengrass eventi di gestione in CloudTrail](#greengrass-management-events-cloudtrail)
+ [Comprendere le AWS IoT Greengrass V2 voci dei file di registro](#understanding-service-name-entries)

## AWS IoT Greengrass V2 informazioni in CloudTrail
<a name="service-name-info-in-cloudtrail"></a>

CloudTrail è abilitato sul tuo account al Account AWS momento della creazione dell'account. Quando si verifica un'attività in AWS IoT Greengrass, tale attività viene registrata in un CloudTrail evento insieme ad altri eventi AWS di servizio nella **cronologia degli eventi**. Puoi visualizzare, cercare e scaricare gli eventi recenti nell’ Account AWS. Per ulteriori informazioni, consulta [Visualizzazione degli eventi con la cronologia degli CloudTrail eventi](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html).

Per una registrazione continua degli eventi del tuo Account AWS, inclusi gli eventi di AWS IoT Greengrass, crea un percorso. Un *trail* consente di CloudTrail inviare file di registro a un bucket S3. Per impostazione predefinita, quando crei un trail nella console, il trail si applica a tutti i Regione AWS file. Il trail registra gli eventi da tutte le regioni della AWS partizione e consegna i file di registro al bucket S3 specificato. Inoltre, puoi configurare altri AWS servizi per analizzare ulteriormente e agire in base ai dati sugli eventi raccolti nei log. CloudTrail Per ulteriori informazioni, consulta gli argomenti seguenti:
+ [Panoramica della creazione di un percorso](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail servizi e integrazioni supportati](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [Configurazione delle notifiche Amazon SNS per CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [Ricezione di file di CloudTrail registro da più regioni](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) e [ricezione di file di CloudTrail registro da](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html) più account

Tutte AWS IoT Greengrass V2 le azioni vengono registrate CloudTrail e documentate nell'[AWS IoT Greengrass V2 API](https://docs.aws.amazon.com/greengrass/v2/APIReference/Welcome.html) Reference. Ad esempio, le chiamate a `CreateDeployment` e `CreateComponentVersion` le `CancelDeployment` azioni generano voci nei file di CloudTrail registro.

Ogni evento o voce di log contiene informazioni sull’utente che ha generato la richiesta. Le informazioni di identità consentono di determinare quanto segue:
+ Se la richiesta è stata effettuata con credenziali utente root o AWS Identity and Access Management (IAM).
+ Se la richiesta è stata effettuata con le credenziali di sicurezza temporanee per un ruolo o un utente federato.
+ Se la richiesta è stata effettuata da un altro AWS servizio.

Per ulteriori informazioni, consulta [Elemento CloudTrail userIdentity](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## AWS IoT Greengrass eventi di dati in CloudTrail
<a name="greengrass-data-events-cloudtrail"></a>

[Gli eventi relativi ai dati](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) forniscono informazioni sulle operazioni eseguite sulle risorse su o all'interno di una risorsa (ad esempio, l'ottenimento della versione di un componente o la configurazione di una distribuzione). Queste operazioni sono definite anche operazioni del piano dei dati. Gli eventi di dati sono spesso attività che interessano volumi elevati di dati. Per impostazione predefinita, CloudTrail non registra gli eventi relativi ai dati. La **cronologia CloudTrail degli eventi** non registra gli eventi relativi ai dati.

Per gli eventi di dati sono previsti costi aggiuntivi. Per ulteriori informazioni sui CloudTrail prezzi, consulta la sezione [AWS CloudTrail Prezzi](https://aws.amazon.com/cloudtrail/pricing/).

Puoi registrare gli eventi relativi ai dati per i tipi di AWS IoT Greengrass risorse utilizzando la CloudTrail console o AWS CLI le operazioni CloudTrail dell'API. La [tabella](#data-events-table) in questa sezione mostra i tipi di risorse disponibili per AWS IoT Greengrass.
+ Per registrare gli eventi relativi ai dati utilizzando la CloudTrail console, crea un [percorso](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html#creating-a-trail-in-the-console) o un [data store di eventi](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store-cloudtrail.html) per registrare gli eventi di dati oppure [aggiorna un trail o un data store di eventi esistente](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-console) per registrare gli eventi di dati.

  1. Scegli **Data events** per registrare gli eventi relativi ai dati.

  1. Dall'elenco **Tipo di evento Data**, scegli il tipo di risorsa per il quale desideri registrare gli eventi relativi ai dati.

  1. Scegli il modello di selettore di registro che desideri utilizzare. Puoi registrare tutti gli eventi relativi ai dati per il tipo di risorsa, registrare tutti `readOnly` gli eventi, registrare tutti `writeOnly` gli eventi o creare un modello di selettore di registro personalizzato per filtrare i `readOnly` campi`eventName`, e`resources.ARN`.
+ Per registrare gli eventi relativi ai dati utilizzando il AWS CLI, configura il `--advanced-event-selectors` parametro in modo che il `eventCategory` campo sia uguale `Data` e il `resources.type` campo uguale al valore del tipo di risorsa (vedi [tabella](#data-events-table)). È possibile aggiungere condizioni per filtrare i valori dei `resources.ARN` campi `readOnly``eventName`, e.
  + Per configurare un percorso per registrare gli eventi relativi ai dati, esegui il [https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/put-event-selectors.html](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/put-event-selectors.html)comando. Per ulteriori informazioni, vedere [Registrazione degli eventi relativi ai dati per i AWS CLI sentieri con](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-CLI-trail-examples).
  + Per configurare un Event Data Store per registrare gli eventi di dati, esegui il [https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/create-event-data-store.html](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/create-event-data-store.html)comando per creare un nuovo Event Data Store per registrare gli eventi di dati oppure esegui il [https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/update-event-data-store.html](https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/update-event-data-store.html)comando per aggiornare un Event Data Store esistente. Per ulteriori informazioni, vedere [Registrazione degli eventi di dati per i data store di eventi con](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-CLI-eds-examples). AWS CLI

La tabella seguente elenca i tipi di AWS IoT Greengrass risorse. La colonna **Data event type (console)** mostra il valore da scegliere dall'elenco **Data event type** sulla CloudTrail console. La colonna del **valore resources.type** mostra il `resources.type` valore, da specificare durante la configurazione dei selettori di eventi avanzati utilizzando o. AWS CLI CloudTrail APIs La CloudTrail colonna **Dati APIs registrati mostra le chiamate API registrate per** il tipo di risorsa. CloudTrail


| Tipo di evento di dati (console) | valore resources.type | Dati registrati APIs su CloudTrail | 
| --- | --- | --- | 
| Certificato IoT | AWS::IoT::Certificate |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/greengrass/v2/developerguide/logging-using-cloudtrail.html)  | 
| Versione componente IoT Greengrass |  AWS::GreengrassV2::ComponentVersion  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/greengrass/v2/developerguide/logging-using-cloudtrail.html)  | 
| Implementazione IoT Greengrass |  AWS::GreengrassV2::Deployment  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/greengrass/v2/developerguide/logging-using-cloudtrail.html)  | 
| Cosa IoT | AWS::IoT::Thing |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/greengrass/v2/developerguide/logging-using-cloudtrail.html)  | 

È possibile configurare selettori di eventi avanzati per filtrare i campi `eventName`, `readOnly` e `resources.ARN` per registrare solo gli eventi importanti per l'utente.

Aggiungi un filtro `eventName` per includere o escludere dati specifici APIs.

Per ulteriori informazioni sui campi, consulta [https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html).

Gli esempi seguenti mostrano come configurare i selettori avanzati utilizzando. AWS CLI Sostituisci *TrailName* e *region* con le tue informazioni.

**Example — Registra gli eventi relativi ai dati per gli oggetti IoT**  

```
aws cloudtrail put-event-selectors --trail-name TrailName --region region \
--advanced-event-selectors \
‘[
    {
            “Name”: “Log all thing data events”,
            “FieldSelectors”: [
                { “Field”: “eventCategory”, “Equals”: [“Data”] },
                { “Field”: “resources.type”, “Equals”: [“AWS::IoT::Thing”] }
            ]
        }
]’
```

**Example — Filtra in base a una specifica API IoT**  

```
aws cloudtrail put-event-selectors --trail-name TrailName --region region \
--advanced-event-selectors \
‘[
    {
            “Name”: “Log IoT Greengrass PutCertificateAuthorities API calls”,
            “FieldSelectors”: [
                { “Field”: “eventCategory”, “Equals”: [“Data”] },
                { “Field”: “resources.type”, “Equals”: [“AWS::IoT::Thing”] },
                { “Field”: “eventName”, “Equals”: [“PutCertificateAuthorities”] }
            ]
    }
]’
```

**Example — Registra tutti gli eventi relativi ai dati Greengrass**  

```
aws cloudtrail put-event-selectors --trail-name TrailName --region region \
--advanced-event-selectors \
‘[
    {
        “Name”: “Log all certificate data events”,
        “FieldSelectors”: [
            {
                “Field”: “eventCategory”,
                “Equals”: [
                    “Data”
                ]
            },
            {
                “Field”: “resources.type”,
                “Equals”: [
                    “AWS::IoT::Certificate”
                ]
            }
        ]
    },
    {
        “Name”: “Log all component version data events”,
        “FieldSelectors”: [
            {
                “Field”: “eventCategory”,
                “Equals”: [
                    “Data”
                ]
            },
            {
                “Field”: “resources.type”,
                “Equals”: [
                    “AWS::GreengrassV2::ComponentVersion”
                ]
            }
        ]
    },
    {
        “Name”: “Log all deployment version”,
        “FieldSelectors”: [
            {
                “Field”: “eventCategory”,
                “Equals”: [
                    “Data”
                ]
            },
            {
                “Field”: “resources.type”,
                “Equals”: [
                    “AWS::GreengrassV2::Deployment”
                ]
            }
        ]
    },
    {
        “Name”: “Log all thing data events”,
        “FieldSelectors”: [
            {
                “Field”: “eventCategory”,
                “Equals”: [
                    “Data”
                ]
            },
            {
                “Field”: “resources.type”,
                “Equals”: [
                    “AWS::IoT::Thing”
                ]
            }
        ]
    }
]’
```

## AWS IoT Greengrass eventi di gestione in CloudTrail
<a name="greengrass-management-events-cloudtrail"></a>

[Gli eventi](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events) di gestione forniscono informazioni sulle operazioni di gestione eseguite sulle risorse AWS dell'account. Queste operazioni sono definite anche operazioni del piano di controllo (control-plane). Per impostazione predefinita, CloudTrail registra gli eventi di gestione.

AWS IoT Greengrass registra tutte le operazioni AWS IoT Greengrass del piano di controllo come eventi di gestione. Per un elenco delle operazioni del piano di AWS IoT Greengrass controllo a cui si AWS IoT Greengrass effettua l'accesso CloudTrail, vedere il [riferimento all'AWS IoT Greengrass API, versione 2](https://docs.aws.amazon.com/greengrass/v2/APIReference/Welcome.html).

## Comprendere le AWS IoT Greengrass V2 voci dei file di registro
<a name="understanding-service-name-entries"></a>

Un trail è una configurazione che consente la consegna di eventi come file di registro a un bucket S3 specificato dall'utente. CloudTrail i file di registro contengono una o più voci di registro. Un evento rappresenta una singola richiesta da un'origine. Include informazioni sull'azione richiesta, la data e l'ora dell'azione, i parametri della richiesta e così via. CloudTrail i file di registro non sono una traccia ordinata dello stack delle chiamate API pubbliche, quindi non vengono visualizzati in un ordine specifico. 

L'esempio seguente mostra una voce di CloudTrail registro che illustra l'`CreateDeployment`azione.

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "IAMUser",
        "principalId": "AIDACKCEVSQ6C2EXAMPLE",
        "arn": "arn:aws:iam::123456789012:user/Administrator",
        "accountId": "123456789012",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
        "userName": "Administrator"
    },
    "eventTime": "2021-01-06T02:38:05Z",
    "eventSource": "greengrass.amazonaws.com",
    "eventName": "CreateDeployment",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "203.0.113.0",
    "userAgent": "aws-cli/2.1.9 Python/3.7.9 Windows/10 exe/AMD64 prompt/off command/greengrassv2.create-deployment",
    "requestParameters": {
        "deploymentPolicies": {
            "failureHandlingPolicy": "DO_NOTHING",
            "componentUpdatePolicy": {
                "timeoutInSeconds": 60,
                "action": "NOTIFY_COMPONENTS"
            },
            "configurationValidationPolicy": {
                "timeoutInSeconds": 60
            }
        },
        "deploymentName": "Deployment for MyGreengrassCoreGroup",
        "components": {
            "aws.greengrass.Cli": {
                "componentVersion": "2.0.3"
            }
        },
        "iotJobConfiguration": {},
        "targetArn": "arn:aws:iot:us-west-2:123456789012:thinggroup/MyGreengrassCoreGroup"
    },
    "responseElements": {
        "iotJobArn": "arn:aws:iot:us-west-2:123456789012:job/fdfeba1d-ac6d-44ef-ab28-54f684ea578d",
        "iotJobId": "fdfeba1d-ac6d-44ef-ab28-54f684ea578d",
        "deploymentId": "4196dddc-0a21-4c54-a985-66a525f6946e"
    },
    "requestID": "311b9529-4aad-42ac-8408-c06c6fec79a9",
    "eventID": "c0f3aa2c-af22-48c1-8161-bad4a2ab1841",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "eventCategory": "Management",
    "recipientAccountId": "123456789012"
}
```

# Raccogli dati di telemetria sanitaria del sistema dai dispositivi principali AWS IoT Greengrass
<a name="telemetry"></a>

I dati di telemetria sullo stato del sistema sono dati diagnostici che possono aiutarti a monitorare le prestazioni delle operazioni critiche sui tuoi dispositivi principali Greengrass. È possibile creare progetti e applicazioni per recuperare, analizzare, trasformare e generare report sui dati di telemetria dai dispositivi periferici. Gli esperti del settore, come gli ingegneri di processo, possono utilizzare queste applicazioni per ottenere informazioni sullo stato della flotta.

È possibile utilizzare i seguenti metodi per raccogliere dati di telemetria dai dispositivi principali Greengrass:
+ Componente emettitore di **telemetria Nucleus: il componente emettitore** di [telemetria nucleus (`aws.greengrass.telemetry.NucleusEmitter`) su un dispositivo core Greengrass pubblica i dati di telemetria](nucleus-emitter-component.md) sull'argomento per impostazione predefinita. `$local/greengrass/telemetry` Puoi utilizzare i dati pubblicati su questo argomento per agire localmente sul tuo dispositivo principale, anche quando la connettività del dispositivo al cloud è limitata. Facoltativamente, puoi anche configurare il componente per pubblicare dati di telemetria su un argomento AWS IoT Core MQTT di tua scelta.

  È necessario distribuire il componente Nucleus Emitter su un dispositivo principale per pubblicare i dati di telemetria. Non sono previsti costi associati alla pubblicazione dei dati di telemetria sull'argomento locale. [Tuttavia, l'uso di un argomento MQTT per la pubblicazione di dati su Cloud AWS è soggetto ai prezzi.AWS IoT Core](https://aws.amazon.com/iot-core/pricing/)

  <a name="greengrass-software-catalog-influxdb-telemetry-publisher"></a>AWS IoT Greengrass fornisce diversi [componenti della community](greengrass-software-catalog.md) per aiutarti ad analizzare e visualizzare i dati di telemetria localmente sul tuo dispositivo principale utilizzando InfluxDB e Grafana. Questi componenti utilizzano i dati di telemetria del componente emettitore del nucleo. [Per ulteriori informazioni, consultate il README per il componente publisher InfluxDB.](https://github.com/awslabs/aws-greengrass-labs-telemetry-influxdbpublisher)
+ Agente di **telemetria: l'agente** di telemetria sui dispositivi core Greengrass raccoglie i dati di telemetria locali e li pubblica su Amazon senza richiedere alcuna interazione con il cliente. EventBridge I dispositivi principali pubblicano i dati EventBridge di telemetria con la massima diligenza possibile. Ad esempio, i dispositivi principali potrebbero non riuscire a fornire dati di telemetria mentre sono offline. 

  La funzionalità dell'agente di telemetria è abilitata per impostazione predefinita per tutti i dispositivi core Greengrass. Si inizia automaticamente a ricevere dati non appena si configura un dispositivo Greengrass core. Oltre ai costi del collegamento dati, il trasferimento dei dati dal dispositivo principale a AWS IoT Core è gratuito. Questo perché l'agente pubblica su un argomento AWS riservato. Tuttavia, a seconda del caso d'uso, potrebbero verificarsi dei costi quando si ricevono o si elaborano i dati.
**Nota**  
Amazon EventBridge è un servizio di bus per eventi che puoi utilizzare per connettere le tue applicazioni con dati provenienti da diverse fonti, come i dispositivi core Greengrass. Per ulteriori informazioni, consulta [What is Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) nella *Amazon EventBridge User Guide*.

Per garantire il corretto funzionamento del software AWS IoT Greengrass Core, AWS IoT Greengrass utilizza i dati per scopi di sviluppo e miglioramento della qualità. Questa funzionalità aiuta anche a sviluppare nuove e migliorate funzionalità edge. AWS IoT Greengrass conserva i dati di telemetria per un massimo di sette giorni.

Questa sezione descrive come configurare e utilizzare l'agente di telemetria. Per informazioni sulla configurazione del componente dell'emettitore di telemetria Nucleus, vedere. [Emettitore di telemetria Nucleus](nucleus-emitter-component.md)

**Topics**
+ [Metriche di telemetria](#telemetry-metrics)
+ [Configurare le impostazioni dell'agente di telemetria](#configure-telemetry-agent-settings)
+ [Iscriviti ai dati di telemetria in EventBridge](#subscribe-for-telemetry-data)

## Metriche di telemetria
<a name="telemetry-metrics"></a>

La tabella seguente descrive le metriche pubblicate dall'agente di telemetria.


| Nome | Description | 
| --- | --- | 
|  **System (Sistema)**  | 
|  `SystemMemUsage`  |  La quantità di memoria attualmente utilizzata da tutte le applicazioni sul dispositivo principale Greengrass, incluso il sistema operativo.  | 
|  `CpuUsage`  |  La quantità di CPU attualmente utilizzata da tutte le applicazioni sul dispositivo principale Greengrass, incluso il sistema operativo.  | 
|  `TotalNumberOfFDs`  |  Il numero di descrittori di file memorizzati dal sistema operativo del dispositivo principale Greengrass. Un descrittore di file identifica in modo univoco un file aperto.  | 
|  **Nucleo Greengrass**  | 
|  `NumberOfComponentsRunning`  |  Il numero di componenti in esecuzione sul dispositivo principale Greengrass.  | 
|  `NumberOfComponentsErrored`  |  Il numero di componenti in stato di errore sul dispositivo principale Greengrass.  | 
|  `NumberOfComponentsInstalled`  |  Il numero di componenti installati sul dispositivo principale Greengrass.  | 
|  `NumberOfComponentsStarting`  |  Il numero di componenti che si avviano sul dispositivo principale Greengrass.  | 
|  `NumberOfComponentsNew`  |  Il numero di componenti nuovi sul dispositivo principale Greengrass.  | 
|  `NumberOfComponentsStopping`  |  Il numero di componenti che si arrestano sul dispositivo principale Greengrass.  | 
|  `NumberOfComponentsFinished`  |  Il numero di componenti completati sul dispositivo principale Greengrass.  | 
|  `NumberOfComponentsBroken`  |  Il numero di componenti danneggiati sul dispositivo principale Greengrass.  | 
|  `NumberOfComponentsStateless`  |  Il numero di componenti stateless sul dispositivo principale Greengrass.  | 
|  **Autenticazione del dispositivo client**: questa funzionalità richiede la versione 2.4.0 o successiva del componente di autenticazione del dispositivo client.  | 
|  `VerifyClientDeviceIdentity.Success`  |  Il numero di volte in cui la verifica dell'identità del dispositivo client ha avuto esito positivo.  | 
|  `VerifyClientDeviceIdentity.Failure`  |  Il numero di volte in cui la verifica dell'identità del dispositivo client non è riuscita.  | 
|  `AuthorizeClientDeviceActions.Success`  |  Il numero di volte in cui il dispositivo client è autorizzato a completare le azioni richieste.  | 
|  `AuthorizeClientDeviceActions.Failure`  |  Il numero di volte in cui il dispositivo client non è autorizzato a completare le azioni richieste.  | 
|  `GetClientDeviceAuthToken.Success`  |  Il numero di volte in cui il dispositivo client viene autenticato con successo.  | 
|  `GetClientDeviceAuthToken.Failure`  |  Il numero di volte in cui il dispositivo client non può essere autenticato.  | 
|  `SubscribeToCertificateUpdates.Success`  |  Il numero di sottoscrizioni riuscite agli aggiornamenti dei certificati.  | 
|  `SubscribeToCertificateUpdates.Failure`  |  Il numero di tentativi falliti di sottoscrizione agli aggiornamenti dei certificati.  | 
|  `ServiceError`  |  Il numero di errori interni non gestiti nell'autenticazione del dispositivo client.  | 
|  **Stream manager**: questa funzionalità richiede la versione 2.7.0 o successiva del componente Greengrass nucleus.  | 
|  `BytesAppended`  |  Il numero di byte di dati aggiunti allo stream manager.  | 
|  `BytesUploadedToIoTAnalytics`  |  Il numero di byte di dati che Stream Manager esporta nei canali in cui sono esportati. AWS IoT Analytics  | 
|  `BytesUploadedToKinesis`  |  Il numero di byte di dati che Stream Manager esporta in flussi in Amazon Kinesis Data Streams.  | 
|  `BytesUploadedToIoTSiteWise`  |  Il numero di byte di dati in cui Stream Manager esporta nelle proprietà degli asset. AWS IoT SiteWise  | 
|  `BytesUploadedToS3`  |  Il numero di byte di dati che Stream Manager esporta in oggetti in Amazon S3.  | 
|  **Metriche di sistema**: questa funzionalità richiede la versione 2.15.0 o successiva del componente Greengrass nucleus.  | 
|  `CPUArchitecture`  |  Architettura dell'unità di elaborazione centrale del dispositivo.  | 
|  `Family`  |  Famiglia di sistemi operativi del dispositivo (solo Windows).  | 
|  `KernelVersion`  |  Versione del kernel del dispositivo (solo Unix).  | 
|  `KnowledgeBaseArticles`  |  Articoli della Knowledge Base installati su un dispositivo (solo Windows).  | 
|  `OSBuildMajor`  |  Numero di build principale della versione del sistema operativo (solo Windows).  | 
|  `OSBuildMinor`  |  Numero di build secondario della versione del sistema operativo (solo Windows).  | 
|  `OSName`  |  Nome del sistema operativo del dispositivo.  | 
|  `OSVersion`  |  Versione commerciale del sistema operativo del dispositivo.  | 

## Configurare le impostazioni dell'agente di telemetria
<a name="configure-telemetry-agent-settings"></a>

L'agente di telemetria utilizza le seguenti impostazioni predefinite:
+ L'agente di telemetria aggrega i dati di telemetria ogni ora.
+ L'agente di telemetria pubblica un messaggio di telemetria ogni 24 ore.

L'agente di telemetria pubblica i dati utilizzando il protocollo MQTT con un livello di qualità del servizio (QoS) pari a 0, il che significa che non conferma la consegna né riprova i tentativi di pubblicazione. I messaggi di telemetria condividono una connessione MQTT con altri messaggi per gli abbonamenti a cui sono destinati. AWS IoT Core

Oltre ai costi del collegamento dati, il trasferimento dei dati dal core all'altro è gratuito. AWS IoT Core Questo perché l'agente pubblica su un argomento AWS riservato. Tuttavia, a seconda del caso d'uso, potrebbero verificarsi dei costi quando si ricevono o si elaborano i dati.

È possibile abilitare o disabilitare la funzionalità dell'agente di telemetria per ogni dispositivo principale Greengrass. È inoltre possibile configurare gli intervalli in base ai quali il dispositivo principale aggrega e pubblica i dati. [Per configurare la telemetria, personalizza il parametro di [configurazione della telemetria quando](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-telemetry) distribuisci il componente Greengrass nucleus.](greengrass-nucleus-component.md)

## Iscriviti ai dati di telemetria in EventBridge
<a name="subscribe-for-telemetry-data"></a>

Puoi creare regole in Amazon EventBridge che definiscono come elaborare i dati di telemetria pubblicati dall'agente di telemetria sul dispositivo principale Greengrass. Quando EventBridge riceve i dati, richiama le azioni mirate definite nelle regole. Ad esempio, è possibile creare regole relative agli eventi che inviano notifiche, archiviano informazioni sugli eventi, intraprendono azioni correttive o richiamano altri eventi.

### Eventi di telemetria
<a name="events-message-format"></a>

Gli eventi di telemetria utilizzano il formato seguente.

```
{
  "version": "0",
  "id": "a09d303e-2f6e-3d3c-a693-8e33f4fe3955",
  "detail-type": "Greengrass Telemetry Data",
  "source": "aws.greengrass",
  "account": "123456789012",
  "time": "2020-11-30T20:45:53Z",
  "region": "us-east-1",
  "resources": [],
  "detail": {
    "ThingName": "MyGreengrassCore",
    "Schema": "2020-07-30",
    "ADP": [
      {
        "TS": 1602186483234,
        "NS": "SystemMetrics",
        "M": [
          {
            "N": "TotalNumberOfFDs",
            "Sum": 6447.0,
            "U": "Count"
          },
          {
            "N": "CpuUsage",
            "Sum": 15.458333333333332,
            "U": "Percent"
          },
          {
            "N": "SystemMemUsage",
            "Sum": 10201.0,
            "U": "Megabytes"
          }
        ]
      },
      {
        "TS": 1602186483234,
        "NS": "GreengrassComponents",
        "M": [
          {
            "N": "NumberOfComponentsStopping",
            "Sum": 0.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsStarting",
            "Sum": 0.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsBroken",
            "Sum": 0.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsFinished",
            "Sum": 1.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsInstalled",
            "Sum": 0.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsRunning",
            "Sum": 7.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsNew",
            "Sum": 0.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsErrored",
            "Sum": 0.0,
            "U": "Count"
          },
          {
            "N": "NumberOfComponentsStateless",
            "Sum": 0.0,
            "U": "Count"
          }
        ]
      },
      {
        "TS": 1602186483234,
        "NS": "aws.greengrass.ClientDeviceAuth",
        "M": [
          {
            "N": "VerifyClientDeviceIdentity.Success",
            "Sum": 3.0,
            "U": "Count"
          },
          {
            "N": "VerifyClientDeviceIdentity.Failure",
            "Sum": 1.0,
            "U": "Count"
          },
          {
            "N": "AuthorizeClientDeviceActions.Success",
            "Sum": 20.0,
            "U": "Count"
          },
          {
            "N": "AuthorizeClientDeviceActions.Failure",
            "Sum": 5.0,
            "U": "Count"
          },
          {
            "N": "GetClientDeviceAuthToken.Success",
            "Sum": 5.0,
            "U": "Count"
          },
          {
            "N": "GetClientDeviceAuthToken.Failure",
            "Sum": 2.0,
            "U": "Count"
          },
          {
            "N": "SubscribeToCertificateUpdates.Success",
            "Sum": 10.0,
            "U": "Count"
          },
          {
            "N": "SubscribeToCertificateUpdates.Failure",
            "Sum": 1.0,
            "U": "Count"
          },
          {
            "N": "ServiceError",
            "Sum": 3.0,
            "U": "Count"
          }
        ]
      },
      {
        "TS": 1602186483234,
        "NS": "aws.greengrass.StreamManager",
        "M": [
          {
            "N": "BytesAppended",
            "Sum": 157745524.0,
            "U": "Bytes"
          },
          {
            "N": "BytesUploadedToIoTAnalytics",
            "Sum": 149012.0,
            "U": "Bytes"
          },
          {
            "N": "BytesUploadedToKinesis",
            "Sum": 12192.0,
            "U": "Bytes"
          },
          {
            "N": "BytesUploadedToIoTSiteWise",
            "Sum": 13321.0,
            "U": "Bytes"
          },
          {
            "N": "BytesUploadedToS3",
            "Sum": 12213.0,
            "U": "Bytes"
          }
        ]
      }
      {
        "TS": 1750104449426,
        "NS": "SystemMetrics",
        "M": [
          {
            "N": "KernelVersion",
            "Sum": 1,
            "U": "6.1.140-154.222.amzn2023.x86_64"
          },
          {
            "N": "OSVersion",
            "Sum": 1,
            "U": "2023.7.20250609"
          },
          {
            "N": "OSName",
            "Sum": 1,
            "U": "Amazon Linux"
          },
          {
            "N": "CPUArchitecture",
            "Sum": 1,
            "U": "Broadwell (Server)"
          },
        ]
      }
    ]
  }
}
```<a name="telemetry-agent-adp-array-config"></a>

L'`ADP`array contiene un elenco di punti dati aggregati con le seguenti proprietà:

`TS`  
Il timestamp di quando i dati sono stati raccolti.

`NS`  
Il namespace della metrica.

`M`  
L'elenco delle metriche. Una metrica contiene le seguenti proprietà:    
`N`  
Nome del parametro.  
`Sum`  
La somma dei valori della metrica in questo evento di telemetria.  
`U`  
L'unità del valore metrico.

Per ulteriori informazioni su ciascuna metrica, consulta [Metriche di telemetria](#telemetry-metrics).

### Prerequisiti per creare regole EventBridge
<a name="create-events-rule-prerequisites-telemetry"></a>

Prima di creare una EventBridge regola per AWS IoT Greengrass, è necessario effettuare le seguenti operazioni:
+ Acquisisci familiarità con eventi, regole e obiettivi in. EventBridge
+ Crea e configura gli [obiettivi](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-targets.html) richiamati dalle tue regole. EventBridge Le regole possono richiamare molti tipi di destinazioni, ad esempio stream Amazon Kinesis, funzioni AWS Lambda , argomenti Amazon SNS e code Amazon SQS.

  La tua EventBridge regola e gli obiettivi associati devono trovarsi nello stesso luogo in Regione AWS cui hai creato le tue risorse Greengrass. Per ulteriori informazioni, consulta [Service endpoints and quotas](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) in. *Riferimenti generali di AWS*

Per ulteriori informazioni, consulta [What is Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) e [Guida introduttiva ad Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-getting-set-up.html) nella *Amazon EventBridge User Guide*.

### Crea una regola di evento per ottenere dati di telemetria (console)
<a name="create-telemetry-event-rule-console"></a>

Utilizza i seguenti passaggi per Console di gestione AWS creare una EventBridge regola che riceva i dati di telemetria pubblicati dal dispositivo principale Greengrass. Ciò consente a server Web, indirizzi e-mail e altri sottoscrittori di argomenti di rispondere all'evento. Per ulteriori informazioni, consulta [Creazione di una EventBridge regola che si attiva su un evento da una AWS risorsa](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) nella *Amazon EventBridge User Guide*.

1. Apri la [ EventBridgeconsole Amazon](https://console.aws.amazon.com/events/) e scegli **Crea regola**.

1. In **Nome e descrizione**, immettere un nome e una descrizione per la regola.

1. In **Definisci modello**, configurare il modello di regola.

   1. Scegli **Event pattern** (Modello di eventi).

   1. Scegliere **Pre-defined pattern by service (Modello predefinito per servizio)**.

   1. Per **Service provider (Provider di servizi)**, scegliere **AWS**.

   1. Per **Nome servizio**, scegliere **Greengrass**.

   1. Per **Tipo di evento**, seleziona **Greengrass Telemetry** Data.

1. In **Seleziona bus eventi**, mantenere le opzioni predefinite del bus eventi.

1. In **Seleziona destinazioni**, configura la tua destinazione. L'esempio seguente utilizza una coda Amazon SQS, ma puoi configurare altri tipi di destinazione.

   1. Per **Target**, scegli la coda **SQS**.

   1. Per **Queue\$1**, scegli la coda di destinazione.

1. In **Tag - facoltativo**, definire i tag per la regola o lasciare i campi vuoti.

1. Scegli **Create** (Crea).

### Crea una regola di evento per ottenere dati di telemetria (CLI)
<a name="create-telemetry-event-rule-cli"></a>

Utilizza i seguenti passaggi per AWS CLI creare una EventBridge regola che riceva i dati di telemetria pubblicati dai dispositivi principali di Greengrass. Ciò consente a server Web, indirizzi e-mail e altri sottoscrittori di argomenti di rispondere all'evento.

1. Crea la regola.
   + Sostituire *thing-name* con il nome dell'oggetto del dispositivo principale.

------
#### [ Linux or Unix ]

   ```
   aws events put-rule \
     --name MyGreengrassTelemetryEventRule \
     --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"ThingName\": [\"thing-name\"]}}"
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   aws events put-rule ^
     --name MyGreengrassTelemetryEventRule ^
     --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"ThingName\": [\"thing-name\"]}}"
   ```

------
#### [ PowerShell ]

   ```
   aws events put-rule `
     --name MyGreengrassTelemetryEventRule `
     --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail\": {\"ThingName\": [\"thing-name\"]}}"
   ```

------

   Le proprietà omesse dal modello vengono ignorate.

1. Aggiungi l'argomento come destinazione della regola. L'esempio seguente utilizza Amazon SQS ma puoi configurare altri tipi di destinazione.
   + Sostituisci *queue-arn* con l'ARN della tua coda Amazon SQS.

------
#### [ Linux or Unix ]

   ```
   aws events put-targets \
     --rule MyGreengrassTelemetryEventRule \
     --targets "Id"="1","Arn"="queue-arn"
   ```

------
#### [ Windows Command Prompt (CMD) ]

   ```
   aws events put-targets ^
     --rule MyGreengrassTelemetryEventRule ^
     --targets "Id"="1","Arn"="queue-arn"
   ```

------
#### [ PowerShell ]

   ```
   aws events put-targets `
     --rule MyGreengrassTelemetryEventRule `
     --targets "Id"="1","Arn"="queue-arn"
   ```

------
**Nota**  
Per consentire EventBridge ad Amazon di richiamare la tua coda di destinazione, devi aggiungere una politica basata sulle risorse all'argomento. Per ulteriori informazioni, consulta le [autorizzazioni di Amazon SQS](https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sqs-permissions) nella *Amazon EventBridge * User Guide.

Per ulteriori informazioni, consulta la sezione [Eventi e modelli di eventi EventBridge nella](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) *Amazon EventBridge User Guide*.

# Ricevi notifiche sullo stato di implementazione e integrità dei componenti
<a name="deployment-health-notifications"></a>

Le regole EventBridge degli eventi di Amazon ti forniscono notifiche sui cambiamenti di stato per le tue distribuzioni Greengrass ricevute dai tuoi dispositivi e per i componenti installati sul tuo dispositivo. EventBridge fornisce un flusso quasi in tempo reale di eventi di sistema che descrive i cambiamenti nelle risorse. AWS AWS IoT Greengrass invia questi eventi a con EventBridge la massima *diligenza possibile*. Ciò significa che AWS IoT Greengrass tenta di inviare tutti gli eventi a EventBridge ma, in alcuni rari casi, un evento potrebbe non essere consegnato. Inoltre, è AWS IoT Greengrass possibile inviare più copie di un determinato evento, il che significa che gli ascoltatori dell'evento potrebbero non ricevere gli eventi nell'ordine in cui si sono verificati. 

**Nota**  
Amazon EventBridge è un servizio di bus di eventi che puoi utilizzare per connettere le tue applicazioni con dati provenienti da una varietà di fonti, come [i dispositivi principali Greengrass](telemetry.md) e le notifiche di distribuzione e componenti. Per ulteriori informazioni, consulta [What is Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) nella *Amazon EventBridge User Guide*.

**Topics**
+ [Evento di modifica dello stato di implementazione](#deployment.events-message-format)
+ [Evento di modifica dello stato del componente](#component.events-message-format)
+ [Prerequisiti per la creazione di regole EventBridge](#create-events-rule-prereqs)
+ [Configura le notifiche sullo stato del dispositivo (console)](#create-events-rule-console)
+ [Configurazione delle notifiche sullo stato del dispositivo (CLI)](#create-events-rule-cli)
+ [Configura le notifiche sullo stato del dispositivo (CloudFormation)](#create-events-rule-cloudformation)
+ [Consulta anche](#deployment-notifications-see-also)

## Evento di modifica dello stato di implementazione
<a name="deployment.events-message-format"></a>

AWS IoT Greengrass emette un evento quando una distribuzione entra nei seguenti stati:`FAILED`,`SUCCEEDED`, `COMPLETED``REJECTED`, e`CANCELED`. È possibile creare una EventBridge regola che venga eseguita per tutte le transizioni di stato o le transizioni verso gli stati specificati. Quando una distribuzione entra in uno stato che avvia una regola, EventBridge richiama le azioni target definite nella regola. In questo modo è possibile inviare notifiche, acquisire informazioni sugli eventi, intraprendere azioni correttive o avviare altri eventi in risposta a una modifica dello stato. Ad esempio, è possibile creare regole per i seguenti casi d'uso:
+ Avvia le operazioni successive all'implementazione, come il download delle risorse e la notifica al personale.
+ Inviare notifiche in caso di distribuzione riuscita o non riuscita.
+ Pubblicare parametri personalizzati sugli eventi di distribuzione.

L'[evento](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html) per una modifica dello stato della distribuzione utilizza il formato seguente:

```
{
    "version":"0",
    "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8",
    "detail-type":"Greengrass V2 Effective Deployment Status Change",
    "source":"aws.greengrass",
    "account":"123456789012",
    "region":"us-west-2",
    "time":"2018-03-22T00:38:11Z",
    "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"],
    "detail":{    
        "deploymentId": "4f38f1a7-3dd0-42a1-af48-EXAMPLE09681",
        "coreDeviceExecutionStatus": "FAILED|SUCCEEDED|COMPLETED|REJECTED|CANCELED",
        "statusDetails": {
          "errorStack": ["DEPLOYMENT_FAILURE", "ARTIFACT_DOWNLOAD_ERROR", "S3_ERROR", "S3_ACCESS_DENIED", "S3_HEAD_OBJECT_ACCESS_DENIED"],
          "errorTypes": ["DEPENDENCY_ERROR", "PERMISSION_ERROR"],
        },
        "reason": "S3_HEAD_OBJECT_ACCESS_DENIED: FAILED_NO_STATE_CHANGE: Failed to download artifact name: 's3://pentest27/nucleus/281/aws.greengrass.nucleus.zip' for component aws.greengrass.Nucleus-2.8.1, reason: S3 HeadObject returns 403 Access Denied. Ensure the IAM role associated with the core device has a policy granting s3:GetObject. null (Service: S3, Status Code: 403, Request ID: HR94ZNT2161DAR58, Extended Request ID: wTX4DDI+qigQt3uzwl9rlnQiYlBgwvPm/KJFWeFAn9t1mnGXTms/luLCYANgq08RIH+x2H+hEKc=)"
     }
}
```

Puoi creare regole ed eventi che ti aggiorneranno sullo stato di una distribuzione. Un evento viene avviato quando una distribuzione viene completata come`FAILED`,, `SUCCEEDED` `COMPLETED``REJECTED`, o. `CANCELED` Se la distribuzione non è riuscita sul dispositivo principale, riceverai una risposta dettagliata che spiega perché la distribuzione non è riuscita. Per ulteriori informazioni sui codici di errore di distribuzione, consulta[Codici di errore di distribuzione dettagliati](troubleshooting-deployment.md).

**Stati della distribuzione**  
+ `FAILED`. La distribuzione non è riuscita.
+ `SUCCEEDED`. La distribuzione destinata a un gruppo di oggetti è stata completata con successo.
+ `COMPLETED`. L'implementazione mirata a un'operazione è stata completata con successo.
+ `REJECTED`. La distribuzione è stata rifiutata. Per ulteriori informazioni, consulta il `statusDetails` campo.
+ `CANCELED`. La distribuzione è stata annullata dall'utente.

È possibile che gli eventi vengano duplicati o non funzionino. Per determinare l'ordine degli eventi, utilizza la proprietà `time`.

Per un elenco completo dei codici di errore in `errorStacks` and`errorTypes`, consulta [Codici di errore di distribuzione dettagliati](troubleshooting-deployment.md) e. [Codici di stato dettagliati dei componenti](troubleshooting-component.md)

## Evento di modifica dello stato del componente
<a name="component.events-message-format"></a>

Per AWS IoT Greengrass le versioni 2.12.2 e precedenti, Greengrass emette un evento quando un componente entra nei seguenti stati: e. `ERRORED` `BROKEN` Per le versioni 2.12.3 e successive di Greengrass nucleus, Greengrass emette un evento quando un componente entra nei seguenti stati:,, e. `ERRORED` `BROKEN` `RUNNING` `FINISHED` Greengrass emetterà anche un evento al termine di un dispiegamento. È possibile creare una EventBridge regola che venga eseguita per tutte le transizioni di stato o le transizioni verso gli stati specificati. Quando un componente installato entra in uno stato che avvia una regola, EventBridge richiama le azioni di destinazione definite nella regola. In questo modo è possibile inviare notifiche, acquisire informazioni sugli eventi, intraprendere azioni correttive o avviare altri eventi in risposta a una modifica dello stato.

L'[evento relativo](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html) alla modifica dello stato di un componente utilizza i seguenti formati:

------
#### [ Greengrass nucleus v2.12.2 and earlier ]

Stato del componente: `ERRORED` o `BROKEN`  

```
{
    "version":"0",
    "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8",
    "detail-type":"Greengrass V2 Installed Component Status Change",
    "source":"aws.greengrass",
    "account":"123456789012",
    "region":"us-west-2",
    "time":"2018-03-22T00:38:11Z",
    "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"],
    "detail": {
       "components": [
          {
            "componentName": "MyComponent",
            "componentVersion": "1.0.0",
            "root": true,
            "lifecycleState": "ERRORED|BROKEN",
            "lifecycleStatusCodes": ["STARTUP_ERROR"],
            "lifecycleStateDetails": "An error occurred during startup. The startup script exited with code 1."
          }
        ]
    }
}
```

------
#### [ Greengrass nucleus v2.12.3 and later ]

Stato del componente: `ERRORED` o `BROKEN`  

```
{
    "version":"0",
    "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8",
    "detail-type":"Greengrass V2 Installed Component Status Change",
    "source":"aws.greengrass",
    "account":"123456789012",
    "region":"us-west-2",
    "time":"2018-03-22T00:38:11Z",
    "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"],
    "detail": {
       "components": [
          {
            "componentName": "MyComponent",
            "componentVersion": "1.0.0",
            "root": true,
            "lifecycleState": "ERRORED|BROKEN",
            "lifecycleStatusCodes": ["STARTUP_ERROR"],
            "lifecycleStateDetails": "An error occurred during startup. The startup script exited with code 1."
          }
        ]
    }
}
```

Stato del componente: `RUNNING` o `FINISHED`  

```
{
    "version":"0",
    "id":" cd4d811e-ab12-322b-8255-EXAMPLEb1bc8",
    "detail-type":"Greengrass V2 Installed Component Status Change",
    "source":"aws.greengrass",
    "account":"123456789012",
    "region":"us-west-2",
    "time":"2018-03-22T00:38:11Z",
    "resources":["arn:aws:greengrass:us-east-1:123456789012:coreDevices:MyGreengrassCore"],
    "detail": {
       "components": [
          {
            "componentName": "MyComponent",
            "componentVersion": "1.0.0",
            "root": true,
            "lifecycleState": "RUNNING|FINISHED",
            "lifecycleStateDetails": null
          }
        ]
    }
}
```

------

Puoi creare regole ed eventi che ti aggiorneranno sullo stato di un componente installato. Un evento viene avviato quando un componente cambia stato sul dispositivo. Riceverai una risposta dettagliata che spiega perché un componente presenta un errore o è guasto. Riceverai anche un codice di stato che indicherà il motivo dell'errore. Per ulteriori informazioni sui codici di stato dei componenti, vedere[Codici di stato dettagliati dei componenti](troubleshooting-component.md).

## Prerequisiti per la creazione di regole EventBridge
<a name="create-events-rule-prereqs"></a>

Prima di creare una EventBridge regola per AWS IoT Greengrass, procedi come segue:
+ Acquisisci familiarità con eventi, regole e obiettivi in. EventBridge
+ Crea e configura gli obiettivi richiamati dalle tue regole. EventBridge Le regole possono richiamare molti tipi di target, tra cui:
  + Amazon Simple Notification Service (Amazon SNS)
  + AWS Lambda funzioni
  + Amazon Kinesis Video Streams
  + Code di Amazon Simple Queue Service (Amazon SQS)

Per ulteriori informazioni, consulta [What is Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) e [Guida introduttiva ad Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-getting-set-up.html) nella *Amazon EventBridge User Guide*.

## Configura le notifiche sullo stato del dispositivo (console)
<a name="create-events-rule-console"></a>

Utilizza i seguenti passaggi per creare una EventBridge regola che pubblichi un argomento di Amazon SNS quando lo stato di distribuzione cambia per un gruppo. Ciò consente a server Web, indirizzi e-mail e altri sottoscrittori di argomenti di rispondere all'evento. Per ulteriori informazioni, consulta [Creazione di una EventBridge regola che si attiva su un evento da una AWS risorsa](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) nella *Amazon EventBridge User Guide*.

1. Apri la [ EventBridgeconsole Amazon](https://console.aws.amazon.com/events/).

1. Nel pannello di navigazione, scegli **Regole**.

1. Scegli **Crea regola**.

1. Inserisci un nome e una descrizione per la regola.

   Una regola non può avere lo stesso nome di un'altra regola nella stessa Regione e sullo stesso router di eventi.

1. Per **Select event bus** (Seleziona bus di eventi), scegli il bus di eventi che desideri associare a questa regola. Se la regola deve cercare eventi corrispondenti provenienti dal tuo account, seleziona **Bus di eventi predefiniti di AWS **. Quando un AWS servizio del tuo account emette un evento, questo passa sempre al bus eventi predefinito del tuo account.

1. Per **Tipo di regola**, scegli **Regola con un modello di eventi**.

1. Scegli **Next (Successivo)**.

1. Per **Event source** (Origine eventi), seleziona **AWS events** (Eventi ).

1. Per **Event pattern**, scegli **AWS servizi**.

1. Per l'**AWS assistenza**, scegli Greengrass.

1. Per il **tipo di evento**, scegli tra le seguenti opzioni:
   + Per gli eventi di implementazione, scegli **Greengrass V2 Effective Deployment** Status Change.
   + Per gli eventi relativi ai componenti, scegliete **Greengrass V2 Installed Component** Status Change.

1. Scegli **Next (Successivo)**.

1. Per **Tipi di destinazione**, scegli **servizio AWS **.

1. Per **Seleziona una destinazione**, configura la tua destinazione. Questo esempio utilizza un argomento Amazon SNS, ma puoi configurare altri tipi di destinazione per inviare notifiche.

   1. In **Target (Destinazione)**, scegli **SNS topic (Argomento SNS)**.

   1. Per **Argomento**, scegli l'argomento di destinazione.

   1. Scegli **Next (Successivo)**.

1. Scegli **Next (Successivo)**.

1. Rivedi i dettagli della regola e scegli **Crea regola**.

## Configurazione delle notifiche sullo stato del dispositivo (CLI)
<a name="create-events-rule-cli"></a>

Utilizza i seguenti passaggi per creare una EventBridge regola che pubblichi un argomento di Amazon SNS quando si verifica un evento di modifica dello stato di Greengrass. Ciò consente a server Web, indirizzi e-mail e altri sottoscrittori di argomenti di rispondere all'evento.

1. Crea la regola.
   + Per gli eventi di modifica dello stato di implementazione.

     ```
     aws events put-rule \
       --name TestRule \
       --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail-type\": [\"Greengrass V2 Effective Deployment Status Change\"]}"
     ```
   + Per gli eventi di modifica dello stato dei componenti.

     ```
     aws events put-rule \
       --name TestRule \
       --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail-type\": [\"Greengrass V2 Installed Component Status Change\"]}"
     ```

   Le proprietà omesse dal modello vengono ignorate.

1. Aggiungi l'argomento come destinazione della regola.
   + Sostituisci *topic-arn* con l'ARN del tuo argomento Amazon SNS.

   ```
   aws events put-targets \
     --rule TestRule \
     --targets "Id"="1","Arn"="topic-arn"
   ```
**Nota**  
Per consentire EventBridge ad Amazon di indicare il tuo argomento di riferimento, devi aggiungere una politica basata sulle risorse all'argomento. Per ulteriori informazioni, consulta le [autorizzazioni di Amazon SNS](https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sns-permissions) nella *Amazon EventBridge * User Guide.

Per ulteriori informazioni, consulta la sezione [Eventi e modelli di eventi EventBridge nella](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) *Amazon EventBridge User Guide*.

## Configura le notifiche sullo stato del dispositivo (CloudFormation)
<a name="create-events-rule-cloudformation"></a>

Utilizza CloudFormation i modelli per creare EventBridge regole che inviano notifiche sui cambiamenti di stato per le implementazioni del tuo gruppo Greengrass. Per ulteriori informazioni, consulta il [riferimento ai tipi di EventBridge risorse Amazon](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Events.html) nella *Guida AWS CloudFormation per l'utente*.

## Consulta anche
<a name="deployment-notifications-see-also"></a>
+ [Controlla lo stato di distribuzione del dispositivo](check-deployment-status.md#check-device-deployment-status)
+ [Che cos'è Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) nella *Amazon EventBridge User Guide*

# Controlla lo stato del dispositivo Greengrass core
<a name="device-status"></a>

I dispositivi core Greengrass segnalano lo stato dei loro componenti software a. AWS IoT GreengrassÈ possibile controllare il riepilogo dello stato di salute di ciascun dispositivo e controllare lo stato di ciascun componente su ciascun dispositivo.

I dispositivi principali hanno i seguenti stati di salute:
+ `HEALTHY`— Il software AWS IoT Greengrass Core e tutti i componenti funzionano senza problemi sul dispositivo principale.
+ `UNHEALTHY`— Il software AWS IoT Greengrass Core o un componente si trova in uno stato di errore sul dispositivo principale.

**Nota**  
AWS IoT Greengrass si affida ai singoli dispositivi per inviare aggiornamenti di stato a. Cloud AWS Se il software AWS IoT Greengrass Core non è in esecuzione sul dispositivo, o se il dispositivo non è connesso a Cloud AWS, lo stato riportato di quel dispositivo potrebbe non riflettere il suo stato attuale. Il timestamp dello stato indica quando lo stato del dispositivo è stato aggiornato l'ultima volta.  
I dispositivi principali inviano aggiornamenti di stato nei seguenti orari:  
All'avvio del software AWS IoT Greengrass Core
Quando il dispositivo principale riceve una distribuzione dal Cloud AWS
Per Greengrass nucleus 2.12.2 e versioni precedenti, il dispositivo principale invia aggiornamenti di stato quando lo stato di qualsiasi componente sul dispositivo principale diventa o `ERRORED` `BROKEN`
Per Greengrass nucleus 2.12.3 e versioni successive, il dispositivo principale invia aggiornamenti di stato quando lo stato di un componente del dispositivo principale diventa,, o `ERRORED` `BROKEN` `RUNNING` `FINISHED`
A [intervalli regolari configurabili, che](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-fss) per impostazione predefinita sono 24 ore
Per AWS IoT Greengrass Core v2.7.0 e versioni successive, il dispositivo principale invia aggiornamenti di stato quando si verifica la distribuzione locale e la distribuzione nel cloud

**Topics**
+ [Verifica lo stato di salute di un dispositivo principale](#check-core-device-health-status)
+ [Verifica lo stato di un gruppo di dispositivi principale](#check-core-device-group-health-status)
+ [Controlla lo stato dei componenti del dispositivo principale](#check-core-device-component-status)

## Verifica lo stato di salute di un dispositivo principale
<a name="check-core-device-health-status"></a>

Puoi controllare lo stato dei singoli dispositivi principali.

**Per verificare lo stato di un dispositivo principale (AWS CLI)**
+ Eseguite il comando seguente per recuperare lo stato di un dispositivo. Sostituisci *coreDeviceName* con il nome del dispositivo principale da interrogare.

  ```
  aws greengrassv2 get-core-device --core-device-thing-name coreDeviceName
  ```

  La risposta contiene informazioni sul dispositivo principale, incluso lo stato.

## Verifica lo stato di un gruppo di dispositivi principale
<a name="check-core-device-group-health-status"></a>

È possibile controllare lo stato di un gruppo di dispositivi principali (un gruppo di oggetti).

**Per controllare lo stato di un gruppo di dispositivi (AWS CLI)**
+ Esegui il comando seguente per recuperare lo stato di più dispositivi principali. Sostituire l'ARN nel comando con l'ARN del gruppo di cose da interrogare.

  ```
  aws greengrassv2 list-core-devices --thing-group-arn "arn:aws:iot:region:account-id:thinggroup/thingGroupName"
  ```

  La risposta contiene l'elenco dei dispositivi principali del gruppo di oggetti. Ogni voce dell'elenco contiene lo stato del dispositivo principale.

## Controlla lo stato dei componenti del dispositivo principale
<a name="check-core-device-component-status"></a>

È possibile controllare lo stato, ad esempio lo stato del ciclo di vita, dei componenti software su un dispositivo principale. Per ulteriori informazioni sugli stati del ciclo di vita dei componenti, vedere. [Sviluppa AWS IoT Greengrass componenti](develop-greengrass-components.md)

**Per controllare lo stato dei componenti su un dispositivo principale ()AWS CLI**
+ Eseguite il comando seguente per recuperare lo stato dei componenti su un dispositivo principale. Sostituisci *coreDeviceName* con il nome del dispositivo principale da interrogare.

  ```
  aws greengrassv2 list-installed-components --core-device-thing-name coreDeviceName
  ```

  La risposta contiene l'elenco dei componenti che funzionano sul dispositivo principale. Ogni voce dell'elenco contiene lo stato del ciclo di vita del componente, incluso lo stato attuale dei dati e l'ultima volta che il dispositivo principale Greengrass ha inviato un messaggio contenente un determinato componente al cloud. La risposta includerà anche la fonte di distribuzione più recente che ha portato il componente al dispositivo principale Greengrass.
**Nota**  
Questo comando recupera un elenco impaginato dei componenti eseguiti da un dispositivo core Greengrass. Per impostazione predefinita, questo elenco non include i componenti che vengono distribuiti come dipendenze di altri componenti. È possibile includere dipendenze nella risposta impostando il parametro su. `topologyFilter` `ALL`