

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.

# CloudWatch métriques
<a name="cloudwatch-metrics-component"></a>

Le composant Amazon CloudWatch Metrics (`aws.greengrass.Cloudwatch`) publie des métriques personnalisées à partir des principaux appareils Greengrass vers Amazon CloudWatch. Le composant permet aux composants de publier CloudWatch des métriques, que vous pouvez utiliser pour surveiller et analyser l'environnement de l'appareil principal Greengrass. Pour plus d'informations, consultez la section [ Utilisation CloudWatch des métriques Amazon ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) dans le guide de CloudWatch l'utilisateur * Amazon*.

Pour publier une CloudWatch métrique avec ce composant, publiez un message dans une rubrique à laquelle ce composant est abonné. Par défaut, ce composant s'abonne à la publish/subscribe [ rubrique `cloudwatch/metric/put`](ipc-publish-subscribe.md) locale. Vous pouvez spécifier d'autres sujets, notamment des sujets AWS IoT Core MQTT, lorsque vous déployez ce composant.

Ce composant regroupe les métriques qui se trouvent dans le même espace de noms et les publie à CloudWatch intervalles réguliers.

**Note**  
Ce composant fournit des fonctionnalités similaires à celles du connecteur de CloudWatch métriques de la AWS IoT Greengrass V1. Pour plus d'informations, consultez le connecteur de [ CloudWatch métriques ](https://docs.aws.amazon.com/greengrass/latest/developerguide/cloudwatch-metrics-connector.html) dans le Guide du développeur *AWS IoT Greengrass V1*.

