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.
Le composant Amazon CloudWatch metrics (aws.greengrass.Cloudwatch
) publie sur Amazon des métriques personnalisées provenant des principaux appareils de Greengrass. 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 de Greengrass. Pour plus d'informations, consultez la section Utilisation CloudWatch des métriques Amazon dans le guide de CloudWatch l'utilisateur Amazon.
Pour publier une CloudWatch métrique avec ce composant, publiez un message dans un sujet auquel ce composant est abonné. Par défaut, ce composant s'abonne à la rubrique de publication/d'abonnement cloudwatch/metric/put locale. Vous pouvez spécifier d'autres sujets, y compris les 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 version 1. Pour plus d'informations, consultez le connecteur de CloudWatch métriques dans le guide du développeur de la AWS IoT Greengrass V1.
Rubriques
Versions
Les versions de ce composant sont les suivantes :
-
3.2.x
-
3.1.x
-
3,0. x
-
2,1x
-
2,0.x
Pour plus d'informations sur les modifications apportées à chaque version du composant, consultez le journal des modifications.
Type
Ce composant est un composant générique (aws.greengrass.generic
). Le noyau Greengrass exécute les scripts de cycle de vie du composant.
Pour de plus amples informations, veuillez consulter Types de composants.
Système d’exploitation
Ce composant peut être installé sur les appareils principaux qui exécutent les systèmes d'exploitation suivants :
Linux
Windows
Prérequis
Ce composant répond aux exigences suivantes :
-
Python
version 3.7 installé sur le périphérique principal et ajouté à la variable d'environnement PATH. -
Le rôle d'appareil Greengrass doit autoriser l'
cloudwatch:PutMetricData
action, comme illustré dans l'exemple de politique IAM suivant.{ "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:PutMetricData" ], "Effect": "Allow", "Resource": "*" } ] }
Pour plus d'informations, consultez la référence CloudWatch des autorisations Amazon dans le guide de CloudWatch l'utilisateur Amazon.
Points de terminaison et ports
Ce composant doit être capable d'effectuer des demandes sortantes vers les points de terminaison 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.
Point de terminaison | Port | Obligatoire | Description |
---|---|---|---|
|
443 | Oui |
Téléversez CloudWatch des métriques. |
Dépendances
Lorsque vous déployez un composant, il déploie AWS IoT Greengrass également des versions compatibles de ses dépendances. Cela signifie que vous devez satisfaire aux exigences relatives au composant et à toutes ses dépendances pour réussir le déploiement du composant. Cette section répertorie les dépendances des versions publiées 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 de chaque version du composant dans la AWS IoT Greengrass console
Le tableau suivant répertorie les dépendances pour les versions 3.2.0 de ce composant.
Dépendance | Versions compatibles | Type de dépendance |
---|---|---|
Noyau de Greengrass | >=2,0.0 <3,0.0 | Flexible |
Service d'échange de jetons | >=0,0.0 | Stricte |
Pour plus d'informations sur les dépendances des composants, consultez la référence de la recette des composants.
Configuration
Ce composant fournit les paramètres de configuration suivants que vous pouvez personnaliser lorsque vous déployez le composant.
-
PublishInterval
-
(Facultatif) Le nombre maximal de secondes à attendre avant que le composant 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 CloudWatch après avoir reçu 20 métriques dans le même espace de noms ou après l'intervalle que vous spécifiez.
Note
Le composant ne précise 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 l'appareil principal n'est pas connecté à Internet. Le composant met donc en mémoire tampon les métriques pour les publier ultérieurement. Lorsque la mémoire tampon est pleine, le composant remplace les mesures 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.
Note
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 lorsque le périphérique principal redémarre, 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 s'abonne pour recevoir des messages. Si vous spécifiez
true
pourPubSubToIoTCore
, vous pouvez utiliser des caractères génériques MQTT (+ et #) dans cette rubrique.Par défaut :
cloudwatch/metric/put
OutputTopic
-
(Facultatif) Rubrique pour laquelle le composant publie les réponses de statut.
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
etfalse
.Par défaut :
false
LogLevel
-
(Facultatif) Le niveau de journalisation du composant. Choisissez parmi les niveaux de journalisation suivants, listés ici par ordre de niveau :
-
DEBUG
-
INFO
-
WARNING
-
ERROR
-
CRITICAL
Par défaut :
INFO
-
UseInstaller
-
(Facultatif) Valeur booléenne qui définit s'il faut utiliser le script d'installation dans ce composant pour installer les dépendances du SDK de ce composant.
Définissez cette valeur sur
false
si vous souhaitez utiliser un script personnalisé pour installer des dépendances ou si vous souhaitez inclure des dépendances d'exécution dans une image Linux prédéfinie. Pour utiliser ce composant, vous devez installer les bibliothèques suivantes, y compris les dépendances éventuelles, et les mettre à la disposition de l'utilisateur du système Greengrass par défaut.Par défaut :
true
PublishRegion
-
(Facultatif) Le Région AWS site sur lequel publier CloudWatch les statistiques. Cette valeur remplace la région par défaut pour le périphérique principal. Ce paramètre est requis uniquement pour les métriques interrégionales.
accessControl
-
(Facultatif) Objet contenant la politique d'autorisation 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
etOutputTopic
, vous devez mettre à jour les valeurs des ressources dans cet objet.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
" ] } } }
Exemple : mise à jour de la fusion de configurations
{
"PublishInterval": 0,
"PubSubToIoTCore": true
}
Données d'entrée
Ce composant accepte les métriques relatives au sujet suivant et les publie sur CloudWatch. Par défaut, ce composant s'abonne aux messages de publication/d'abonnement locaux. Pour plus d'informations sur la façon de publier des messages vers ce composant à partir de vos composants personnalisés, consultezPublier/souscrire des messages locaux.
À partir de la version du composant v3.0.0, vous pouvez éventuellement configurer ce composant pour qu'il s'abonne à un sujet 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, consultezPublier/souscrire AWS IoT Core des messages MQTT.
Rubrique par défaut : cloudwatch/metric/put
Le message accepte les propriétés suivantes. Les messages d'entrée doivent être au format JSON.
-
request
-
La métrique indiquée dans 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
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.
Note
Vous ne pouvez pas spécifier un 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.
Note
CloudWatch rejette les valeurs trop petites ou trop grandes. La valeur doit être comprise entre
8.515920e-109
et1.174271e+108
(Base 10) ou2e-360
et2e360
(Base 2). CloudWatch ne prend pas en charge les valeurs spéciales telles queNaN
+Infinity
, et-Infinity
.Type :
double
-
dimensions
-
(Facultatif) 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 à l'époque Unix.
La valeur par défaut est l'heure à laquelle le composant reçoit le message.
Type :
double
Note
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 à partir d'une seule source. N'utilisez pas de variable pour enregistrer l'horodatage.
-
unit
-
(Facultatif) L'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 la section Quotas de CloudWatch service dans le Guide de CloudWatch l'utilisateur.
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
Ce composant publie par défaut les réponses sous forme de données de sortie sur le sujet de publication/d'abonnement local suivant. Pour plus d'informations sur la façon de s'abonner à des messages sur ce sujet dans vos composants personnalisés, consultezPublier/souscrire des messages locaux.
Vous pouvez éventuellement configurer ce composant pour qu'il soit publié dans une rubrique MQTT en définissant le paramètre PubSubToIoTCore
de configuration surtrue
. Pour plus d'informations sur l'abonnement à des messages sur un sujet MQTT dans vos composants personnalisés, consultez. Publier/souscrire AWS IoT Core des messages MQTT
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 tel qu'il subject
figure dans la configuration de l'ancien composant routeur d'abonnement.
Rubrique par défaut : cloudwatch/metric/put/status
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"
}
}
Exemple de sortie : échec
{
"response" : {
"namespace": "Greengrass",
"error": "InvalidInputException",
"error_message": "cw metric is invalid",
"status": "fail"
}
}
Note
Si le composant détecte une erreur qui peut être réessayée, telle qu'une erreur de connexion, il réessaie de publier dans le lot suivant.
Licences
Ce composant inclut les logiciels/licences tiers suivants :
-
AWS SDK for Python (Boto3)
/Licence Apache 2.0 -
botocore
/Licence Apache 2.0 -
dateutil
/Licence PSF -
docutils
/Licence BSD, licence GPL (General Public License) GNU, licence Python Software Foundation, domaine public -
jmespath
/Licence MIT -
s3transfer
/Licence Apache 2.0 -
urllib3
/Licence MIT
Ce composant est publié dans le cadre du contrat de licence logicielle Greengrass Core
Fichier journal local
Ce composant utilise le fichier journal suivant.
/logs/aws.greengrass.Cloudwatch.log
/greengrass/v2
Pour consulter 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
ou/greengrass/v2
C:\greengrass\v2
par le chemin d'accès au dossier AWS IoT Greengrass racine.sudo tail -f
/logs/aws.greengrass.Cloudwatch.log/greengrass/v2
Journal des modifications
Le tableau suivant décrit les modifications apportées à chaque version du composant.
Version |
Modifications |
---|---|
3.2.0 |
|
3.1.0 |
|
3.0.0 |
Cette version du composant CloudWatch metrics 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 métriques.
|
Consultez aussi
-
Utilisation des CloudWatch métriques Amazon dans le guide de CloudWatch l'utilisateur Amazon
-
PutMetricDatadans le Amazon CloudWatch API Reference