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.
Didacticiel de démarrage
Dans ce didacticiel, vous allez créer une métrique de flotte pour surveiller les températures de vos capteurs afin de détecter d'éventuelles anomalies. Lors de la création de la métrique de flotte, vous définissez une requête d'agrégation qui détecte le nombre de capteurs dont les températures dépassent 80 degrés Fahrenheit. Vous spécifiez la requête à exécuter toutes les 60 secondes et les résultats de la requête sont envoyés CloudWatch, où vous pouvez voir le nombre de capteurs présentant des risques potentiels de température élevée et définir des alarmes. Pour suivre ce tutoriel, vous utilisez AWS CLI.
Dans ce didacticiel, vous allez découvrir comment :
Ce didacticiel vous prendra environ 15 minutes.
Prérequis
-
Installez la dernière version de AWS CLI
-
Familiarisez-vous avec l'interrogation de données agrégées
-
Familiarisez-vous avec l'utilisation CloudWatch des métriques Amazon
Configuration
Pour utiliser les métriques de flotte, activez l'indexation de la flotte. Pour activer l'indexation de la flotte pour vos objets ou groupes d'objets avec des sources de données spécifiées et des configurations associées, suivez les instructions des sections Gestion de l'indexation des objets et Gestion de l'indexation des groupes d'objets.
Pour configurer
-
Exécutez la commande suivante pour activer l'indexation de la flotte et spécifier les sources de données à partir desquelles effectuer la recherche.
aws iot update-indexing-configuration \ --thing-indexing-configuration "thingIndexingMode=REGISTRY_AND_SHADOW,customFields=[{name=attributes.temperature,type=Number},{name=attributes.rackId,type=String},{name=attributes.stateNormal,type=Boolean}],thingConnectivityIndexingMode=STATUS" \
L'exemple de commande CLI précédent permet à l'indexation de flotte de prendre en charge la recherche de données de registre, de données shadow et de l'état de connectivité des objets à l'aide de l'index
AWS_Things
.La modification de configuration peut prendre quelques minutes. Vérifiez que l'indexation de votre flotte est activée avant de créer des indicateurs de flotte.
Pour vérifier si l'indexation de votre flotte a été activée, exécutez la commande CLI suivante :
aws --region
us-east-1
iot describe-index --index-name "AWS_Things"Pour de plus amples informations, veuillez consulter Activer l'indexation d’objet.
-
Exécutez le script bash suivant pour créer dix objets et les décrire.
# Bash script. Type `bash` before running in other shells. Temperatures=(70 71 72 73 74 75 47 97 98 99) Racks=(Rack1 Rack1 Rack2 Rack2 Rack3 Rack4 Rack5 Rack6 Rack6 Rack6) IsNormal=(true true true true true true false false false false) for ((i=0; i < 10; i++)) do thing=$(aws iot create-thing --thing-name "TempSensor$i" --attribute-payload attributes="{temperature=${Temperatures[@]:$i:1},rackId=${Racks[@]:$i:1},stateNormal=${IsNormal[@]:$i:1}}") aws iot describe-thing --thing-name "TempSensor$i" done
Ce script crée dix éléments pour représenter dix capteurs. Chaque élément possède les attributs de
temperature
rackId
, etstateNormal
comme décrit dans le tableau suivant :Attribut Type de données Description temperature
Nombre Valeur de température en degrés Fahrenheit rackId
Chaîne ID du rack de serveurs contenant des capteurs stateNormal
Booléen Si la valeur de température du capteur est normale ou non La sortie de ce script contient dix fichiers JSON. Un des fichiers JSON ressemble au suivant :
{ "version": 1, "thingName": "TempSensor0", "defaultClientId": "TempSensor0", "attributes": { "rackId": "Rack1", "stateNormal": "true", "temperature": "70" }, "thingArn": "arn:aws:iot:
region
:account
:thing/TempSensor0", "thingId": "example-thing-id
" }Pour plus d'informations, consultez Créer un objet.
Créer des métriques de flotte
Crée une métrique de flotte
-
Pour créer une métrique de flotte nommée
high_temp_FM
, exécutez la commande suivante. Vous créez la métrique du parc pour surveiller le nombre de capteurs dont les températures dépassent 80 degrés Fahrenheit. CloudWatchaws iot create-fleet-metric --metric-name "high_temp_FM" --query-string "thingName:TempSensor* AND attributes.temperature >80" --period 60 --aggregation-field "attributes.temperature" --aggregation-type name=Statistics,values=count
--métrique-nom
Types de données : Chaîne. Le paramètre
--metric-name
spécifie le nom d'une métrique de flotte. Dans cet exemple, vous créez une métrique de flotte nommée high_temp_FM.-- requête-chaîne
Types de données : Chaîne. Le paramètre
--query-string
spécifie la chaîne de requête. Dans cet exemple, la chaîne de requête signifie interroger tous les éléments dont les noms commencent par TempSensoret avec des températures supérieures à 80 degrés Fahrenheit. Pour plus d'informations, consultez Syntaxe de requête.--période
Type de données – Entier. Le paramètre
--period
indique le temps nécessaire pour récupérer les données agrégées en secondes. Dans cet exemple, vous spécifiez que la métrique de flotte que vous créez récupère les données agrégées toutes les 60 secondes.--agrégation-champ
Types de données : Chaîne. Le paramètre
--aggregation-field
indique l'attribut à évaluer. Dans cet exemple, l'attribut de température doit être évalué.--agrégation-type
Le paramètre
--aggregation-type
spécifie le résumé statistique à afficher dans la métrique de flotte. Pour vos tâches de surveillance, vous pouvez personnaliser les propriétés de requête d'agrégation pour les différents types d'agrégation (statistiques, cardinalité et percentile). Dans cet exemple, vous spécifiez le nombre pour le type d'agrégation et les statistiques pour renvoyer le nombre d'appareils dont les attributs correspondent à la requête, en d'autres termes, pour renvoyer le nombre d'appareils dont le nom commence par TempSensoret dont les températures sont supérieures à 80 degrés Fahrenheit. Pour plus d'informations, consultez la section Interrogation des données agrégées.La sortie de cette commande ressemble à ce qui suit :
{ "metricArn": "arn:aws:iot:
region
:111122223333
:fleetmetric/high_temp_FM", "metricName": "high_temp_FM
" }Note
L'affichage des points de données peut prendre un certain temps CloudWatch.
Pour en savoir plus sur la création d'une métrique de flotte, consultez Gérer les métriques de flotte.
Si vous ne parvenez pas à créer une métrique de flotte, consultez la section Résolution des problèmes liés aux métriques de flotte.
-
(Facultatif) Exécutez la commande suivante pour décrire la métrique de votre flotte nommée high_temp_FM:
aws iot describe-fleet-metric --metric-name "
high_temp_FM
"La sortie de cette commande ressemble à ce qui suit :
{ "queryVersion": "2017-09-30", "lastModifiedDate": 1625249775.834, "queryString": "*", "period": 60, "metricArn": "arn:aws:iot:
region
:111122223333
:fleetmetric/high_temp_FM", "aggregationField": "registry.version", "version": 1, "aggregationType": { "values": [ "count" ], "name": "Statistics" }, "indexName": "AWS_Things", "creationDate": 1625249775.834, "metricName": "high_temp_FM" }
Afficher les statistiques de la flotte dans CloudWatch
Après avoir créé la métrique de flotte, vous pouvez consulter les données de la métrique dans CloudWatch. Dans ce didacticiel, vous verrez la métrique qui indique le nombre de capteurs dont le nom commence par TempSensoret dont les températures sont supérieures à 80 degrés Fahrenheit.
Pour afficher les points de données dans CloudWatch
-
Ouvrez la CloudWatch console à l'adresse https://console.aws.amazon.com/cloudwatch/
. -
CloudWatch Dans le menu du panneau de gauche, choisissez Mesures pour développer le sous-menu, puis sélectionnez Toutes les mesures. Cela ouvre la page dont la moitié supérieure affiche le graphique et la moitié inférieure contient quatre sections à onglets.
-
La première section à onglets Toutes les métriques répertorie toutes les métriques que vous pouvez consulter en groupes, choisissez IoT FleetMetrics. Il contient tous les indicateurs de votre flotte.
-
Dans la section Type d'agrégation de l'onglet Toutes les métriques, choisissez Type d'agrégation pour afficher toutes les métriques de flotte que vous avez créées.
-
Choisissez la métrique de flotte pour afficher le graphique à gauche de la section Type d'agrégation. Vous verrez le
nombre
de valeurs à gauche du nom de votre métrique. Il s'agit de la valeur du type d'agrégation que vous avez spécifié dans la section Créer des métriques de flotte de ce didacticiel. -
Choisissez le deuxième onglet intitulé Métriques graphiques à droite de l'onglet Toutes les métriques pour afficher la métrique de flotte que vous avez choisie à l'étape précédente.
Vous devriez pouvoir voir un graphique qui affiche le nombre de capteurs dont la température est supérieure à 80 degrés Fahrenheit, comme suit :
Note
L'attribut Period est CloudWatch défini par défaut sur 5 minutes. Il s'agit de l'intervalle de temps entre les points de données affichés CloudWatch. Vous pouvez modifier le paramètre Période en fonction de vos besoins.
-
(Facultatif) Vous pouvez définir une alarme métrique.
-
CloudWatch Dans le menu du panneau de gauche, choisissez Alarmes pour développer le sous-menu, puis sélectionnez Toutes les alarmes.
-
Sur la page Alertes, choisissez Créer une alerte dans le coin supérieur droit. Suivez les instructions de création d'alerte dans la console pour créer une alerte selon vos besoins. Pour plus d'informations, consultez la section Utilisation des CloudWatch alarmes Amazon.
-
Pour en savoir plus, consultez l'article Utiliser CloudWatch les métriques Amazon.
Si vous ne pouvez pas voir les points de données CloudWatch, consultez la section Résolution des problèmes liés aux indicateurs de flotte.
Nettoyage
Pour supprimer les métriques de flotte
Vous utilisez la commande CLI delete-fleet-metric pour supprimer les métriques de flotte.
Pour supprimer la métrique de flotte nommée high_temp_FM, exécutez la commande suivante.
aws iot delete-fleet-metric --metric-name "
high_temp_FM
"
Pour nettoyer les objets
Vous pouvez utiliser la commande CLI delete-thing pour supprimer les objets.
Pour supprimer les dix éléments que vous avez créés, exécutez le script suivant :
# Bash script. Type `bash` before running in other shells. for ((i=0; i < 10; i++)) do thing=$(aws iot delete-thing --thing-name "TempSensor$i") done
Pour nettoyer les métriques dans CloudWatch
CloudWatch ne prend pas en charge la suppression des métriques. Les métriques expirent en fonction de leur calendrier de conservation. Pour en savoir plus, consultez la section Utilisation CloudWatch des métriques Amazon.