

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Connexion et surveillance AWS IoT Greengrass
<a name="logging-and-monitoring"></a>

La surveillance joue un rôle important dans le maintien de la fiabilité, de la disponibilité AWS IoT Greengrass et des performances de vos AWS solutions. Vous devez collecter des données de surveillance provenant de toutes les parties de votre AWS solution afin de pouvoir corriger plus facilement une défaillance multipoint, le cas échéant. Avant de commencer la surveillance AWS IoT Greengrass, vous devez créer un plan de surveillance qui inclut les réponses aux questions suivantes :
+ Quels sont les objectifs de la surveillance ?
+ Quelles sont les ressources à surveiller ?
+ A quelle fréquence les ressources doivent-elles être surveillées ?
+ Quels outils de surveillance utiliser ?
+ Qui exécute les tâches de supervision ?
+ Qui doit être informé en cas de problème ?

**Topics**
+ [Outils de surveillance](#monitoring-tools)
+ [AWS IoT Greengrass Journaux de surveillance](monitor-logs.md)
+ [Enregistrez les appels AWS IoT Greengrass V2 d'API avec AWS CloudTrail](logging-using-cloudtrail.md)
+ [Collectez les données de télémétrie relatives à l'état du système à partir des principaux appareils AWS IoT Greengrass](telemetry.md)
+ [Recevez des notifications relatives au déploiement et à l'état de santé des composants](deployment-health-notifications.md)
+ [Vérifiez l'état de l'appareil Greengrass Core](device-status.md)

## Outils de surveillance
<a name="monitoring-tools"></a>

AWS fournit des outils que vous pouvez utiliser pour surveiller AWS IoT Greengrass. Vous pouvez configurer certains de ces outils afin qu'ils effectuent la surveillance à votre place. Une intervention manuelle est nécessaire pour certains outils. Nous vous recommandons d’automatiser le plus possible les tâches de supervision.

Vous pouvez utiliser les outils de surveillance automatique suivants pour surveiller AWS IoT Greengrass et signaler les problèmes :
+ **Amazon CloudWatch Logs** — Surveillez, stockez et accédez à vos fichiers journaux depuis AWS CloudTrail ou d'autres sources. Pour plus d'informations, consultez la section [Surveillance des fichiers journaux](https://docs.aws.amazon.com/AmazonCloudWatch/latest/DeveloperGuide/WhatIsCloudWatchLogs.html) dans le *guide de CloudWatch l'utilisateur Amazon*.
+ **AWS CloudTrail Surveillance des journaux** : partagez les fichiers journaux entre les comptes, surveillez les fichiers CloudTrail CloudWatch journaux en temps réel en les envoyant à Logs, écrivez des applications de traitement des journaux en Java et vérifiez que vos fichiers journaux n'ont pas changé après leur livraison par CloudTrail. Pour plus d'informations, consultez la section [Utilisation des fichiers CloudTrail journaux](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-working-with-log-files.html) dans le *Guide de AWS CloudTrail l'utilisateur*.
+ **Télémétrie de santé du système Greengrass — Abonnez-vous pour recevoir les données de télémétrie** envoyées depuis le cœur de Greengrass. Pour de plus amples informations, veuillez consulter [Collectez les données de télémétrie relatives à l'état du système à partir des principaux appareils AWS IoT Greengrass](telemetry.md).
+ **Notifications relatives à l'état de l'appareil** Créez des événements EventBridge à l'aide d'Amazon pour recevoir des mises à jour sur l'état des déploiements et des composants. Pour de plus amples informations, veuillez consulter [Recevez des notifications relatives au déploiement et à l'état de santé des composants](deployment-health-notifications.md).
+ **Service d'état du parc** : utilisez les opérations de l'API d'état du parc pour vérifier l'état des principaux appareils et de leurs composants Greengrass. Vous pouvez également consulter les informations sur l'état du parc dans la AWS IoT Greengrass console. Pour de plus amples informations, veuillez consulter [Vérifiez l'état de l'appareil Greengrass Core](device-status.md).

# AWS IoT Greengrass Journaux de surveillance
<a name="monitor-logs"></a>

AWS IoT Greengrass comprend le service cloud et le logiciel AWS IoT Greengrass de base. Le logiciel AWS IoT Greengrass Core peut écrire des CloudWatch journaux sur Amazon Logs et dans le système de fichiers local de l'appareil principal. Les composants Greengrass qui s'exécutent sur le périphérique principal peuvent également écrire des journaux dans Logs et dans le système de fichiers local. CloudWatch Vous pouvez utiliser les journaux pour surveiller les événements et résoudre les problèmes. Toutes les entrées du AWS IoT Greengrass journal incluent un horodatage, un niveau de journalisation et des informations sur l'événement.

Par défaut, le logiciel AWS IoT Greengrass Core écrit les journaux uniquement dans le système de fichiers local. Vous pouvez consulter les journaux du système de fichiers en temps réel afin de pouvoir déboguer les composants Greengrass que vous développez et déployez. Vous pouvez également configurer un périphérique principal pour écrire des journaux dans CloudWatch des journaux, afin de pouvoir dépanner le périphérique principal sans accéder au système de fichiers local. Pour de plus amples informations, veuillez consulter [Activer la journalisation dans CloudWatch Logs](#enable-cloudwatch-logs).

**Topics**
+ [Accéder aux journaux du système de fichiers](#access-local-logs)
+ [CloudWatch Journaux d'accès](#access-cloudwatch-logs)
+ [Accédez aux journaux de service du système](#access-system-service-logs)
+ [Activer la journalisation dans CloudWatch Logs](#enable-cloudwatch-logs)
+ [Configurer la journalisation pour AWS IoT Greengrass](#configure-logging)
+ [AWS CloudTrail journaux](#cloudtrail-integration)

## Accéder aux journaux du système de fichiers
<a name="access-local-logs"></a>

Le logiciel AWS IoT Greengrass Core stocke les journaux dans le `/greengrass/v2/logs` dossier d'un périphérique principal, où se `/greengrass/v2` trouve le chemin d'accès au dossier AWS IoT Greengrass racine. La structure du dossier logs est la suivante.

```
/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`— Le fichier journal du logiciel AWS IoT Greengrass Core. Utilisez ce fichier journal pour afficher des informations en temps réel sur les composants et les déploiements. Ce fichier journal inclut les journaux du noyau Greengrass, qui est le cœur du logiciel AWS IoT Greengrass Core, et les composants du plugin, tels que le gestionnaire de [journaux et le gestionnaire](log-manager-component.md) de [secrets](secret-manager-component.md).
+ `ComponentName.log`— Fichiers journaux des composants Greengrass. Utilisez les fichiers journaux des composants pour afficher des informations en temps réel sur un composant Greengrass qui s'exécute sur le périphérique principal. Les composants génériques et les composants Lambda écrivent une sortie standard (stdout) et une erreur standard (stderr) dans ces fichiers journaux.
+ `main.log`— Le fichier journal du `main` service qui gère le cycle de vie des composants. Ce fichier journal sera toujours vide.

Pour plus d'informations sur les différences entre les composants du plugin, les composants génériques et les composants Lambda, consultez. [Types de composants](develop-greengrass-components.md#component-types)

Les considérations suivantes s'appliquent lorsque vous utilisez les journaux du système de fichiers :
+ **Autorisations de l'utilisateur root**

  Vous devez disposer des autorisations root pour lire AWS IoT Greengrass les journaux du système de fichiers.
+ **Rotation du fichier journal**

  Le logiciel AWS IoT Greengrass Core fait pivoter les fichiers journaux toutes les heures ou lorsqu'ils dépassent une limite de taille de fichier. Les fichiers journaux pivotés contiennent un horodatage dans leur nom de fichier. Par exemple, un fichier journal du logiciel AWS IoT Greengrass Core pivoté peut être nommé`greengrass_2021_09_14_15_0.log`. La limite de taille de fichier par défaut est de 1 024 Ko (1 Mo). Vous pouvez configurer la limite de taille de fichier sur le composant [Greengrass nucleus](greengrass-nucleus-component.md).
+ **Suppression du fichier journal**

  Le logiciel AWS IoT Greengrass Core nettoie les fichiers journaux antérieurs lorsque la taille des fichiers journaux du logiciel AWS IoT Greengrass Core ou des fichiers journaux des composants Greengrass, y compris les fichiers journaux pivotés, dépasse une limite d'espace disque. La limite d'espace disque par défaut pour le journal du logiciel AWS IoT Greengrass Core et pour chaque journal des composants est de 10 240 Ko (10 Mo). Vous pouvez configurer la limite d'espace disque des journaux du logiciel AWS IoT Greengrass Core sur le composant [Greengrass nucleus ou sur le composant](greengrass-nucleus-component.md) du [gestionnaire de journaux](log-manager-component.md). Vous pouvez configurer la limite d'espace disque de journal de chaque composant sur le [composant du gestionnaire de journaux](log-manager-component.md).

**Pour consulter le fichier journal du logiciel AWS IoT Greengrass Core**
+ Exécutez la commande suivante pour afficher le fichier journal en temps réel. Remplacez `/greengrass/v2` par le chemin d'accès au dossier AWS IoT Greengrass racine.

------
#### [ 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>La `type` commande écrit le contenu du fichier sur le terminal. Exécutez cette commande plusieurs fois pour observer les modifications apportées au fichier.

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

  ```
  gc C:\greengrass\v2\logs\greengrass.log -Tail 10 -Wait
  ```

------

**Pour consulter le fichier journal d'un composant**
+ Exécutez la commande suivante pour afficher le fichier journal en temps réel. Remplacez `/greengrass/v2` ou *C:\$1greengrass\$1v2* par le chemin d'accès au dossier AWS IoT Greengrass racine, puis remplacez *com.example.HelloWorld* par le nom du composant.

------
#### [ 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
  ```

------

Vous pouvez également utiliser la `logs` commande de la [CLI Greengrass](greengrass-cli-component.md) pour analyser les journaux Greengrass sur un périphérique principal. Pour utiliser la `logs` commande, vous devez configurer le [noyau Greengrass](greengrass-nucleus-component.md) pour générer des fichiers journaux au format JSON. Pour plus d’informations, consultez [Interface de ligne de commande Greengrass](gg-cli.md) et [journaux](gg-cli-logs.md).

## CloudWatch Journaux d'accès
<a name="access-cloudwatch-logs"></a>

Vous pouvez déployer le [composant du gestionnaire de journaux](log-manager-component.md) pour configurer le périphérique principal afin qu'il écrive dans CloudWatch Logs. Pour de plus amples informations, veuillez consulter [Activer la journalisation dans CloudWatch Logs](#enable-cloudwatch-logs). Vous pouvez ensuite consulter les journaux sur la page **Logs** de la CloudWatch console Amazon ou à l'aide de l'API CloudWatch Logs.<a name="log-manager-log-group-stream-format"></a>

**Nom du groupe de journaux**  

```
/aws/greengrass/componentType/region/componentName
```
Le nom du groupe de journaux utilise les variables suivantes :  
+ `componentType`— Le type du composant, qui peut être l'un des suivants :
  + `GreengrassSystemComponent`— Ce groupe de journaux inclut les journaux des composants du noyau et du plugin, qui s'exécutent dans la même JVM que le noyau Greengrass. Le composant fait partie du noyau de [Greengrass](greengrass-nucleus-component.md).
  + `UserComponent`— Ce groupe de journaux inclut les journaux des composants génériques, des composants Lambda et d'autres applications de l'appareil. Le composant ne fait pas partie du noyau de Greengrass.

  Pour de plus amples informations, veuillez consulter [Types de composants](develop-greengrass-components.md#component-types).
+ `region`— La AWS région utilisée par l'appareil principal.
+ `componentName`— Le nom du composant. Pour les journaux système, cette valeur est`System`.

**Nom du flux de log**  

```
/date/thing/thingName
```
Le nom du flux de journal utilise les variables suivantes :  
+ `date`— La date du journal, telle que`2020/12/15`. Le composant du gestionnaire de journaux utilise le `yyyy/MM/dd` format.
+ `thingName`— Le nom de l'appareil principal.
Si le nom d'un objet contient deux points (`:`), le gestionnaire de journaux remplace les deux points par un signe plus (`+`).

<a name="log-manager-considerations-intro"></a>Les considérations suivantes s'appliquent lorsque vous utilisez le composant du gestionnaire de CloudWatch journaux pour écrire dans Logs :<a name="log-manager-considerations"></a>
+ **Retards de journalisation**
**Note**  
Nous vous recommandons de passer à la version 2.3.0 du gestionnaire de journaux, qui réduit les délais de journalisation pour les fichiers journaux actifs et pivotés. Lorsque vous passez à Log Manager 2.3.0, nous vous recommandons également de passer à Greengrass nucleus 2.9.1.

  Le composant du gestionnaire de journaux version 2.2.8 (et versions antérieures) traite et télécharge les journaux uniquement à partir de fichiers journaux ayant fait l'objet d'une rotation. Par défaut, le logiciel AWS IoT Greengrass Core fait pivoter les fichiers journaux toutes les heures ou une fois qu'ils atteignent 1 024 Ko. Par conséquent, le composant du gestionnaire de journaux ne télécharge les journaux qu'une fois que le logiciel AWS IoT Greengrass Core ou un composant Greengrass a écrit plus de 1 024 Ko de journaux. Vous pouvez configurer une limite de taille de fichier journal inférieure afin de provoquer une rotation plus fréquente des fichiers journaux. Le composant du gestionnaire de journaux télécharge donc les CloudWatch journaux dans Logs plus fréquemment.

  Le composant du gestionnaire de journaux version 2.3.0 (et versions ultérieures) traite et télécharge tous les journaux. Lorsque vous rédigez un nouveau journal, la version 2.3.0 (et versions ultérieures) du gestionnaire de journaux traite et télécharge directement le fichier journal actif au lieu d'attendre qu'il fasse l'objet d'une rotation. Cela signifie que vous pouvez consulter le nouveau journal en 5 minutes ou moins.

  Le composant du gestionnaire de journaux télécharge régulièrement de nouveaux journaux. Par défaut, le composant du gestionnaire de journaux télécharge de nouveaux journaux toutes les 5 minutes. Vous pouvez configurer un intervalle de téléchargement plus court, afin que le composant du gestionnaire de journaux télécharge les CloudWatch journaux vers Logs plus fréquemment en configurant le`periodicUploadIntervalSec`. Pour plus d'informations sur la configuration de cet intervalle périodique, consultez [la section Configuration](https://docs.aws.amazon.com/greengrass/v2/developerguide/log-manager-component.html#log-manager-component-configuration).

  Les journaux peuvent être téléchargés en temps quasi réel à partir du même système de fichiers Greengrass. Si vous devez observer les journaux en temps réel, pensez à utiliser les [journaux du système de fichiers](#access-local-logs).
**Note**  
Si vous utilisez différents systèmes de fichiers pour y écrire des journaux, le gestionnaire de journaux revient au comportement des composants du gestionnaire de journaux dans les versions 2.2.8 et antérieures. Pour plus d'informations sur l'accès aux journaux du système de fichiers, voir [Accès aux journaux du système de fichiers](https://docs.aws.amazon.com/greengrass/v2/developerguide/monitor-logs.html#access-local-logs).
+ **Horloge oblique**

  Le composant du gestionnaire de journaux utilise le processus de signature standard de Signature version 4 pour créer des demandes d'API destinées à CloudWatch Logs. Si l'heure système d'un appareil principal est désynchronisée de plus de 15 minutes, CloudWatch Logs rejette les demandes. Pour plus d'informations, consultez [Processus de signature Signature Version 4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html) dans le *Références générales AWS*.

## Accédez aux journaux de service du système
<a name="access-system-service-logs"></a>

Si vous [configurez le logiciel AWS IoT Greengrass Core en tant que service système](configure-greengrass-core-v2.md#configure-system-service), vous pouvez consulter les journaux des services système pour résoudre des problèmes, tels que l'échec du démarrage du logiciel.

**Pour afficher les journaux de service du système (CLI)**

1. Exécutez la commande suivante pour afficher les journaux de service du système logiciel 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. Sur les appareils Windows, le logiciel AWS IoT Greengrass Core crée un fichier journal distinct pour les erreurs de service système. Exécutez la commande suivante pour afficher les journaux d'erreurs du service système.

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

   ```
   type C:\greengrass\v2\logs\greengrass.err.log
   ```

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

   ```
   gc C:\greengrass\v2\logs\greengrass.err.log
   ```

------

Sur les appareils Windows, vous pouvez également utiliser l'application **Event Viewer** pour consulter les journaux des services du système.

**Pour consulter les journaux des services Windows (Observateur d'événements)**

1. Ouvrez l'application **Event Viewer**.

1. Sélectionnez **Windows Logs** pour le développer.

1. Choisissez **Application** pour afficher les journaux des services des applications.

1. Recherchez et ouvrez les journaux d'événements dont **la source** est **greengrass**.

## Activer la journalisation dans CloudWatch Logs
<a name="enable-cloudwatch-logs"></a>

Vous pouvez déployer le [composant du gestionnaire de journaux](log-manager-component.md) pour configurer un périphérique principal afin d'écrire des CloudWatch journaux dans Logs. Vous pouvez activer CloudWatch les journaux pour les journaux du logiciel AWS IoT Greengrass Core, et vous pouvez activer CloudWatch les journaux pour des composants spécifiques de Greengrass.

**Note**  
Le rôle d'échange de jetons du périphérique principal Greengrass doit permettre au périphérique principal d'écrire dans CloudWatch Logs, comme illustré dans l'exemple de politique IAM suivant. Si vous avez [installé le logiciel AWS IoT Greengrass Core avec provisionnement automatique des ressources](quick-installation.md), votre appareil principal dispose de ces autorisations.  

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

Pour configurer un périphérique principal afin d'écrire les journaux du logiciel AWS IoT Greengrass Core dans CloudWatch les journaux, [créez un déploiement](create-deployments.md) qui spécifie une mise à jour de configuration `true` définie pour le `aws.greengrass.LogManager` composant. `uploadToCloudWatch` AWS IoT Greengrass Les journaux du logiciel de base incluent les journaux du [noyau Greengrass](greengrass-nucleus-component.md) et des composants du [plugin](develop-greengrass-components.md#component-types).

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

Pour configurer un périphérique principal afin d'écrire les journaux d'un composant Greengrass dans Logs, [créez un déploiement qui spécifie une](create-deployments.md) mise à jour de configuration ajoutant le composant à la liste des configurations de journalisation des composants. CloudWatch Lorsque vous ajoutez un composant à cette liste, le composant du gestionnaire de journaux écrit ses journaux dans CloudWatch Logs. Les journaux des composants incluent les journaux des [composants génériques et des composants Lambda](develop-greengrass-components.md#component-types).

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

Lorsque vous déployez le composant du gestionnaire de journaux, vous pouvez également configurer les limites d'espace disque et indiquer si le périphérique principal supprime les fichiers CloudWatch journaux après les avoir écrits dans Logs. Pour de plus amples informations, veuillez consulter [Configurer la journalisation pour AWS IoT Greengrass](#configure-logging).

## Configurer la journalisation pour AWS IoT Greengrass
<a name="configure-logging"></a>

Vous pouvez configurer les options suivantes pour personnaliser la journalisation pour les appareils principaux de Greengrass. Pour configurer ces options, [créez un déploiement qui spécifie une](create-deployments.md) mise à jour de configuration du noyau Greengrass ou des composants du gestionnaire de journaux.
+ **Écrire des journaux dans des CloudWatch journaux**

  Pour dépanner à distance les périphériques principaux, vous pouvez configurer les périphériques principaux pour écrire les journaux des logiciels et des composants AWS IoT Greengrass principaux dans les CloudWatch journaux. Pour ce faire, déployez et configurez le [composant du gestionnaire de journaux](log-manager-component.md). Pour de plus amples informations, veuillez consulter [Activer la journalisation dans CloudWatch Logs](#enable-cloudwatch-logs).
+ **Suppression des fichiers journaux téléchargés**

  Pour réduire l'utilisation de l'espace disque, vous pouvez configurer les périphériques principaux pour qu'ils suppriment les fichiers journaux après les avoir écrits dans CloudWatch Logs. Pour plus d'informations, consultez le `deleteLogFileAfterCloudUpload` paramètre du composant du gestionnaire de journaux, que vous pouvez spécifier pour les journaux du [logiciel AWS IoT Greengrass Core et les](log-manager-component.md#log-manager-component-configuration-system-logs-configuration) [journaux des composants](log-manager-component.md#log-manager-component-configuration-component-logs-configuration).
+ **Limites d'espace disque pour les journaux**

  Pour limiter l'utilisation de l'espace disque, vous pouvez configurer l'espace disque maximal pour chaque journal, y compris ses fichiers journaux pivotés, sur un périphérique principal. Par exemple, vous pouvez configurer l'espace disque combiné maximal pour les `greengrass.log` fichiers faisant l'`greengrass.log`objet d'une rotation. Pour plus d'informations, consultez le paramètre du composant Greengrass nucleus et le `logging.totalLogsSizeKB` paramètre du composant du gestionnaire de `diskSpaceLimit` journaux, que vous pouvez spécifier pour les journaux du [logiciel AWS IoT Greengrass Core et les journaux des](log-manager-component.md#log-manager-component-configuration-system-logs-configuration) [composants](log-manager-component.md#log-manager-component-configuration-component-logs-configuration).
+ **Limite de taille du fichier journal**

  Vous pouvez configurer la taille de fichier maximale pour chaque fichier journal. Lorsqu'un fichier journal dépasse cette limite de taille, le logiciel AWS IoT Greengrass Core crée un nouveau fichier journal. Le [composant du gestionnaire de journaux](log-manager-component.md) version 2.28 (et versions antérieures) écrit uniquement les fichiers CloudWatch journaux pivotés dans Logs. Vous pouvez donc spécifier une limite de taille de fichier inférieure pour écrire des journaux dans Logs plus CloudWatch fréquemment. Le composant du gestionnaire de journaux version 2.3.0 (et versions ultérieures) traite et télécharge tous les journaux au lieu d'attendre leur rotation. Pour plus d'informations, consultez le [paramètre de limite de taille du fichier journal](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-log-file-size) () `logging.fileSizeKB` du composant Greengrass nucleus.
+ **Niveaux de journalisation minimaux**

  Vous pouvez configurer le niveau de journalisation minimal que le composant Greengrass nucleus écrit dans les journaux du système de fichiers. Par exemple, vous pouvez spécifier des journaux de `DEBUG` niveau pour faciliter le dépannage, ou vous pouvez spécifier des journaux de `ERROR` niveau pour réduire le nombre de journaux créés par un périphérique principal. Pour plus d'informations, consultez le [paramètre de niveau logarithmique](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-log-level) () `logging.level` du composant Greengrass nucleus.

  Vous pouvez également configurer le niveau de journalisation minimal que le composant du gestionnaire de CloudWatch journaux écrit dans Logs. Par exemple, vous pouvez spécifier un niveau de journalisation plus élevé pour réduire les [coûts de journalisation](https://aws.amazon.com/cloudwatch/pricing/). Pour plus d'informations, consultez le `minimumLogLevel` paramètre du composant du gestionnaire de journaux, que vous pouvez spécifier pour les journaux du [logiciel AWS IoT Greengrass Core et les](log-manager-component.md#log-manager-component-configuration-system-logs-configuration) [journaux des composants](log-manager-component.md#log-manager-component-configuration-component-logs-configuration).
+ **Intervalle pour vérifier les journaux à écrire dans CloudWatch Logs**

  Pour augmenter ou diminuer la fréquence à laquelle le composant du gestionnaire de journaux écrit des CloudWatch journaux dans Logs, vous pouvez configurer l'intervalle entre lequel il vérifie la présence de nouveaux fichiers journaux à écrire. Par exemple, vous pouvez spécifier un intervalle plus court pour afficher les CloudWatch journaux dans Logs plus tôt que vous ne le feriez avec l'intervalle de 5 minutes par défaut. Vous pouvez spécifier un intervalle plus élevé pour réduire les coûts, car le composant du gestionnaire de journaux regroupe les fichiers journaux en moins de demandes. Pour plus d'informations, consultez le [paramètre d'intervalle de téléchargement](log-manager-component.md#log-manager-component-configuration-periodic-upload-interval-sec) (`periodicUploadIntervalSec`) du composant du gestionnaire de journaux.
+ **Format du journal**

  Vous pouvez choisir si le logiciel AWS IoT Greengrass Core écrit les journaux au format texte ou JSON. Choisissez le format texte si vous lisez les journaux, ou choisissez le format JSON si vous utilisez une application pour lire ou analyser les journaux. Pour plus d'informations, consultez le [paramètre de format de log](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-logging-format) () `logging.format` du composant Greengrass nucleus.
+ **Dossier des journaux du système de fichiers local**

  Vous pouvez remplacer le dossier des `/greengrass/v2/logs` journaux par un autre dossier sur le périphérique principal. Pour plus d'informations, consultez le [paramètre de répertoire de sortie](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-log-level) () `logging.outputDirectory` du composant Greengrass nucleus.

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

AWS IoT Greengrass s'intègre AWS CloudTrailà un service qui fournit un enregistrement des actions entreprises par un utilisateur, un rôle ou Service AWS dans AWS IoT Greengrass. Pour de plus amples informations, veuillez consulter [Enregistrez les appels AWS IoT Greengrass V2 d'API avec AWS CloudTrail](logging-using-cloudtrail.md).

# Enregistrez les appels AWS IoT Greengrass V2 d'API avec AWS CloudTrail
<a name="logging-using-cloudtrail"></a>

AWS IoT Greengrass V2 est intégré à AWS CloudTrail un service qui fournit un enregistrement des actions entreprises par un utilisateur, un rôle ou un AWS service dans AWS IoT Greengrass Version 2. CloudTrail capture tous les appels d'API AWS IoT Greengrass sous forme d'événements. Les appels capturés incluent les appels provenant de la AWS IoT Greengrass console et les appels de code vers les opérations de l' AWS IoT Greengrass API.

Si vous créez un suivi, vous pouvez activer la diffusion continue des CloudTrail événements vers un compartiment S3, y compris les événements pour AWS IoT Greengrass. Si vous ne configurez pas de suivi, vous pouvez toujours consulter les événements les plus récents dans la CloudTrail console dans **Historique des événements**. À l'aide des informations collectées par CloudTrail, vous pouvez déterminer la demande qui a été faite AWS IoT Greengrass, l'adresse IP à partir de laquelle la demande a été faite, qui a fait la demande, quand elle a été faite et des détails supplémentaires.

Pour plus d'informations CloudTrail, consultez le [guide de AWS CloudTrail l'utilisateur](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html).

**Topics**
+ [AWS IoT Greengrass V2 informations dans CloudTrail](#service-name-info-in-cloudtrail)
+ [AWS IoT Greengrass événements de données dans CloudTrail](#greengrass-data-events-cloudtrail)
+ [AWS IoT Greengrass événements de gestion dans CloudTrail](#greengrass-management-events-cloudtrail)
+ [Comprendre les entrées du fichier AWS IoT Greengrass V2 journal](#understanding-service-name-entries)

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

CloudTrail est activé sur votre compte Compte AWS lorsque vous créez le compte. Lorsqu'une activité se produit dans AWS IoT Greengrass, cette activité est enregistrée dans un CloudTrail événement avec d'autres événements de AWS service dans **l'historique des événements**. Vous pouvez afficher, rechercher et télécharger les événements récents dans votre Compte AWS. Pour plus d'informations, consultez la section [Affichage des événements avec l'historique des CloudTrail événements](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/view-cloudtrail-events.html).

Pour un enregistrement continu des événements de votre région Compte AWS, y compris des événements pour AWS IoT Greengrass, créez un parcours. Un *journal* permet CloudTrail de fournir des fichiers journaux à un compartiment S3. Par défaut, lorsque vous créez un parcours dans la console, celui-ci s'applique à tous les Région AWS s. Le journal enregistre les événements de toutes les régions de la AWS partition et transmet les fichiers journaux au compartiment S3 que vous spécifiez. En outre, vous pouvez configurer d'autres AWS services pour analyser plus en détail les données d'événements collectées dans les CloudTrail journaux et agir en conséquence. Pour plus d’informations, consultez les ressources suivantes :
+ [Présentation de la création d’un journal de suivi](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-and-update-a-trail.html)
+ [CloudTrail services et intégrations pris en charge](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-aws-service-specific-topics.html)
+ [Configuration des notifications Amazon SNS pour CloudTrail](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/configure-sns-notifications-for-cloudtrail.html)
+ [Réception de fichiers CloudTrail journaux de plusieurs régions](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/receive-cloudtrail-log-files-from-multiple-regions.html) et [réception de fichiers CloudTrail journaux de plusieurs comptes](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-receive-logs-from-multiple-accounts.html)

Toutes les AWS IoT Greengrass V2 actions sont enregistrées CloudTrail et documentées dans la [référence de l'AWS IoT Greengrass V2 API](https://docs.aws.amazon.com/greengrass/v2/APIReference/Welcome.html). Par exemple, les appels au `CreateComponentVersion` `CreateDeployment` et les `CancelDeployment` actions génèrent des entrées dans les fichiers CloudTrail journaux.

Chaque événement ou entrée de journal contient des informations sur la personne ayant initié la demande. Les informations relatives à l’identité permettent de déterminer les éléments suivants :
+ Si la demande a été faite avec les informations d'identification de l'utilisateur root ou Gestion des identités et des accès AWS (IAM).
+ Si la demande a été effectuée avec les informations d’identification de sécurité temporaires d’un rôle ou d’un utilisateur fédéré.
+ Si la demande a été faite par un autre AWS service.

Pour de plus amples informations, veuillez consulter l'[élément userIdentity CloudTrail ](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-event-reference-user-identity.html).

## AWS IoT Greengrass événements de données dans CloudTrail
<a name="greengrass-data-events-cloudtrail"></a>

[Les événements de données](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events) fournissent des informations sur les opérations de ressources effectuées sur ou dans une ressource (par exemple, l'obtention d'une version de composant ou la configuration d'un déploiement). Ils sont également connus sous le nom opérations de plans de données. Les événements de données sont souvent des activités à fort volume. Par défaut, CloudTrail n'enregistre pas les événements liés aux données. L'**historique des CloudTrail événements** n'enregistre pas les événements liés aux données.

Des frais supplémentaires s’appliquent pour les événements de données. Pour plus d'informations sur la CloudTrail tarification, consultez la section [AWS CloudTrail Tarification](https://aws.amazon.com/cloudtrail/pricing/).

Vous pouvez enregistrer les événements de données pour les types de AWS IoT Greengrass ressources à l'aide de la CloudTrail console ou AWS CLI des opérations de CloudTrail l'API. Le [tableau](#data-events-table) de cette section indique les types de ressources disponibles pour AWS IoT Greengrass.
+ Pour enregistrer les événements de données à l'aide de la CloudTrail console, créez un [magasin](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html#creating-a-trail-in-the-console) [de données de suivi ou d'événement](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/query-event-data-store-cloudtrail.html) pour enregistrer les événements, ou [mettez à jour un magasin de données de suivi ou d'événement existant](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-console) pour enregistrer les événements de données.

  1. Choisissez **Data events** pour enregistrer les événements liés aux données.

  1. Dans la liste des **types d'événements de données**, choisissez le type de ressource pour lequel vous souhaitez enregistrer les événements de données.

  1. Choisissez le modèle de sélecteur de journal que vous souhaitez utiliser. Vous pouvez enregistrer tous les événements de données pour le type de ressource, consigner tous les `readOnly` événements, consigner tous les `writeOnly` événements ou créer un modèle de sélecteur de journal personnalisé pour filtrer les `resources.ARN` champs `readOnly``eventName`, et.
+ Pour enregistrer des événements de données à l'aide de AWS CLI, configurez le `--advanced-event-selectors` paramètre pour définir le `eventCategory` champ égal à la valeur du type de ressource `Data` et le `resources.type` champ égal à la valeur du type de ressource (voir le [tableau](#data-events-table)). Vous pouvez ajouter des conditions pour filtrer les valeurs des `resources.ARN` champs `readOnly``eventName`, et.
  + Pour configurer un suivi afin de consigner les événements liés aux données, exécutez la [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)commande. Pour plus d'informations, consultez la section [Enregistrement des événements de données pour les sentiers avec le AWS CLI](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-CLI-trail-examples).
  + Pour configurer un magasin de données d'événements afin de consigner les événements, exécutez la [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)commande pour créer un nouveau magasin de données d'événements pour enregistrer les événements ou exécutez la [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)commande pour mettre à jour un magasin de données d'événements existant. Pour plus d'informations, voir [Enregistrement des événements de données pour les magasins de données d'événements avec le AWS CLI](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-data-events-with-cloudtrail.html#logging-data-events-CLI-eds-examples).

Le tableau suivant répertorie les types de AWS IoT Greengrass ressources. La colonne **Type d'événement de données (console)** indique la valeur à choisir dans la liste des **types d'événements de données** de la CloudTrail console. La colonne de valeur **resources.type indique la `resources.type` valeur** que vous devez spécifier lors de la configuration de sélecteurs d'événements avancés à l'aide du ou. AWS CLI CloudTrail APIs La CloudTrail colonne **Données APIs enregistrées** indique les appels d'API enregistrés CloudTrail pour le type de ressource.


| Type d’événement de données (console) | valeur resources.type | Données APIs enregistrées sur CloudTrail | 
| --- | --- | --- | 
| Certificat IoT | AWS::IoT::Certificate |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/logging-using-cloudtrail.html)  | 
| Version du composant IoT Greengrass |  AWS::GreengrassV2::ComponentVersion  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/logging-using-cloudtrail.html)  | 
| Déploiement de Greengrass pour l'IoT |  AWS::GreengrassV2::Deployment  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/logging-using-cloudtrail.html)  | 
| Un truc lié à l'IoT | AWS::IoT::Thing |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/greengrass/v2/developerguide/logging-using-cloudtrail.html)  | 

Vous pouvez configurer des sélecteurs d’événements avancés pour filtrer les champs `eventName`, `readOnly` et `resources.ARN` afin de ne journaliser que les événements importants pour vous.

Ajoutez un filtre `eventName` pour inclure ou exclure des données spécifiques APIs.

Pour plus d’informations sur ces champs, consultez [https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html](https://docs.aws.amazon.com/awscloudtrail/latest/APIReference/API_AdvancedFieldSelector.html).

Les exemples suivants montrent comment configurer des sélecteurs avancés à l'aide du AWS CLI. Remplacez *TrailName* et *region* par vos propres informations.

**Example — Enregistrez les événements liés aux données pour les objets 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 — Filtrez sur une API IoT spécifique**  

```
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 — Enregistrez tous les événements liés aux données de 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 événements de gestion dans CloudTrail
<a name="greengrass-management-events-cloudtrail"></a>

[Les événements de gestion](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/logging-management-events-with-cloudtrail.html#logging-management-events) fournissent des informations sur les opérations de gestion effectuées sur les ressources de votre AWS compte. Ils sont également connus sous le nom opérations de plan de contrôle. Par défaut, CloudTrail enregistre les événements de gestion.

AWS IoT Greengrass enregistre toutes les opérations AWS IoT Greengrass du plan de contrôle en tant qu'événements de gestion. Pour obtenir la liste des opérations du plan de AWS IoT Greengrass contrôle auxquelles AWS IoT Greengrass se connecte CloudTrail, consultez la [référence de l'AWS IoT Greengrass API, version 2](https://docs.aws.amazon.com/greengrass/v2/APIReference/Welcome.html).

## Comprendre les entrées du fichier AWS IoT Greengrass V2 journal
<a name="understanding-service-name-entries"></a>

Un suivi est une configuration qui permet de transmettre des événements sous forme de fichiers journaux à un compartiment S3 que vous spécifiez. CloudTrail les fichiers journaux contiennent une ou plusieurs entrées de journal. Un événement représente une demande individuelle d’une source quelconque. Il inclut des informations sur l'action demandée, la date et l'heure de l'action, les paramètres de la demande, etc. CloudTrail les fichiers journaux ne constituent pas une trace ordonnée des appels d'API publics, ils n'apparaissent donc pas dans un ordre spécifique. 

L'exemple suivant montre une entrée de CloudTrail journal illustrant l'`CreateDeployment`action.

```
{
    "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"
}
```

# Collectez les données de télémétrie relatives à l'état du système à partir des principaux appareils AWS IoT Greengrass
<a name="telemetry"></a>

Les données de télémétrie relatives à l'état du système sont des données de diagnostic qui peuvent vous aider à surveiller les performances des opérations critiques sur vos principaux appareils Greengrass. Vous pouvez créer des projets et des applications pour récupérer, analyser, transformer et rapporter des données de télémétrie à partir de vos appareils périphériques. Les experts du domaine, tels que les ingénieurs de processus, peuvent utiliser ces applications pour mieux comprendre l'état de la flotte.

Vous pouvez utiliser les méthodes suivantes pour collecter des données de télémétrie à partir de vos principaux appareils Greengrass :
+ Composant émetteur de **télémétrie Nucleus : le composant émetteur** de [télémétrie Nucleus (](nucleus-emitter-component.md)) d'un appareil central Greengrass publie les données de télémétrie `aws.greengrass.telemetry.NucleusEmitter` sur le sujet par défaut. `$local/greengrass/telemetry` Vous pouvez utiliser les données publiées dans cette rubrique pour agir localement sur votre appareil principal, même lorsque la connectivité de celui-ci au cloud est limitée. Facultativement, vous pouvez également configurer le composant pour publier des données de télémétrie sur un sujet AWS IoT Core MQTT de votre choix.

  Vous devez déployer le composant Nucleus Emitter sur un périphérique principal pour publier les données de télémétrie. La publication de données de télémétrie sur le sujet local n'entraîne aucun coût. Toutefois, l'utilisation d'une rubrique MQTT pour publier des données sur le AWS Cloud est soumise à une [AWS IoT Core tarification](https://aws.amazon.com/iot-core/pricing/).

  <a name="greengrass-software-catalog-influxdb-telemetry-publisher"></a>AWS IoT Greengrass fournit plusieurs [composants communautaires](greengrass-software-catalog.md) pour vous aider à analyser et à visualiser les données de télémétrie localement sur votre appareil principal à l'aide d'InfluxDB et Grafana. Ces composants utilisent les données de télémétrie du composant émetteur du noyau. Pour plus d'informations, consultez le fichier README du composant éditeur [InfluxDB.](https://github.com/awslabs/aws-greengrass-labs-telemetry-influxdbpublisher)
+ Agent de **télémétrie : l'agent** de télémétrie installé sur les appareils principaux de Greengrass collecte des données de télémétrie locales et les publie sur Amazon sans aucune interaction avec le client. EventBridge Les appareils principaux publient des données de télémétrie dans EventBridge la mesure du possible. Par exemple, les appareils principaux peuvent ne pas fournir de données de télémétrie lorsqu'ils sont hors ligne. 

  La fonction d'agent de télémétrie est activée par défaut pour tous les appareils principaux de Greengrass. Vous commencez automatiquement à recevoir des données dès que vous configurez un appareil principal Greengrass. Outre les frais de liaison de données, le transfert de données de l'appareil principal vers le périphérique AWS IoT Core est gratuit. Cela est dû au fait que l'agent publie sur un sujet AWS réservé. Toutefois, en fonction de votre cas d'utilisation, vous pouvez encourir des frais lorsque vous recevez ou traitez les données.
**Note**  
Amazon EventBridge est un service de bus d'événements que vous pouvez utiliser pour connecter vos applications à des données provenant de diverses sources, telles que les appareils principaux de Greengrass. Pour plus d'informations, consultez [Qu'est-ce qu'Amazon EventBridge ?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) dans le *guide de EventBridge l'utilisateur Amazon*.

Pour garantir le bon fonctionnement du logiciel de AWS IoT Greengrass base, AWS IoT Greengrass utilise les données à des fins de développement et d'amélioration de la qualité. Cette fonctionnalité permet également de définir des fonctionnalités de pointe nouvelles et améliorées. AWS IoT Greengrass conserve les données de télémétrie pendant sept jours au maximum.

Cette section décrit comment configurer et utiliser l'agent de télémétrie. Pour plus d'informations sur la configuration du composant émetteur de télémétrie Nucleus, consultez. [Émetteur de télémétrie Nucleus](nucleus-emitter-component.md)

**Topics**
+ [Métriques de télémétrie](#telemetry-metrics)
+ [Configuration des paramètres de l'agent de télémétrie](#configure-telemetry-agent-settings)
+ [Abonnez-vous aux données de télémétrie dans EventBridge](#subscribe-for-telemetry-data)

## Métriques de télémétrie
<a name="telemetry-metrics"></a>

Le tableau suivant décrit les métriques publiées par l'agent de télémétrie.


| Nom | Description | 
| --- | --- | 
|  **Système**  | 
|  `SystemMemUsage`  |  La quantité de mémoire actuellement utilisée par toutes les applications du périphérique principal de Greengrass, y compris le système d'exploitation.  | 
|  `CpuUsage`  |  La quantité de processeur actuellement utilisée par toutes les applications du périphérique principal de Greengrass, y compris le système d'exploitation.  | 
|  `TotalNumberOfFDs`  |  Nombre de descripteurs de fichiers stockés par le système d'exploitation du périphérique principal Greengrass. Un descripteur de fichier identifie de manière unique un fichier ouvert.  | 
|  **Noyau de Greengrass**  | 
|  `NumberOfComponentsRunning`  |  Le nombre de composants qui s'exécutent sur le périphérique principal de Greengrass.  | 
|  `NumberOfComponentsErrored`  |  Nombre de composants présentant un état d'erreur sur le périphérique principal de Greengrass.  | 
|  `NumberOfComponentsInstalled`  |  Le nombre de composants installés sur le périphérique principal de Greengrass.  | 
|  `NumberOfComponentsStarting`  |  Le nombre de composants qui démarrent sur le périphérique principal de Greengrass.  | 
|  `NumberOfComponentsNew`  |  Le nombre de composants nouveaux sur le périphérique principal de Greengrass.  | 
|  `NumberOfComponentsStopping`  |  Le nombre de composants qui s'arrêtent sur le périphérique principal de Greengrass.  | 
|  `NumberOfComponentsFinished`  |  Le nombre de composants terminés sur le périphérique principal Greengrass.  | 
|  `NumberOfComponentsBroken`  |  Le nombre de composants cassés sur le périphérique principal de Greengrass.  | 
|  `NumberOfComponentsStateless`  |  Le nombre de composants qui sont apatrides sur le périphérique principal de Greengrass.  | 
|  Authentification **du périphérique client : cette fonctionnalité nécessite la version 2.4.0 ou ultérieure du composant d'authentification** du périphérique client.  | 
|  `VerifyClientDeviceIdentity.Success`  |  Nombre de fois que l'identité de l'appareil client a été vérifiée avec succès.  | 
|  `VerifyClientDeviceIdentity.Failure`  |  Nombre de fois où la vérification de l'identité de l'appareil client a échoué.  | 
|  `AuthorizeClientDeviceActions.Success`  |  Le nombre de fois où le dispositif client est autorisé à effectuer les actions demandées.  | 
|  `AuthorizeClientDeviceActions.Failure`  |  Le nombre de fois où l'appareil client n'est pas autorisé à effectuer les actions demandées.  | 
|  `GetClientDeviceAuthToken.Success`  |  Le nombre de fois que l'appareil client est authentifié avec succès.  | 
|  `GetClientDeviceAuthToken.Failure`  |  Le nombre de fois où l'appareil client ne peut pas être authentifié.  | 
|  `SubscribeToCertificateUpdates.Success`  |  Le nombre d'abonnements réussis aux mises à jour de certificats.  | 
|  `SubscribeToCertificateUpdates.Failure`  |  Nombre de tentatives infructueuses de souscription aux mises à jour des certificats.  | 
|  `ServiceError`  |  Nombre d'erreurs internes non gérées sur l'authentification de l'appareil client.  | 
|  **Gestionnaire de flux** — Cette fonctionnalité nécessite la version 2.7.0 ou ultérieure du composant Greengrass Nucleus.  | 
|  `BytesAppended`  |  Nombre d'octets de données ajoutés au gestionnaire de flux.  | 
|  `BytesUploadedToIoTAnalytics`  |  Le nombre d'octets de données que le gestionnaire de flux exporte vers les canaux vers lesquels AWS IoT Analytics.  | 
|  `BytesUploadedToKinesis`  |  Le nombre d'octets de données que le gestionnaire de flux exporte vers des flux dans Amazon Kinesis Data Streams.  | 
|  `BytesUploadedToIoTSiteWise`  |  Le nombre d'octets de données que le gestionnaire de flux exporte vers les propriétés des actifs dans AWS IoT SiteWise.  | 
|  `BytesUploadedToS3`  |  Le nombre d'octets de données que le gestionnaire de flux exporte vers des objets dans Amazon S3.  | 
|  **System Metrics** — Cette fonctionnalité nécessite la version 2.15.0 ou ultérieure du composant Greengrass nucleus.  | 
|  `CPUArchitecture`  |  Architecture de l'unité centrale de l'appareil.  | 
|  `Family`  |  Famille de systèmes d'exploitation de l'appareil (Windows uniquement).  | 
|  `KernelVersion`  |  Version du noyau de l'appareil (Unix uniquement).  | 
|  `KnowledgeBaseArticles`  |  Articles de la base de connaissances installés sur un appareil (Windows uniquement).  | 
|  `OSBuildMajor`  |  Numéro de version principal de la version du système d'exploitation (Windows uniquement).  | 
|  `OSBuildMinor`  |  Numéro de version mineur de la version du système d'exploitation (Windows uniquement).  | 
|  `OSName`  |  Nom du système d'exploitation de l'appareil.  | 
|  `OSVersion`  |  Version marketing du système d'exploitation de l'appareil.  | 

## Configuration des paramètres de l'agent de télémétrie
<a name="configure-telemetry-agent-settings"></a>

L'agent de télémétrie utilise les paramètres par défaut suivants :
+ L'agent de télémétrie agrège les données de télémétrie toutes les heures.
+ L'agent de télémétrie publie un message de télémétrie toutes les 24 heures.

L'agent de télémétrie publie les données à l'aide du protocole MQTT avec un niveau de qualité de service (QoS) de 0, ce qui signifie qu'il ne confirme pas la livraison ni ne réessaie aucune tentative de publication. Les messages de télémétrie partagent une connexion MQTT avec d'autres messages pour les abonnements destinés à. AWS IoT Core

Outre les coûts de liaison de données, le transfert de données du cœur vers le AWS IoT Core réseau est gratuit. Cela est dû au fait que l'agent publie sur un sujet AWS réservé. Toutefois, en fonction de votre cas d'utilisation, vous pouvez encourir des frais lorsque vous recevez ou traitez les données.

Vous pouvez activer ou désactiver la fonction d'agent de télémétrie pour chaque appareil principal de Greengrass. Vous pouvez également configurer les intervalles pendant lesquels le périphérique principal agrège et publie les données. [Pour configurer la télémétrie, personnalisez le [paramètre de configuration de télémétrie](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-telemetry) lorsque vous déployez le composant Greengrass nucleus.](greengrass-nucleus-component.md)

## Abonnez-vous aux données de télémétrie dans EventBridge
<a name="subscribe-for-telemetry-data"></a>

Vous pouvez créer des règles dans Amazon EventBridge qui définissent le mode de traitement des données de télémétrie publiées par l'agent de télémétrie sur l'appareil principal de Greengrass. Lorsqu'il EventBridge reçoit les données, il invoque les actions cibles définies dans vos règles. Par exemple, vous pouvez créer des règles d'événements qui envoient des notifications, stockent des informations sur les événements, prennent des mesures correctives ou invoquent d'autres événements.

### Événements de télémétrie
<a name="events-message-format"></a>

Les événements de télémétrie utilisent le format suivant.

```
{
  "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>

Le `ADP` tableau contient une liste de points de données agrégés possédant les propriétés suivantes :

`TS`  
Horodatage du moment où les données ont été collectées.

`NS`  
L’espace de noms des métriques.

`M`  
La liste des métriques. Une métrique contient les propriétés suivantes :    
`N`  
Le nom de la métrique.  
`Sum`  
Somme des valeurs de la métrique dans cet événement de télémétrie.  
`U`  
Unité de la valeur métrique.

Pour plus d’informations sur cette métrique, consultez [Métriques de télémétrie](#telemetry-metrics).

### Conditions préalables à la création de règles EventBridge
<a name="create-events-rule-prerequisites-telemetry"></a>

Avant de créer une EventBridge règle pour AWS IoT Greengrass, vous devez effectuer les opérations suivantes :
+ Familiarisez-vous avec les événements, les règles et les cibles dans EventBridge.
+ Créez et configurez les [cibles](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-targets.html) invoquées par vos EventBridge règles. Les règles peuvent invoquer de nombreux types de cibles, telles que les flux Amazon Kinesis, les AWS Lambda fonctions, les rubriques Amazon SNS et les files d'attente Amazon SQS.

  Votre EventBridge règle et les cibles associées doivent se trouver dans l' Région AWS endroit où vous avez créé vos ressources Greengrass. Pour plus d'informations, consultez la section [Points de terminaison et quotas du service](https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html) dans le *Références générales AWS*.

Pour plus d'informations, consultez [Qu'est-ce qu'Amazon EventBridge ?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) et [Getting started with Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-getting-set-up.html) dans le *guide de EventBridge l'utilisateur Amazon*.

### Création d'une règle d'événement pour obtenir des données de télémétrie (console)
<a name="create-telemetry-event-rule-console"></a>

Suivez les étapes ci-dessous pour AWS Management Console créer une EventBridge règle qui reçoit les données de télémétrie publiées par le périphérique principal de Greengrass. Cela permet aux serveurs web, aux adresses e-mail et aux autres abonnés à la rubrique de répondre à l'événement. Pour plus d'informations, consultez la section [Création d'une EventBridge règle déclenchant un événement à partir d'une AWS ressource](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) dans le *guide de EventBridge l'utilisateur Amazon*.

1. Ouvrez la [ EventBridgeconsole Amazon](https://console.aws.amazon.com/events/) et choisissez **Create rule**.

1. Sous **Name and description (Nom et description)**, entrez un nom et une description pour la règle.

1. Sous **Define pattern (Définir un modèle)**, configurez le modèle de règle.

   1. Choisissez **Event pattern**.

   1. Choisissez **Pré-defined pattern by service** (Modèle prédéfini par service).

   1. Pour **Service Provider** (Fournisseur de service), sélectionnez **AWS**.

   1. Dans **Service name (Nom du service)**, choisissez **Greengrass**.

   1. Pour **Type d'événement**, sélectionnez **Greengrass Telemetry** Data.

1. Sous **Select event bus (Sélectionner un bus d'événements)**, conservez les options de bus d'événements par défaut.

1. Sous **Select targets (Sélectionner les cibles)**, configurez votre cible. L'exemple suivant utilise une file d'attente Amazon SQS, mais vous pouvez configurer d'autres types de cibles.

   1. Pour **Target**, choisissez la **file d'attente SQS.**

   1. Pour **Queue\$1**, choisissez votre file d'attente cible.

1. Sous **Tags - optional (Balises - facultatif)**, définissez les balises pour la règle ou laissez les champs vides.

1. Choisissez **Créer**.

### Création d'une règle d'événement pour obtenir des données de télémétrie (CLI)
<a name="create-telemetry-event-rule-cli"></a>

Suivez les étapes ci-dessous pour AWS CLI créer une EventBridge règle qui reçoit les données de télémétrie publiées par les appareils principaux de Greengrass. Cela permet aux serveurs web, aux adresses e-mail et aux autres abonnés à la rubrique de répondre à l'événement.

1. Créez la règle.
   + *thing-name*Remplacez-le par le nom de l'objet du périphérique principal.

------
#### [ 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\"]}}"
   ```

------

   Les propriétés qui sont omises dans le modèle sont ignorées.

1. Ajoutez la rubrique en tant que cible de règle. L'exemple suivant utilise Amazon SQS mais vous pouvez configurer d'autres types de cibles.
   + *queue-arn*Remplacez-le par l'ARN de votre file d'attente 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"
   ```

------
**Note**  
Pour permettre EventBridge à Amazon d'appeler votre file d'attente cible, vous devez ajouter une politique basée sur les ressources à votre sujet. Pour plus d'informations, consultez les [autorisations Amazon SQS](https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sqs-permissions) dans le guide de * EventBridge l'utilisateur Amazon*.

Pour plus d'informations, consultez la section [Événements et modèles d'événements EventBridge dans](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) le *guide de EventBridge l'utilisateur Amazon*.

# Recevez des notifications relatives au déploiement et à l'état de santé des composants
<a name="deployment-health-notifications"></a>

Les règles relatives aux EventBridge événements d'Amazon vous fournissent des notifications concernant les changements d'état de vos déploiements Greengrass reçus par vos appareils et des composants installés sur votre appareil. EventBridge fournit un flux d'événements système en temps quasi réel qui décrit l'évolution des AWS ressources. AWS IoT Greengrass envoie ces événements dans EventBridge la mesure *du possible*. Cela signifie que AWS IoT Greengrass tous les événements sont envoyés à EventBridge mais, dans de rares cas, un événement peut ne pas être diffusé. En outre, AWS IoT Greengrass cela peut envoyer plusieurs copies d'un événement donné, ce qui signifie que les auditeurs de vos événements risquent de ne pas recevoir les événements dans l'ordre dans lequel ils se sont produits. 

**Note**  
Amazon EventBridge est un service de bus d'événements que vous pouvez utiliser pour connecter vos applications à des données provenant de diverses sources, telles que les [appareils principaux de Greengrass](telemetry.md) et les notifications de déploiement et de composants. Pour plus d'informations, consultez [Qu'est-ce qu'Amazon EventBridge ?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) dans le *guide de EventBridge l'utilisateur Amazon*.

**Topics**
+ [Événement de modification de l'état du déploiement](#deployment.events-message-format)
+ [Événement de changement d'état du composant](#component.events-message-format)
+ [Conditions préalables à la création de règles EventBridge](#create-events-rule-prereqs)
+ [Configuration des notifications relatives à l'état de santé de l'appareil (console)](#create-events-rule-console)
+ [Configuration des notifications d'état de l'appareil (CLI)](#create-events-rule-cli)
+ [Configurer les notifications relatives à l'état de l'appareil (CloudFormation)](#create-events-rule-cloudformation)
+ [Consultez aussi](#deployment-notifications-see-also)

## Événement de modification de l'état du déploiement
<a name="deployment.events-message-format"></a>

AWS IoT Greengrass émet un événement lorsqu'un déploiement entre dans les états suivants :`FAILED`,`SUCCEEDED`, `COMPLETED``REJECTED`, et`CANCELED`. Vous pouvez créer une EventBridge règle qui s'applique à toutes les transitions d'état ou aux transitions vers les états que vous spécifiez. Lorsqu'un déploiement entre dans un état qui initie une règle, il EventBridge invoque les actions cibles définies dans la règle. Cela vous permet d'envoyer des notifications, de capturer des informations sur les événements, de prendre des mesures correctives ou de déclencher d'autres événements en réponse à un changement d'état. Par exemple, vous pouvez créer des règles pour les cas d'utilisation suivants :
+ Lancez des opérations après le déploiement, telles que le téléchargement de ressources et la notification du personnel.
+ Envoyer des notifications en cas de réussite ou de l'échec d'un déploiement.
+ Publier des métriques personnalisées sur les événements de déploiement.

L' [événement](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html) pour un changement d'état de déploiement utilise le format suivant :

```
{
    "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=)"
     }
}
```

Vous pouvez créer des règles et des événements qui vous informeront de l'état d'un déploiement. Un événement est déclenché lorsqu'un déploiement se termine sous la forme `FAILED``SUCCEEDED`,`COMPLETED`,`REJECTED`, ou`CANCELED`. Si le déploiement a échoué sur le périphérique principal, vous recevrez une réponse détaillée expliquant pourquoi le déploiement a échoué. Pour plus d'informations sur les codes d'erreur de déploiement, consultez[Codes d'erreur de déploiement détaillés](troubleshooting-deployment.md).

**États de déploiement**  
+ `FAILED`. Le déploiement a échoué.
+ `SUCCEEDED`. Le déploiement ciblé sur un groupe d'objets s'est terminé avec succès.
+ `COMPLETED`. Le déploiement visait un objet terminé avec succès.
+ `REJECTED`. Le déploiement a été refusé. Pour plus d'informations, consultez le `statusDetails` champ.
+ `CANCELED`. Le déploiement a été annulé par l'utilisateur.

Il est possible que les événements soient dupliqués ou hors service. Pour déterminer l'ordre des événements, utilisez la propriété `time`.

Pour obtenir la liste complète des codes d'erreur contenus dans `errorStacks` et`errorTypes`, reportez-vous [Codes d'erreur de déploiement détaillés](troubleshooting-deployment.md) aux sections et[Codes d'état détaillés des composants](troubleshooting-component.md).

## Événement de changement d'état du composant
<a name="component.events-message-format"></a>

Pour AWS IoT Greengrass les versions 2.12.2 et antérieures, Greengrass émet un événement lorsqu'un composant entre dans les états suivants : et. `ERRORED` `BROKEN` Pour les versions 2.12.3 et ultérieures de Greengrass nucleus, Greengrass émet un événement lorsqu'un composant entre dans les états suivants :,, et. `ERRORED` `BROKEN` `RUNNING` `FINISHED` Greengrass émettra également un événement lorsqu'un déploiement sera terminé. Vous pouvez créer une EventBridge règle qui s'applique à toutes les transitions d'état ou aux transitions vers les états que vous spécifiez. Lorsqu'un composant installé entre dans un état qui initie une règle, il EventBridge invoque les actions cibles définies dans la règle. Cela vous permet d'envoyer des notifications, de capturer des informations sur les événements, de prendre des mesures correctives ou de déclencher d'autres événements en réponse à un changement d'état.

L'[événement](https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/CloudWatchEventsandEventPatterns.html) de modification de l'état d'un composant utilise les formats suivants :

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

État du composant : `ERRORED` ou `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 ]

État du composant : `ERRORED` ou `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."
          }
        ]
    }
}
```

État du composant : `RUNNING` ou `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
          }
        ]
    }
}
```

------

Vous pouvez créer des règles et des événements qui vous informeront de l'état d'un composant installé. Un événement est déclenché lorsqu'un composant change d'état sur le périphérique. Vous recevrez une réponse détaillée expliquant pourquoi un composant est défectueux ou défectueux. Vous recevrez également un code d'état qui indiquera la raison de l'échec. Pour plus d'informations sur les codes d'état des composants, consultez[Codes d'état détaillés des composants](troubleshooting-component.md).

## Conditions préalables à la création de règles EventBridge
<a name="create-events-rule-prereqs"></a>

Avant de créer une EventBridge règle pour AWS IoT Greengrass, procédez comme suit :
+ Familiarisez-vous avec les événements, les règles et les cibles dans EventBridge.
+ Créez et configurez les cibles invoquées par vos EventBridge règles. Les règles peuvent appeler de nombreux types de cibles, notamment :
  + Amazon Simple Notiﬁcation Service (Amazon SNS)
  + AWS Lambda fonctions
  + Amazon Kinesis Video Streams
  + Files d’attente Amazon Simple Queue Service (Amazon SQS)

Pour plus d'informations, consultez [Qu'est-ce qu'Amazon EventBridge ?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) et [Getting started with Amazon EventBridge](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-getting-set-up.html) dans le *guide de EventBridge l'utilisateur Amazon*.

## Configuration des notifications relatives à l'état de santé de l'appareil (console)
<a name="create-events-rule-console"></a>

Suivez les étapes ci-dessous pour créer une EventBridge règle qui publie une rubrique Amazon SNS lorsque l'état de déploiement d'un groupe change. Cela permet aux serveurs web, aux adresses e-mail et aux autres abonnés à la rubrique de répondre à l'événement. Pour plus d'informations, consultez la section [Création d'une EventBridge règle déclenchant un événement à partir d'une AWS ressource](https://docs.aws.amazon.com/eventbridge/latest/userguide/create-eventbridge-rule.html) dans le *guide de EventBridge l'utilisateur Amazon*.

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

1. Dans le panneau de navigation, choisissez **Rules**.

1. Choisissez **Créer une règle**.

1. Saisissez un nom et une description pour la règle.

   Une règle ne peut pas avoir le même nom qu'une autre règle de la même région et sur le même bus d'événement.

1. Pour **Event bus** (Bus d'événement), sélectionnez le bus d'événement que vous souhaitez associer à cette règle. Si vous souhaitez que cette règle corresponde aux événements provenant de votre compte, sélectionnez **Bus d’événements par défaut AWS **. Lorsqu'un AWS service de votre compte émet un événement, celui-ci est toujours redirigé vers le bus d'événements par défaut de votre compte.

1. Pour **Type de règle**, choisissez **Règle avec un modèle d’événement**.

1. Choisissez **Suivant**.

1. Pour **Event source** (Source de l'événement), choisissez **AWS events** (Événements).

1. Dans **Modèle d'événement**, sélectionnez **AWS services**.

1. Pour le **AWS service**, choisissez Greengrass.

1. Pour le **type d'événement**, choisissez l'une des options suivantes :
   + Pour les événements de déploiement, choisissez **Greengrass V2 Effective Deployment Status Change**.
   + Pour les événements relatifs aux composants, choisissez **Greengrass V2 Installed Component Status Change**.

1. Choisissez **Suivant**.

1. Pour **Types de cibles**, choisissez **service AWS **.

1. Pour **Sélectionner une cible**, configurez votre cible. Cet exemple utilise une rubrique Amazon SNS, mais vous pouvez configurer d'autres types de cibles pour envoyer des notifications.

   1. Pour **Target** (Cible), choisissez **SNS topic** (Rubrique SNS).

   1. Pour **Topic (Rubrique)**, choisissez votre rubrique cible.

   1. Choisissez **Suivant**.

1. Choisissez **Suivant**.

1. Consultez les détails de la règle et choisissez **Create rule** (Créer une règle).

## Configuration des notifications d'état de l'appareil (CLI)
<a name="create-events-rule-cli"></a>

Suivez les étapes ci-dessous pour créer une EventBridge règle qui publie une rubrique Amazon SNS en cas d'événement de changement de statut de Greengrass. Cela permet aux serveurs web, aux adresses e-mail et aux autres abonnés à la rubrique de répondre à l'événement.

1. Créez la règle.
   + Pour les événements de modification de l'état du déploiement.

     ```
     aws events put-rule \
       --name TestRule \
       --event-pattern "{\"source\": [\"aws.greengrass\"], \"detail-type\": [\"Greengrass V2 Effective Deployment Status Change\"]}"
     ```
   + Pour les événements de modification de l'état des composants.

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

   Les propriétés qui sont omises dans le modèle sont ignorées.

1. Ajoutez la rubrique en tant que cible de règle.
   + *topic-arn*Remplacez-le par l'ARN de votre rubrique Amazon SNS.

   ```
   aws events put-targets \
     --rule TestRule \
     --targets "Id"="1","Arn"="topic-arn"
   ```
**Note**  
Pour autoriser Amazon EventBridge à appeler votre sujet cible, vous devez ajouter une politique basée sur les ressources à votre sujet. Pour plus d'informations, consultez les [autorisations Amazon SNS](https://docs.aws.amazon.com/eventbridge/latest/userguide/resource-based-policies-eventbridge.html#sns-permissions) dans le guide de * EventBridge l'utilisateur Amazon*.

Pour plus d'informations, consultez la section [Événements et modèles d'événements EventBridge dans](https://docs.aws.amazon.com/eventbridge/latest/userguide/eventbridge-and-event-patterns.html) le *guide de EventBridge l'utilisateur Amazon*.

## Configurer les notifications relatives à l'état de l'appareil (CloudFormation)
<a name="create-events-rule-cloudformation"></a>

Utilisez des CloudFormation modèles pour créer des EventBridge règles qui envoient des notifications concernant les changements d'état pour les déploiements de votre groupe Greengrass. Pour plus d'informations, consultez la [référence aux types de EventBridge ressources Amazon](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/AWS_Events.html) dans le *guide de AWS CloudFormation l'utilisateur*.

## Consultez aussi
<a name="deployment-notifications-see-also"></a>
+ [Vérifier l'état de déploiement de l'appareil](check-deployment-status.md#check-device-deployment-status)
+ [Qu'est-ce qu'Amazon EventBridge ?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) dans le *guide de EventBridge l'utilisateur Amazon*

# Vérifiez l'état de l'appareil Greengrass Core
<a name="device-status"></a>

Les appareils Greengrass Core signalent l'état de leurs composants logiciels à. AWS IoT Greengrass Vous pouvez consulter le résumé de l'état de santé de chaque appareil et vous pouvez vérifier l'état de chaque composant sur chaque appareil.

L'état de santé des appareils principaux est le suivant :
+ `HEALTHY`— Le logiciel AWS IoT Greengrass principal et tous les composants s'exécutent sans problème sur le périphérique principal.
+ `UNHEALTHY`— Le logiciel AWS IoT Greengrass principal ou un composant présente un état d'erreur sur le périphérique principal.

**Note**  
AWS IoT Greengrass s'appuie sur des appareils individuels pour envoyer des mises à jour de statut au AWS Cloud. Si le logiciel AWS IoT Greengrass Core n'est pas en cours d'exécution sur l'appareil, ou si l'appareil n'est pas connecté au AWS Cloud, l'état indiqué de cet appareil peut ne pas refléter son état actuel. L'horodatage d'état indique la date de dernière mise à jour de l'état de l'appareil.  
Les appareils principaux envoient des mises à jour de statut aux heures suivantes :  
Quand le logiciel AWS IoT Greengrass Core démarre
Lorsque le dispositif principal reçoit un déploiement du AWS Cloud
Pour Greengrass nucleus 2.12.2 et versions antérieures, le périphérique principal envoie des mises à jour d'état lorsque l'état d'un composant du périphérique principal devient ou `ERRORED` `BROKEN`
Pour Greengrass nucleus 2.12.3 et versions ultérieures, le périphérique principal envoie des mises à jour d'état lorsque l'état de l'un des composants du périphérique principal devient`ERRORED`,, ou `BROKEN` `RUNNING` `FINISHED`
À un [intervalle régulier que vous pouvez configurer](greengrass-nucleus-component.md#greengrass-nucleus-component-configuration-fss), qui est par défaut de 24 heures
Pour AWS IoT Greengrass Core v2.7.0 et versions ultérieures, le périphérique principal envoie des mises à jour d'état lors du déploiement local et du déploiement dans le cloud

**Topics**
+ [Vérifier l'état de santé d'un appareil principal](#check-core-device-health-status)
+ [Vérifier l'état d'un groupe d'appareils principal](#check-core-device-group-health-status)
+ [Vérifier l'état des composants de l'appareil principal](#check-core-device-component-status)

## Vérifier l'état de santé d'un appareil principal
<a name="check-core-device-health-status"></a>

Vous pouvez vérifier l'état de chaque appareil principal.

**Pour vérifier l'état d'un périphérique principal (AWS CLI)**
+ Exécutez la commande suivante pour récupérer l'état d'un appareil. Remplacez *coreDeviceName* par le nom du périphérique principal à interroger.

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

  La réponse contient des informations sur le périphérique principal, notamment son état.

## Vérifier l'état d'un groupe d'appareils principal
<a name="check-core-device-group-health-status"></a>

Vous pouvez vérifier l'état d'un groupe d'appareils principaux (un groupe d'objets).

**Pour vérifier l'état d'un groupe d'appareils (AWS CLI)**
+ Exécutez la commande suivante pour récupérer l'état de plusieurs périphériques principaux. Remplacez l'ARN de la commande par l'ARN du groupe d'objets à interroger.

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

  La réponse contient la liste des principaux appareils du groupe d'objets. Chaque entrée de la liste contient l'état du périphérique principal.

## Vérifier l'état des composants de l'appareil principal
<a name="check-core-device-component-status"></a>

Vous pouvez vérifier l'état, tel que l'état du cycle de vie, des composants logiciels d'un périphérique principal. Pour plus d'informations sur l'état du cycle de vie des composants, consultez[Développer des AWS IoT Greengrass composants](develop-greengrass-components.md).

**Pour vérifier l'état des composants d'un périphérique principal (AWS CLI)**
+ Exécutez la commande suivante pour récupérer l'état des composants sur un périphérique principal. Remplacez *coreDeviceName* par le nom du périphérique principal à interroger.

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

  La réponse contient la liste des composants qui s'exécutent sur le périphérique principal. Chaque entrée de la liste contient l'état du cycle de vie du composant, y compris l'état actuel des données et la date à laquelle le périphérique principal Greengrass a envoyé pour la dernière fois un message contenant un certain composant au cloud. La réponse inclura également la source de déploiement la plus récente qui a intégré le composant au périphérique principal de Greengrass.
**Note**  
Cette commande récupère une liste paginée des composants exécutés par un périphérique principal de Greengrass. Par défaut, cette liste n'inclut pas les composants déployés en tant que dépendances d'autres composants. Vous pouvez inclure les dépendances dans la réponse en définissant le `topologyFilter` paramètre sur`ALL`.