**Topics**
+ [Versions](#cloudwatch-metrics-component-versions)
+ [Type](#cloudwatch-metrics-component-type)
+ [Système d’exploitation](#cloudwatch-metrics-component-os-support)
+ [Exigences](#cloudwatch-metrics-component-requirements)
+ [Dépendances](#cloudwatch-metrics-component-dependencies)
+ [Configuration](#cloudwatch-metrics-component-configuration)
+ [Données d’entrée](#cloudwatch-metrics-component-input-data)
+ [Données de sortie](#cloudwatch-metrics-component-output-data)
+ [Licences](#cloudwatch-metrics-component-licenses)
+ [Fichier journal local](#cloudwatch-metrics-component-log-file)
+ [Journal des modifications](#cloudwatch-metrics-component-changelog)
+ [Consultez aussi](#cloudwatch-metrics-component-see-also)

## Versions
<a name="cloudwatch-metrics-component-versions"></a>

Les versions de ce composant sont les suivantes :
+ 4.0. x
+ 3.2.x
+ 3.1.x
+ 3.0.x
+ 2.1.x
+ 2.0.x

Pour plus d'informations sur les modifications apportées à chaque version du composant, consultez le [ journal des modifications. ](#cloudwatch-metrics-component-changelog)

## Type
<a name="cloudwatch-metrics-component-type"></a>

------
#### [ v4.x - v3.x ]

<a name="public-component-type-generic"></a>Ce <a name="public-component-type-generic-phrase"></a> composant est un composant générique (`aws.greengrass.generic`). Le noyau [ Greengrass ](greengrass-nucleus-component.md) exécute les scripts de cycle de vie du composant. 

------
#### [ v2.x ]

<a name="public-component-type-lambda"></a>Ce <a name="public-component-type-lambda-phrase"></a> composant est un composant Lambda (`aws.greengrass.lambda`). Le noyau [ Greengrass ](greengrass-nucleus-component.md) exécute la fonction Lambda de ce composant à l'aide du composant [ Lambda launcher. ](lambda-launcher-component.md) 

------

<a name="public-component-type-more-information"></a>Pour de plus amples informations, veuillez consulter [Types de composant](develop-greengrass-components.md#component-types).

## Système d’exploitation
<a name="cloudwatch-metrics-component-os-support"></a>

------
#### [ v4.x - v3.x ]

Ce composant peut être installé sur les appareils principaux qui exécutent les systèmes d'exploitation suivants :
+ Linux
+ Windows

------
#### [ v2.x ]

Ce composant ne peut être installé que sur les appareils principaux de Linux.

------

## Exigences
<a name="cloudwatch-metrics-component-requirements"></a>

Ce composant répond aux exigences suivantes :

------
#### [ v4.x - v3.x ]
+ <a name="public-component-python3-requirement"></a>[https://www.python.org/](https://www.python.org/)La version 3.7 de Python a été installée sur le périphérique principal et ajoutée à la variable d'environnement PATH.
+ Les bibliothèques Python suivantes, y compris toutes les dépendances, doivent être installées et mises à la disposition de l'utilisateur qui exécute le composant :
  + [Kit SDK des appareils AWS IoT v2 pour Python ](https://github.com/aws/aws-iot-device-sdk-python-v2)
  + [AWS SDK pour Python (Boto3)](http://boto.readthedocs.org/en/latest/ref/)
**Note**  
Vous pouvez définir la `UseInstaller` configuration `true` pour installer ces bibliothèques automatiquement dans l'environnement Python fourni.
+ Le rôle d'appareil [ Greengrass ](device-service-role.md) doit autoriser l'`cloudwatch:PutMetricData`action, comme illustré dans l'exemple de politique IAM suivant.

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "cloudwatch:PutMetricData"
        ],
        "Effect": "Allow",
        "Resource": "*"
      }
    ]
  }
  ```

------

  Pour plus d'informations, consultez la référence CloudWatch des autorisations [ Amazon ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/permissions-reference-cw.html) dans le Guide de CloudWatch l'utilisateur * Amazon*.

------
#### [ 2.x ]
+ <a name="core-device-lambda-function-requirements"></a>Votre appareil principal doit répondre aux exigences pour exécuter les fonctions Lambda. Si vous souhaitez que le périphérique principal exécute des fonctions Lambda conteneurisées, il doit répondre aux exigences requises. Pour de plus amples informations, veuillez consulter [Exigences relatives à la fonction Lambda](setting-up.md#greengrass-v2-lambda-requirements).
+ <a name="public-component-python3-requirement"></a>[https://www.python.org/](https://www.python.org/)La version 3.7 de Python a été installée sur le périphérique principal et ajoutée à la variable d'environnement PATH.
+ Le rôle d'appareil [ Greengrass ](device-service-role.md) doit autoriser l'`cloudwatch:PutMetricData`action, comme illustré dans l'exemple de politique IAM suivant.

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Action": [
          "cloudwatch:PutMetricData"
        ],
        "Effect": "Allow",
        "Resource": "*"
      }
    ]
  }
  ```

------

  Pour plus d'informations, consultez la référence CloudWatch des autorisations [ Amazon ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/permissions-reference-cw.html) dans le Guide de CloudWatch l'utilisateur * Amazon*.
+ <a name="connector-component-legacy-subscription-router-dependency"></a>Pour recevoir les données de sortie de ce composant, vous devez fusionner la mise à jour de configuration suivante pour l'[ancien composant du routeur d'abonnement ](legacy-subscription-router-component.md) (`aws.greengrass.LegacySubscriptionRouter`) lorsque vous déployez ce composant. Cette configuration spécifie la rubrique dans laquelle ce composant publie les réponses.

------
#### [ Legacy subscription router v2.1.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-cloudwatch": {
        "id": "aws-greengrass-cloudwatch",
        "source": "component:aws.greengrass.Cloudwatch",
        "subject": "cloudwatch/metric/put/status",
        "target": "cloud"
      }
    }
  }
  ```

------
#### [ Legacy subscription router v2.0.x ]

  ```
  {
    "subscriptions": {
      "aws-greengrass-cloudwatch": {
        "id": "aws-greengrass-cloudwatch",
        "source": "arn:aws:lambda:{{region}}:aws:function:aws-greengrass-cloudwatch:{{version}}",
        "subject": "cloudwatch/metric/put/status",
        "target": "cloud"
      }
    }
  }
  ```<a name="connector-component-legacy-subscription-router-dependency-replace"></a>
  + {{region}}Remplacez-le par Région AWS celui que vous utilisez.
  + {{version}}Remplacez-la par la version de la fonction Lambda exécutée par ce composant. Pour trouver la version de la fonction Lambda, vous devez consulter la recette de la version de ce composant que vous souhaitez déployer. Ouvrez la page de détails de ce composant dans la [AWS IoT Greengrass console ](https://console.aws.amazon.com/greengrass) et recherchez la paire ** clé-valeur de la fonction ** Lambda. Cette paire clé-valeur contient le nom et la version de la fonction Lambda.

**Important**  <a name="connector-component-legacy-subscription-router-dependency-note"></a>
Vous devez mettre à jour la version de la fonction Lambda sur l'ancien routeur d'abonnement chaque fois que vous déployez ce composant. Cela garantit que vous utilisez la version de fonction Lambda appropriée pour la version du composant que vous déployez.

------

  <a name="connector-component-create-deployments"></a>Pour de plus amples informations, veuillez consulter [Créer des déploiements](create-deployments.md).

------

### Points de terminaison et ports
<a name="cloudwatch-metrics-component-endpoints"></a>

Ce composant doit être capable d'effectuer des requêtes sortantes vers les terminaux et les ports suivants, en plus des points de terminaison et des ports requis pour le fonctionnement de base. Pour de plus amples informations, veuillez consulter [Autoriser le trafic des appareils via un proxy ou un pare-feu](allow-device-traffic.md).


| Endpoint |  Port | Obligatoire | Description | 
| --- | --- | --- | --- | 
| `monitoring.{{region}}.amazonaws.com` | 443 | Oui | Téléchargez CloudWatch des métriques. | 

## Dépendances
<a name="cloudwatch-metrics-component-dependencies"></a>

Lorsque vous déployez un composant, déploie AWS IoT Greengrass également des versions compatibles de ses dépendances. Cela signifie que vous devez répondre aux exigences relatives au composant et à toutes ses dépendances pour pouvoir le déployer avec succès. Cette section répertorie les dépendances pour les versions [ publiées ](#cloudwatch-metrics-component-changelog) de ce composant et les contraintes de version sémantiques qui définissent les versions des composants pour chaque dépendance. Vous pouvez également consulter les dépendances pour chaque version du composant dans la [AWS IoT Greengrass console](https://console.aws.amazon.com/greengrass). Sur la page des détails des composants, recherchez la ** liste des ** dépendances.

------
#### [ 4.0.0 - 3.0.0 ]

Le tableau suivant répertorie les dépendances pour les versions 4.0.0 à 3.0.0 de ce composant.


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 3,0,0 | Flexible | 
| [Service d'échange de jetons ](token-exchange-service-component.md) | > = 0,0,0 | Stricte | 

------
#### [ 2.1.4 - 2.1.9 ]

Le tableau suivant répertorie les dépendances pour les versions 2.1.4 à 2.1.9 de ce composant.


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 3,0,0  | Stricte | 
| [Lanceur Lambda ](lambda-launcher-component.md) | ^2,0,0  | Stricte | 
| [Environnements d'exécution (runtimes) Lambda](lambda-runtimes-component.md) | ^2,0,0  | Flexible | 
| [Service d'échange de jetons ](token-exchange-service-component.md) | ^2,0,0  | Stricte | 

------
#### [ 2.1.4 - 2.1.8 ]

Le tableau suivant répertorie les dépendances pour les versions 2.1.4 et 2.1.8 de ce composant.


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 3,0,0  | Stricte | 
| [Lanceur Lambda ](lambda-launcher-component.md) | ^2,0,0  | Stricte | 
| [Environnements d'exécution (runtimes) Lambda](lambda-runtimes-component.md) | ^2,0,0  | Flexible | 
| [Service d'échange de jetons ](token-exchange-service-component.md) | ^2,0,0  | Stricte | 

------
#### [ 2.1.2 - 2.1.3 ]

Le tableau suivant répertorie les dépendances pour les versions 2.1.2 et 2.1.3 de ce composant.


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 2,8,0  | Stricte | 
| [Lanceur Lambda ](lambda-launcher-component.md) | ^2,0,0  | Stricte | 
| [Environnements d'exécution (runtimes) Lambda](lambda-runtimes-component.md) | ^2,0,0  | Flexible | 
| [Service d'échange de jetons ](token-exchange-service-component.md) | ^2,0,0  | Stricte | 

------
#### [ 2.1.1 ]

Le tableau suivant répertorie les dépendances pour la version 2.1.1 de ce composant.


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 2,7,0  | Stricte | 
| [Lanceur Lambda ](lambda-launcher-component.md) | ^2,0,0  | Stricte | 
| [Environnements d'exécution (runtimes) Lambda](lambda-runtimes-component.md) | ^2,0,0  | Flexible | 
| [Service d'échange de jetons ](token-exchange-service-component.md) | ^2,0,0  | Stricte | 

------
#### [ 2.0.8 - 2.1.0 ]

Le tableau suivant répertorie les dépendances pour les versions 2.0.8 à 2.1.0 de ce composant.


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | >=2,0,0 <2,6,0  | Stricte | 
| [Lanceur Lambda ](lambda-launcher-component.md) | ^2,0,0  | Stricte | 
| [Environnements d'exécution (runtimes) Lambda](lambda-runtimes-component.md) | ^2,0,0  | Flexible | 
| [Service d'échange de jetons ](token-exchange-service-component.md) | ^2,0,0  | Stricte | 

------
#### [ 2.0.7 ]

Le tableau suivant répertorie les dépendances de la version 2.0.7 de ce composant.


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 2,5,0  | Stricte | 
| [Lanceur Lambda ](lambda-launcher-component.md) | ^2,0,0  | Stricte | 
| [Environnements d'exécution (runtimes) Lambda](lambda-runtimes-component.md) | ^2,0,0  | Flexible | 
| [Service d'échange de jetons ](token-exchange-service-component.md) | ^2,0,0  | Stricte | 

------
#### [ 2.0.6 ]

Le tableau suivant répertorie les dépendances de la version 2.0.6 de ce composant.


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 2,4,0  | Stricte | 
| [Lanceur Lambda ](lambda-launcher-component.md) | ^2,0,0  | Stricte | 
| [Environnements d'exécution (runtimes) Lambda](lambda-runtimes-component.md) | ^2,0,0  | Flexible | 
| [Service d'échange de jetons ](token-exchange-service-component.md) | ^2,0,0  | Stricte | 

------
#### [ 2.0.5 ]

Le tableau suivant répertorie les dépendances pour la version 2.0.5 de ce composant.


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 2,3,0  | Stricte | 
| [Lanceur Lambda ](lambda-launcher-component.md) | ^2,0,0  | Stricte | 
| [Environnements d'exécution (runtimes) Lambda](lambda-runtimes-component.md) | ^2,0,0  | Flexible | 
| [Service d'échange de jetons ](token-exchange-service-component.md) | ^2,0,0  | Stricte | 

------
#### [ 2.0.4 ]

Le tableau suivant répertorie les dépendances de la version 2.0.4 de ce composant.


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,0 < 2,2,0  | Stricte | 
| [Lanceur Lambda ](lambda-launcher-component.md) | ^2,0,0  | Stricte | 
| [Environnements d'exécution (runtimes) Lambda](lambda-runtimes-component.md) | ^2,0,0  | Flexible | 
| [Service d'échange de jetons ](token-exchange-service-component.md) | ^2,0,0  | Stricte | 

------
#### [ 2.0.3 ]

Le tableau suivant répertorie les dépendances pour la version 2.0.3 de ce composant.


| Dépendance | Versions compatibles | Type de dépendance | 
| --- | --- | --- | 
| [Noyau Greengrass ](greengrass-nucleus-component.md) | > = 2,0,3 < 2,1,0  | Stricte | 
| [Lanceur Lambda ](lambda-launcher-component.md) | > = 1,0,0  | Stricte | 
| [Environnements d'exécution (runtimes) Lambda](lambda-runtimes-component.md) | > = 1,0,0  | Flexible | 
| [Service d'échange de jetons ](token-exchange-service-component.md) | > = 1,0,0  | Stricte | 

------

Pour plus d'informations sur les dépendances des composants, consultez la référence de la recette des [ composants](component-recipe-reference.md#recipe-reference-component-dependencies).

## Configuration
<a name="cloudwatch-metrics-component-configuration"></a>

Ce composant fournit les paramètres de configuration suivants que vous pouvez personnaliser lorsque vous déployez le composant.

------
#### [ v4.x ]

 `PublishInterval`   
(Facultatif) Le nombre maximum de secondes à attendre avant que le composant ne publie des métriques par lots pour un espace de noms donné. Pour configurer le composant afin qu'il publie les métriques au fur et à mesure qu'il les reçoit, c'est-à-dire sans traitement par lots, spécifiez`0`.  
Le composant publie une CloudWatch fois qu'il a reçu 20 métriques dans le même espace de noms ou après l'intervalle que vous avez spécifié.  
Le composant ne spécifie pas l'ordre dans lequel les événements sont publiés.
Cette valeur peut être de 900 secondes au maximum.  
Par défaut : 10 secondes

 `MaxMetricsToRetain`   
(Facultatif) Le nombre maximum de métriques dans tous les espaces de noms à enregistrer en mémoire avant que le composant ne les remplace par des métriques plus récentes.  
Cette limite s'applique lorsque le périphérique principal n'est pas connecté à Internet. Le composant met donc les métriques en mémoire tampon pour les publier ultérieurement. Lorsque la mémoire tampon est pleine, le composant remplace les métriques les plus anciennes par les plus récentes. Les métriques d'un espace de noms donné remplacent uniquement les métriques du même espace de noms.  
Si le processus hôte du composant est interrompu, le composant n'enregistre pas les métriques. Cela peut se produire lors d'un déploiement ou lors du redémarrage de l'appareil principal, par exemple.
Cette valeur doit être d'au moins 2 000 métriques.  
Par défaut : 5 000 métriques

`InputTopic`  
(Facultatif) Rubrique à laquelle le composant est abonné pour recevoir des messages. Si vous spécifiez `true` pour`PubSubToIoTCore`, vous pouvez utiliser des caractères génériques MQTT (\+ et \#) dans cette rubrique.  
Valeur par défaut : `cloudwatch/metric/put`

`OutputTopic`  
(Facultatif) Rubrique à laquelle le composant publie les réponses d'état.  
Valeur par défaut : `cloudwatch/metric/put/status`

`PubSubToIoTCore`  
(Facultatif) Valeur de chaîne qui définit s'il faut publier des sujets AWS IoT Core MQTT et s'y abonner. Les valeurs prises en charge sont `true` et `false`.  
Valeur par défaut : `false`

`LogLevel`  
(Facultatif) Le niveau de journalisation du composant. Choisissez parmi les niveaux de journalisation suivants, répertoriés ici par ordre de niveau :  
+ `DEBUG`
+ `INFO`
+ `WARNING`
+ `ERROR`
+ `CRITICAL`
Valeur par défaut : `INFO`

 `UseInstaller`   
(Facultatif) Valeur booléenne qui définit s'il faut utiliser le script d'installation pour installer les dépendances Python de ce composant dans l'environnement Python fourni.  
Définissez cette valeur sur `true` pour installer automatiquement les dépendances Python de ce composant. Lorsque cette option est définie sur`false`, vous devez installer les bibliothèques suivantes, y compris toutes les dépendances, et les mettre à la disposition de l'environnement Python fourni à l'utilisateur qui exécute le composant.  
+ [Kit SDK des appareils AWS IoT v2 pour Python ](https://github.com/aws/aws-iot-device-sdk-python-v2)
+ [AWS SDK pour Python (Boto3)](http://boto.readthedocs.org/en/latest/ref/)
Valeur par défaut : `false`

`PublishRegion`  
(Facultatif) La Région AWS destination vers laquelle publier CloudWatch les métriques. Cette valeur remplace la région par défaut pour le périphérique principal. Ce paramètre n'est obligatoire que pour les mesures interrégionales.

`accessControl`  
(Facultatif) L'objet qui contient la politique [ d'autorisation ](interprocess-communication.md#ipc-authorization-policies) qui permet au composant de publier et de s'abonner aux rubriques spécifiées. Si vous spécifiez des valeurs personnalisées pour `InputTopic` et`OutputTopic`, vous devez mettre à jour les valeurs des ressources dans cet objet.   
Valeur par défaut :   

```
{
  "aws.greengrass.ipc.pubsub": {
    "aws.greengrass.Cloudwatch:pubsub:1": {
      "policyDescription": "Allows access to subscribe to input topics.",
      "operations": [
        "aws.greengrass#SubscribeToTopic"
      ],
      "resources": [
        "{{cloudwatch/metric/put}}"
      ]
    },
    "aws.greengrass.Cloudwatch:pubsub:2": {
      "policyDescription": "Allows access to publish to output topics.",
      "operations": [
        "aws.greengrass#PublishToTopic"
      ],
      "resources": [
        "{{cloudwatch/metric/put/status}}"
      ]
    }
  },
  "aws.greengrass.ipc.mqttproxy": {
    "aws.greengrass.Cloudwatch:mqttproxy:1": {
      "policyDescription": "Allows access to subscribe to input topics.",
      "operations": [
        "aws.greengrass#SubscribeToIoTCore"
      ],
      "resources": [
        "{{cloudwatch/metric/put}}"
      ]
    },
    "aws.greengrass.Cloudwatch:mqttproxy:2": {
      "policyDescription": "Allows access to publish to output topics.",
      "operations": [
        "aws.greengrass#PublishToIoTCore"
      ],
      "resources": [
        "{{cloudwatch/metric/put/status}}"
      ]
    }
  }
}
```

**Example Exemple : fusion de configuration et mise à jour**  

```
{
  "PublishInterval": 0,
  "PubSubToIoTCore": true
}
```

------
#### [ v3.x ]

 `PublishInterval`   
(Facultatif) Le nombre maximum de secondes à attendre avant que le composant ne publie des métriques par lots pour un espace de noms donné. Pour configurer le composant afin qu'il publie les métriques au fur et à mesure qu'il les reçoit, c'est-à-dire sans traitement par lots, spécifiez`0`.  
Le composant publie une CloudWatch fois qu'il a reçu 20 métriques dans le même espace de noms ou après l'intervalle que vous avez spécifié.  
Le composant ne spécifie pas l'ordre dans lequel les événements sont publiés.
Cette valeur peut être de 900 secondes au maximum.  
Par défaut : 10 secondes

 `MaxMetricsToRetain`   
(Facultatif) Le nombre maximum de métriques dans tous les espaces de noms à enregistrer en mémoire avant que le composant ne les remplace par des métriques plus récentes.  
Cette limite s'applique lorsque le périphérique principal n'est pas connecté à Internet. Le composant met donc les métriques en mémoire tampon pour les publier ultérieurement. Lorsque la mémoire tampon est pleine, le composant remplace les métriques les plus anciennes par les plus récentes. Les métriques d'un espace de noms donné remplacent uniquement les métriques du même espace de noms.  
Si le processus hôte du composant est interrompu, le composant n'enregistre pas les métriques. Cela peut se produire lors d'un déploiement ou lors du redémarrage de l'appareil principal, par exemple.
Cette valeur doit être d'au moins 2 000 métriques.  
Par défaut : 5 000 métriques

`InputTopic`  
(Facultatif) Rubrique à laquelle le composant est abonné pour recevoir des messages. Si vous spécifiez `true` pour`PubSubToIoTCore`, vous pouvez utiliser des caractères génériques MQTT (\+ et \#) dans cette rubrique.  
Valeur par défaut : `cloudwatch/metric/put`

`OutputTopic`  
(Facultatif) Rubrique à laquelle le composant publie les réponses d'état.  
Valeur par défaut : `cloudwatch/metric/put/status`

`PubSubToIoTCore`  
(Facultatif) Valeur de chaîne qui définit s'il faut publier des sujets AWS IoT Core MQTT et s'y abonner. Les valeurs prises en charge sont `true` et `false`.  
Valeur par défaut : `false`

`LogLevel`  
(Facultatif) Le niveau de journalisation du composant. Choisissez parmi les niveaux de journalisation suivants, répertoriés ici par ordre de niveau :  
+ `DEBUG`
+ `INFO`
+ `WARNING`
+ `ERROR`
+ `CRITICAL`
Valeur par défaut : `INFO`

`UseInstaller`  
(Facultatif) Valeur booléenne qui définit s'il faut utiliser le script d'installation pour installer les dépendances Python de ce composant dans l'environnement Python fourni.  
Définissez cette valeur sur `false` pour utiliser un script personnalisé ou installer manuellement les dépendances. Lorsque cette option est définie sur`false`, vous devez installer les bibliothèques suivantes, y compris toutes les dépendances, et les mettre à la disposition de l'environnement Python fourni à l'utilisateur qui exécute le composant.  
+ [Kit SDK des appareils AWS IoT v2 pour Python ](https://github.com/aws/aws-iot-device-sdk-python-v2)
+ [AWS SDK pour Python (Boto3)](http://boto.readthedocs.org/en/latest/ref/)
Valeur par défaut : `true`

`PublishRegion`  
(Facultatif) La Région AWS destination vers laquelle publier CloudWatch les métriques. Cette valeur remplace la région par défaut pour le périphérique principal. Ce paramètre est obligatoire uniquement pour les mesures interrégionales.

`accessControl`  
(Facultatif) L'objet qui contient la politique [ d'autorisation ](interprocess-communication.md#ipc-authorization-policies) qui permet au composant de publier et de s'abonner aux rubriques spécifiées. Si vous spécifiez des valeurs personnalisées pour `InputTopic` et`OutputTopic`, vous devez mettre à jour les valeurs des ressources dans cet objet.   
Valeur par défaut :   

```
{
  "aws.greengrass.ipc.pubsub": {
    "aws.greengrass.Cloudwatch:pubsub:1": {
      "policyDescription": "Allows access to subscribe to input topics.",
      "operations": [
        "aws.greengrass#SubscribeToTopic"
      ],
      "resources": [
        "{{cloudwatch/metric/put}}"
      ]
    },
    "aws.greengrass.Cloudwatch:pubsub:2": {
      "policyDescription": "Allows access to publish to output topics.",
      "operations": [
        "aws.greengrass#PublishToTopic"
      ],
      "resources": [
        "{{cloudwatch/metric/put/status}}"
      ]
    }
  },
  "aws.greengrass.ipc.mqttproxy": {
    "aws.greengrass.Cloudwatch:mqttproxy:1": {
      "policyDescription": "Allows access to subscribe to input topics.",
      "operations": [
        "aws.greengrass#SubscribeToIoTCore"
      ],
      "resources": [
        "{{cloudwatch/metric/put}}"
      ]
    },
    "aws.greengrass.Cloudwatch:mqttproxy:2": {
      "policyDescription": "Allows access to publish to output topics.",
      "operations": [
        "aws.greengrass#PublishToIoTCore"
      ],
      "resources": [
        "{{cloudwatch/metric/put/status}}"
      ]
    }
  }
}
```

**Example Exemple : fusion de configuration et mise à jour**  

```
{
  "PublishInterval": 0,
  "PubSubToIoTCore": true
}
```

------
#### [ v2.x ]

**Note**  <a name="connector-component-lambda-parameters"></a>
La configuration par défaut de ce composant inclut les paramètres de la fonction Lambda. Nous vous recommandons de modifier uniquement les paramètres suivants pour configurer ce composant sur vos appareils.

 `lambdaParams`   
Objet contenant les paramètres de la fonction Lambda de ce composant. Cet objet contient les informations suivantes :    
 `EnvironmentVariables`   
Objet contenant les paramètres de la fonction Lambda. Cet objet contient les informations suivantes :    
 `PUBLISH_INTERVAL`   
(Facultatif) Le nombre maximum de secondes à attendre avant que le composant ne publie des métriques par lots pour un espace de noms donné. Pour configurer le composant afin qu'il publie les métriques au fur et à mesure qu'il les reçoit, c'est-à-dire sans traitement par lots, spécifiez`0`.  
Le composant publie une CloudWatch fois qu'il a reçu 20 métriques dans le même espace de noms ou après l'intervalle que vous avez spécifié.  
Le composant ne garantit pas l'ordre dans lequel les événements sont publiés.
Cette valeur peut être d'au plus 900 secondes.  
Par défaut : 10 secondes  
 `MAX_METRICS_TO_RETAIN`   
(Facultatif) Le nombre maximum de métriques dans tous les espaces de noms à enregistrer en mémoire avant que le composant ne les remplace par des métriques plus récentes.  
Cette limite s'applique lorsque le périphérique principal n'est pas connecté à Internet. Le composant met donc les métriques en mémoire tampon pour les publier ultérieurement. Lorsque la mémoire tampon est pleine, le composant remplace les métriques les plus anciennes par les plus récentes. Les métriques d'un espace de noms donné remplacent uniquement les métriques du même espace de noms.  
Si le processus hôte du composant est interrompu, le composant n'enregistre pas les métriques. Cela peut se produire lors d'un déploiement ou lors du redémarrage de l'appareil principal, par exemple.
Cette valeur doit être d'au moins 2 000 métriques.  
Par défaut : 5 000 métriques  
 `PUBLISH_REGION`   
(Facultatif) La Région AWS destination vers laquelle publier CloudWatch les métriques. Cette valeur remplace la région par défaut pour le périphérique principal. Ce paramètre est obligatoire uniquement pour les mesures interrégionales.

`containerMode`  <a name="connector-component-container-mode-parameter"></a>
(Facultatif) Mode de conteneurisation pour ce composant. Sélectionnez l’une des options suivantes :  <a name="lambda-function-component-container-mode-parameter"></a>
+ `NoContainer`— Le composant ne s'exécute pas dans un environnement d'exécution isolé.
+ `GreengrassContainer`— Le composant s'exécute dans un environnement d'exécution isolé à l'intérieur du AWS IoT Greengrass conteneur.
Valeur par défaut : `GreengrassContainer`

 `containerParams`   
<a name="connector-component-container-params-description"></a>(Facultatif) Objet contenant les paramètres de conteneur pour ce composant. Le composant utilise ces paramètres si vous spécifiez `GreengrassContainer` pour`containerMode`.  
Cet objet contient les informations suivantes :    
 `memorySize`   
<a name="connector-component-container-params-memory-size-description"></a>(Facultatif) La quantité de mémoire (en kilo-octets) à allouer au composant.  
La valeur par défaut est 64 Mo (65 535 Ko).

`pubsubTopics`  <a name="connector-component-pubsub-topics-parameter"></a>
(Facultatif) Objet contenant les rubriques auxquelles le composant s'abonne pour recevoir des messages. Vous pouvez spécifier chaque sujet et indiquer si le composant s'abonne à des sujets MQTT depuis AWS IoT Core ou à des sujets locaux publish/subscribe .  
Cet objet contient les informations suivantes :    
`0`— Il s'agit d'un index de tableau sous forme de chaîne.  
Objet contenant les informations suivantes :    
`type`  
(Facultatif) Type de publish/subscribe messagerie que ce composant utilise pour s'abonner aux messages. Sélectionnez l’une des options suivantes :  
+ `PUB_SUB`— Abonnez-vous aux publish/subscribe messages locaux. Si vous choisissez cette option, la rubrique ne peut pas contenir de caractères génériques MQTT. Pour plus d'informations sur l'envoi de messages à partir d'un composant personnalisé lorsque vous spécifiez cette option, consultez[Publier/souscrire des messages locaux](ipc-publish-subscribe.md).
+ `IOT_CORE`— Abonnez-vous aux messages AWS IoT Core MQTT. Si vous choisissez cette option, la rubrique peut contenir des caractères génériques MQTT. Pour plus d'informations sur la façon d'envoyer des messages à partir de composants personnalisés lorsque vous spécifiez cette option, consultez[Publish/subscribe AWS IoT Core Messages MQTT](ipc-iot-core-mqtt.md).
Valeur par défaut : `PUB_SUB`  
`topic`  
(Facultatif) Rubrique à laquelle le composant est abonné pour recevoir des messages. Si vous spécifiez `IotCore` pour`type`, vous pouvez utiliser des caractères génériques MQTT (`+`et`#`) dans cette rubrique.

**Example Exemple : mise à jour de la fusion de configurations (mode conteneur)**  

```
{
  "containerMode": "GreengrassContainer"
}
```

**Example Exemple : mise à jour de la fusion de configurations (pas de mode conteneur)**  

```
{
  "containerMode": "NoContainer"
}
```

------

## Données d’entrée
<a name="cloudwatch-metrics-component-input-data"></a>

Ce composant accepte les mesures relatives à la rubrique suivante et les publie dans CloudWatch. <a name="connector-component-local-publish"></a>Par défaut, ce composant s'abonne aux publish/subscribe messages locaux. Pour plus d'informations sur la façon de publier des messages sur ce composant à partir de vos composants personnalisés, consultez[Publier/souscrire des messages locaux](ipc-publish-subscribe.md).  

À partir de la version v3.0.0 du composant, vous pouvez éventuellement configurer ce composant pour qu'il s'abonne à une rubrique MQTT en définissant le paramètre de `PubSubToIoTCore` configuration sur. `true` Pour plus d'informations sur la publication de messages sur une rubrique MQTT dans vos composants personnalisés, consultez[Publish/subscribe AWS IoT Core Messages MQTT](ipc-iot-core-mqtt.md).

 **Rubrique par défaut : ** `cloudwatch/metric/put` 

<a name="connector-component-input-properties"></a>Le message accepte les propriétés suivantes. Les messages d'entrée doivent être au format JSON.

 `request`   
La métrique de ce message.  
L'objet de la demande contient les données de métrique à publier dans CloudWatch. Les valeurs métriques doivent répondre aux spécifications de l'[`PutMetricData`](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html)opération.  
Type : `object` qui contient les informations suivantes :    
 `namespace`   
L'espace de noms défini par l'utilisateur pour les données métriques de cette demande. CloudWatch utilise des espaces de noms comme conteneurs pour les points de données métriques.  
Vous ne pouvez pas spécifier d'espace de noms commençant par la chaîne `AWS/` réservée.
Type : `string`  
Schéma valide : `[^:].*`  
 `metricData`   
Les données pour la métrique.  
Type : `object` qui contient les informations suivantes :    
 `metricName`   
Le nom de la métrique.  
Type : `string`  
 `value`   
Valeur de la métrique.  
CloudWatch rejette les valeurs trop petites ou trop grandes. La valeur doit être comprise entre `8.515920e-109` et `1.174271e+108` (Base 10) ou `2e-360` et `2e360` (Base 2). CloudWatch ne prend pas en charge les valeurs spéciales telles que `NaN``+Infinity`, et`-Infinity`.
Type : `double`  
 `dimensions`   
(Facultatif) Les dimensions de la métrique. Les dimensions fournissent des informations supplémentaires sur la métrique et ses données. Une métrique peut définir jusqu'à 10 dimensions.  
Ce composant inclut automatiquement une dimension nommée`coreName`, dont la valeur est le nom du périphérique principal.  
Type : `array` d'objets contenant chacun les informations suivantes :    
 `name`   
(Facultatif) Le nom de la dimension.  
Type : `string`  
 `value`   
(Facultatif) La valeur de la dimension.  
Type : `string`  
 `timestamp`   
(Facultatif) Heure à laquelle les données métriques ont été reçues, exprimée en secondes dans l'ère Unix.  
La valeur par défaut est l'heure à laquelle le composant reçoit le message.  
Type : `double`  
Si vous utilisez entre les versions 2.0.3 et 2.0.7 de ce composant, nous vous recommandons de récupérer l'horodatage séparément pour chaque métrique lorsque vous envoyez plusieurs métriques depuis une seule source. N'utilisez pas de variable pour stocker l'horodatage.  
 `unit`   
(Facultatif) Unité de la métrique.  
Type : `string`  
Valeurs valides : `Seconds` `Microseconds` `Milliseconds` `Bytes` `Kilobytes` `Megabytes` `Gigabytes` `Terabytes` `Bits``Kilobits`, `Megabits``Gigabits`, `Terabits` `Percent``Count`, `Bytes/Second` `Kilobytes/Second``Megabytes/Second`, `Gigabytes/Second` `Terabytes/Second``Bits/Second`, `Kilobits/Second` `Megabits/Second``Gigabits/Second`, `Terabits/Second``Count/Second`, `None`  
La valeur par défaut est `None` .

**Note**  
Tous les quotas qui s'appliquent à l' CloudWatch `PutMetricData`API s'appliquent aux métriques que vous publiez avec ce composant. Les quotas suivants sont particulièrement importants :  
Limite de 40 Ko sur la charge utile de l'API
20 métriques par requête d'API
150 transactions par seconde (TPS) pour l'API `PutMetricData`
Pour plus d'informations, consultez les quotas [ CloudWatch de service ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html) dans le Guide de * CloudWatch l'utilisateur*.

**Example Exemple d'entrée**  

```
{
  "request": {
    "namespace": "Greengrass",
    "metricData": {
      "metricName": "latency",
      "dimensions": [
        {
          "name": "hostname",
          "value": "test_hostname"
        }
      ],
      "timestamp": 1539027324,
      "value": 123.0,
      "unit": "Seconds"
    }
  }
}
```

## Données de sortie
<a name="cloudwatch-metrics-component-output-data"></a>

 <a name="connector-component-output-data-pubsub"></a>Ce composant publie les réponses sous forme de données de sortie sur le publish/subscribe sujet local suivant par défaut. Pour plus d'informations sur la façon de s'abonner à des messages sur ce sujet dans vos composants personnalisés, consultez[Publier/souscrire des messages locaux](ipc-publish-subscribe.md).  

Vous pouvez éventuellement configurer ce composant pour qu'il soit publié dans une rubrique MQTT en définissant le paramètre `PubSubToIoTCore` de configuration sur`true`. Pour plus d'informations sur l'abonnement à des messages sur un sujet MQTT dans vos composants personnalisés, consultez. [Publish/subscribe AWS IoT Core Messages MQTT](ipc-iot-core-mqtt.md)

**Note**  
Les versions 2.0.x des composants publient les réponses sous forme de données de sortie sur un sujet MQTT par défaut. Vous devez spécifier le sujet `subject` dans la configuration de l'[ancien composant de routeur d'abonnement](legacy-subscription-router-component.md).

 **Rubrique par défaut : ** `cloudwatch/metric/put/status` 

**Example Exemple de sortie : réussite**  
La réponse inclut l'espace de noms des données métriques et le `RequestId` champ de la CloudWatch réponse.  

```
{
  "response": {
    "cloudwatch_rid": "70573243-d723-11e8-b095-75ff2EXAMPLE",
    "namespace": "Greengrass",
    "status": "success"
  }
}
```

**Example Exemple de sortie : échec**  

```
{
  "response" : {
    "namespace": "Greengrass",
    "error": "InvalidInputException",
    "error_message": "cw metric is invalid",
    "status": "fail"
  }
}
```

**Note**  <a name="connector-component-retryable-error"></a>
Si le composant détecte une erreur qui peut être réessayée, telle qu'une erreur de connexion, il réessaie la publication dans le lot suivant.

## Licences
<a name="cloudwatch-metrics-component-licenses"></a>

Ce composant inclut le tiers suivant software/licensing :<a name="boto-3-licenses"></a>
+ [AWS SDK pour Python (Boto3)](https://pypi.org/project/boto3/)/Licence Apache 2.0
+ [botocore](https://pypi.org/project/botocore/)/Licence Apache 2.0
+ [dateutil](https://pypi.org/project/python-dateutil/1.4/)/Licence PSF
+ [docutils](https://pypi.org/project/docutils/)/Licence BSD, licence GPL (General Public License) GNU, licence Python Software Foundation, domaine public
+ [jmespath](https://pypi.org/project/jmespath/)/Licence MIT
+ [s3transfer](https://pypi.org/project/s3transfer/)/Licence Apache 2.0
+ [urllib3](https://pypi.org/project/urllib3/)/Licence MIT

<a name="component-core-software-license"></a>Ce composant est publié dans le cadre du contrat [ de licence du logiciel ](https://greengrass-release-license.s3.us-west-2.amazonaws.com/greengrass-license-v1.pdf) Greengrass Core.

## Fichier journal local
<a name="cloudwatch-metrics-component-log-file"></a>

Ce composant utilise le fichier journal suivant.

------
#### [ Linux ]

```
{{/greengrass/v2}}/logs/aws.greengrass.Cloudwatch.log
```

------
#### [ Windows ]

```
{{C:\greengrass\v2}}\logs\aws.greengrass.Cloudwatch.log
```

------

**Pour afficher les journaux de ce composant**
+ Exécutez la commande suivante sur le périphérique principal pour afficher le fichier journal de ce composant en temps réel. Remplacez `{{/greengrass/v2}}` ou {{C:\\greengrass\\v2}} par le chemin du dossier AWS IoT Greengrass racine.

------
#### [ Linux ]

  ```
  sudo tail -f {{/greengrass/v2}}/logs/aws.greengrass.Cloudwatch.log
  ```

------
#### [ Windows (PowerShell) ]

  ```
  Get-Content {{C:\greengrass\v2}}\logs\aws.greengrass.Cloudwatch.log -Tail 10 -Wait
  ```

------

## Journal des modifications
<a name="cloudwatch-metrics-component-changelog"></a>

Le tableau suivant décrit les modifications apportées à chaque version du composant.

------
#### [ v4.x - v3.x ]


|  **Version**  |  **Modifications**  | 
| --- | --- | 
| 4.0.0 |  **Nouvelles fonctionnalités**<br />   La `UseInstaller` configuration par défaut est désormais. `false`     | 
| 3.2.0 |  **Nouvelles fonctionnalités**<br />   Ajouter des supports de recettes pour Greengrass Nucleus Lite     | 
| 3.1.0 |  **Corrections de bugs et améliorations**<br />   Ajoute la prise en charge des configurations de proxy réseau HTTPS. Pour plus d’informations, consultez [Connexion au port 443 ou via un proxy réseau](configure-greengrass-core-v2.md#configure-alpn-network-proxy) et [Permettre au périphérique principal de faire confiance à un proxy HTTPS](configure-greengrass-core-v2.md#https-proxy-certificate-trust).     | 
| 3.0.0 | <a name="changelog-cloudwatch-metrics-3.0.0-major-version-changes"></a>Cette version du composant de CloudWatch métriques attend des paramètres de configuration différents de ceux de la version 2.x. Si vous utilisez une configuration autre que celle par défaut pour la version 2.x et que vous souhaitez passer de la version 2.x à la version 3.x, vous devez mettre à jour la configuration du composant. Pour plus d'informations, consultez la section Configuration [ CloudWatch des composants des métriques](#cloudwatch-metrics-component-configuration).<a name="changelog-cloudwatch-metrics-3.0.0"></a>**Nouvelles fonctionnalités**<br />   Ajoute la prise en charge des appareils principaux qui exécutent Windows.   Change le type de composant de composant Lambda à composant générique. Ce composant ne dépend plus de l'ancien composant du routeur d'abonnement pour créer des abonnements.    Ajoute un nouveau paramètre de `InputTopic` configuration pour spécifier la rubrique à laquelle le composant s'abonne pour recevoir des messages.   Ajoute un nouveau paramètre de `OutputTopic` configuration pour spécifier le sujet auquel le composant publie les réponses d'état.   Ajoute un nouveau paramètre de `PubSubToIoTCore` configuration pour spécifier s'il faut publier des sujets AWS IoT Core MQTT et s'y abonner.   Ajoute le nouveau paramètre `UseInstaller` de configuration qui vous permet de désactiver éventuellement le script d'installation qui installe les dépendances des composants.   <br />**Corrections de bugs et améliorations**<br /> Ajoute la prise en charge des horodatages dupliqués dans les données d'entrée.  | 

------
#### [ v2.x ]


|  **Version**  |  **Modifications**  | 
| --- | --- | 
| 2.1.8 | Version mise à jour pour la version 2.13.0 de Greengrass Nucleus. | 
| 2.1.3 | Version mise à jour pour la version 2.11.0 de Greengrass Nucleus. | 
| 2.1.2 | Version mise à jour pour la version 2.7.0 de Greengrass Nucleus. | 
| 2.1.1 | Version mise à jour pour la version 2.6.0 de Greengrass Nucleus. | 
| 2.1.0 |  **Nouvelles fonctionnalités**<br />   Ajoute la prise en charge des configurations de proxy réseau HTTPS. Pour plus d’informations, consultez [Connexion au port 443 ou via un proxy réseau](configure-greengrass-core-v2.md#configure-alpn-network-proxy) et [Permettre au périphérique principal de faire confiance à un proxy HTTPS](configure-greengrass-core-v2.md#https-proxy-certificate-trust).     | 
| 2.0.8 |  **Corrections de bugs et améliorations**<br />   Ajoute la prise en charge des horodatages dupliqués dans les données d'entrée.   Version mise à jour pour la version 2.5.0 de Greengrass Nucleus.     | 
| 2.0.7 | Version mise à jour pour la version 2.4.0 de Greengrass Nucleus. | 
| 2.0.6 | Version mise à jour pour la version 2.3.0 de Greengrass Nucleus. | 
| 2.0.5 | Version mise à jour pour la version 2.2.0 de Greengrass Nucleus. | 
| 2.0.4 | Version mise à jour pour la version 2.1.0 de Greengrass Nucleus. | 
| 2.0.3 | Première version. | 

------

## Consultez aussi
<a name="cloudwatch-metrics-component-see-also"></a>
+ [Utilisation des CloudWatch métriques Amazon ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) dans le guide de CloudWatch l'utilisateur * Amazon *
+ [PutMetricData](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricData.html)dans la référence de CloudWatch l'API * Amazon *