Tutoriel : Monitoring des appareils IoT Edge
S’applique à : IoT Edge 1.5
IoT Edge 1.4
Important
IoT Edge 1.5 LTS et IoT Edge 1.4 LTS sont des versions prises en charge. IoT Edge 1.4 LTS sera en fin de vie le 12 novembre 2024. Si vous utilisez une version antérieure, consultez Mettre à jour IoT Edge.
Utilisez des classeurs Azure Monitor pour effectuer le monitoring de l’intégrité et du niveau de performance de vos déploiements Azure IoT Edge.
Dans ce tutoriel, vous allez apprendre à :
- Découvrez quelles métriques sont partagées par les appareils IoT Edge et comment elles sont gérées par le module du collecteur de métriques.
- Déployez le module du collecteur de métriques sur un appareil IoT Edge.
- Consultez des visualisations curées des métriques collectées à partir de l’appareil.
Prérequis
Il vous faut un appareil IoT Edge sur lequel le module de capteur de température simulé est déployé. Si vous ne possédez pas d’appareil prêt, suivez la procédure décrite dans Déploiement d’un premier module IoT Edge sur un appareil virtuel Linux pour en créer un avec une machine virtuelle.
Présentation des métriques IoT Edge
Chaque appareil IoT Edge s’appuie sur deux modules, les modules du runtime, qui gèrent le cycle de vie et la communication de tous les autres modules sur un appareil : l’agent IoT Edge et le hub IoT Edge. Pour plus d’informations sur ces modules, consultez Présentation du runtime Azure IoT Edge et de son architecture.
Les deux modules du runtime créent des métriques permettant d’effectuer à distance le monitoring du niveau de performance d’un appareil IoT Edge ou de ses différents modules. L’agent IoT Edge signale l’état de chacun des modules et de l’appareil hôte. Il crée donc des métriques telles que la durée de bon fonctionnement d’un module ou la quantité de mémoire RAM employée et le pourcentage de processeur exploités sur l’appareil. Le hub IoT Edge, lui, signale les communications sur l’appareil. Il crée donc des métriques telles que le nombre total de messages envoyés et reçus ou le temps nécessaire à la résolution d’une méthode directe. Pour connaître la liste complète des métriques disponibles, consultez Accès aux métriques intégrées.
Ces métriques sont exposées automatiquement par les deux modules. Vous pouvez ainsi créer vos propres solutions pour accéder à ces métriques et créer des rapports. Pour faciliter les choses, Microsoft fournit le module azureiotedge-metrics-collector qui gère ce processus pour ceux qui ne possèdent pas de solution personnalisée ou n’en ont pas besoin. Ce module collecte des métriques auprès des deux modules du runtime et de tous les autres modules dont vous souhaitez effectuer le monitoring, et les transfère hors de l’appareil.
Le module du collecteur de métriques fonctionne de deux manières pour envoyer les métriques vers le cloud. La première option, que nous allons utiliser dans ce tutoriel, consiste à les envoyer directement à Log Analytics. La deuxième option n’est recommandée que si les stratégies de mise en réseau l’exigent : il s’agit d’envoyer les métriques via IoT Hub, puis de configurer un itinéraire pour transmettre les messages de métriques à Log Analytics. Dans les deux cas, les métriques sont consultables par le biais de classeurs Azure Monitor une fois qu’elles se trouvent dans l’espace de travail Log Analytics.
Créer un espace de travail Log Analytics
Un espace de travail Log Analytics est nécessaire pour collecter les données de métriques. Il fournit un langage de requête et une intégration avec Azure Monitor pour vous permettre d’effectuer le monitoring de vos appareils.
Connectez-vous au portail Azure.
Recherchez et sélectionnez Espaces de travail Log Analytics.
Sélectionnez Créer, puis suivez les invites pour créer un espace de travail.
Une fois l’espace de travail créé, sélectionnez Accéder à la ressource.
Sous Paramètres dans le menu principal, sélectionnez Gestion des agents.
Copiez les valeurs ID de l’espace de travail et Clé primaire. Vous les utiliserez plus loin dans ce tutoriel pour configurer le module du collecteur de métriques de sorte qu’il envoie les métriques à cet espace de travail.
Récupération de l’ID de ressource du IoT
Quand vous configurez le module du collecteur de métriques, vous lui donnez l’ID de ressource Azure Resource Manager de votre IoT Hub. Récupérez maintenant cet ID.
Sur le Portail Azure, accédez à votre hub IoT.
Sous Paramètres dans le menu de gauche, sélectionnez Propriétés.
Copiez la valeur ID de la ressource. Elle suit le format
/subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.Devices/IoTHubs/<iot_hub_name>
.
Déploiement du module du collecteur de métriques
Déployez le module du collecteur de métriques sur chacun des appareils dont vous souhaitez effectuer le monitoring. Il s’exécute sur l’appareil comme n’importe quel autre module, et surveille les points de terminaison qui lui sont attribués pour collecter les métriques et les envoyer dans le cloud.
Pour déployer et configurer le module du collecteur, procédez comme suit :
Connectez-vous au portail Azure et accédez à votre hub IoT.
Dans le menu de gauche, sélectionnez Appareils sous le menu Gestion des appareils.
Sélectionnez l’ID de l’appareil cible dans la liste des appareils IoT Edge pour ouvrir la page Détails de l’appareil.
Dans la barre de menu supérieure, sélectionnez Définir des modules.
La première étape du déploiement de modules sur le portail consiste à déclarer les Modules qui doivent se trouver sur un appareil. Si vous utilisez l’appareil que vous avez créé dans le guide de démarrage rapide, SimulatedTemperatureSensor apparaît déjà dans la liste. Si ce n’est pas le cas, ajoutez-le maintenant :
Dans la section Modules IoT Edge, sélectionnez Ajouter, puis choisissez Module IoT Edge.
Mettez à jour les paramètres de module suivants :
Paramètre Valeur Nom du module IoT SimulatedTemperatureSensor
URI d’image mcr.microsoft.com/azureiotedge-simulated-temperature-sensor:latest
Stratégie de redémarrage toujours État souhaité exécution en cours Sélectionnez Suivant : Itinéraires pour continuer à configurer des itinéraires.
Ajoutez une route qui envoie tous les messages du module de température simulé à IoT Hub.
Paramètre Valeur Nom SimulatedTemperatureSensorToIoTHub
Valeur FROM /messages/modules/SimulatedTemperatureSensor/* INTO $upstream
Ajoutez et configurez le module du collecteur de métriques :
Sélectionnez Ajouter, puis choisissez Module IoT Edge.
Recherchez et sélectionnez Collecteur de métriques IoT Edge.
Mettez à jour les paramètres de module suivants :
Paramètre Valeur Nom du module IoT IoTEdgeMetricsCollector
URI d’image mcr.microsoft.com/azureiotedge-metrics-collector:latest
Stratégie de redémarrage toujours État souhaité exécution en cours
Si vous souhaitez utiliser une autre version ou architecture du module collecteur de métriques, recherchez les images disponibles dans le Registre des artefacts Microsoft.
Accédez à l’onglet Variables d’environnement.
Ajoutez les variables d’environnement de type texte suivantes :
Nom Valeur ResourceId ID de ressource du hub IoT que vous avez récupéré dans une section précédente. UploadTarget AzureMonitor
LogAnalyticsWorkspaceId ID de l’espace de travail Log Analytics que vous avez récupéré dans une section précédente. LogAnalyticsSharedKey Clé Log Analytics que vous avez récupérée dans une section précédente. Pour plus d’informations sur les paramètres des variables d’environnement, consultez la Configuration du collecteur de métriques.
Sélectionnez Appliquer pour enregistrer vos modifications.
Remarque
Si vous souhaitez que le module collecteur envoie les métriques via IoT Hub, vous devez ajouter un itinéraire vers l’amont similaire à
FROM /messages/modules/< FROM_MODULE_NAME >/* INTO $upstream
. Toutefois, dans ce tutoriel, nous envoyons les métriques directement à Log Analytics. Par conséquent, cela n’est pas nécessaire.Sélectionnez Vérifier + créer pour passer à l’étape finale du déploiement des modules.
Sélectionnez Créer pour terminer le déploiement.
Une fois le déploiement du module effectué, vous revenez à la page Détails de l’appareil sur laquelle vous pouvez voir quatre modules indiqués comme Spécifié dans le déploiement. Il peut s’écouler quelques instants avant que les quatre modules n’apparaissent comme Signalé par l’appareil. Cette mention signifie qu’ils ont démarré correctement et ont bien signalé leur état à IoT Hub. Actualisez la page pour afficher l’état le plus récent.
Monitoring de l’intégrité de l’appareil
L’affichage des classeurs de monitoring des appareils peut prendre jusqu’à quinze minutes. Une fois déployé, le module du collecteur de métriques commence à envoyer des messages de métriques à Log Analytics, où ils sont organisés dans une table. L’ID de la ressource IoT Hub fourni lie les métriques ingérées au hub auquel elles appartiennent. Par conséquent, les classeurs IoT Edge curés peuvent récupérer les métriques en interrogeant la table de métriques avec l’ID de la ressource.
Azure Monitor fournit trois modèles de classeurs par défaut pour IoT :
- Le classeur Vue de la flotte montre l’intégrité des appareils dans plusieurs ressources IoT. La vue permet de configurer des seuils pour déterminer l’intégrité des appareils et présente des agrégations des métriques principales, par appareil.
- Le classeur Détails de l’appareil fournit des visualisations autour de trois catégories : messages, modules et hôte. La vue Messages permet de visualiser l’itinéraire des messages pour un appareil et donne l’intégrité globale du système de messagerie. La vue Modules montre le niveau de performance des différents modules d’un appareil. La vue Hôte présente des informations sur l’appareil hôte, notamment des informations de version sur les composants hôtes et l’utilisation des ressources.
- La vue de classeur Alertes présente les alertes pour les appareils de plusieurs ressources IoT.
Exploration des classeurs Vue de la flotte et Instantané d’intégrité
Le classeur Vue de la flotte affiche tous les appareils. Il offre également la possibilité de sélectionner des appareils spécifiques pour voir leur instantané d’intégrité. Pour explorer les visualisations du classeur, procédez comme suit :
Revenez sur la page de votre hub IoT sur le Portail Azure.
Faites défiler le menu principal pour trouver la section Monitoring, puis sélectionnez Classeurs.
Sélectionnez le classeur Vue de la flotte.
L’appareil qui exécute le module du collecteur de métriques y apparaît comme sain ou non sain.
Sélectionnez le nom de l’appareil pour afficher les métriques détaillées de l’appareil.
Sur n’importe quel graphe temporel, utilisez les icônes de direction qui figurent sous l’axe X ou sélectionnez le graphe et faites glisser le curseur pour modifier l’intervalle de temps.
Fermez le classeur Instantané d’intégrité. Sélectionnez Classeurs dans le classeur Vue de la flotte pour revenir à la galerie de classeurs.
Exploration du classeur Détails de l’appareil
Le classeur Détails de l’appareil affiche des informations sur le niveau de performance d’un appareil donné. Pour explorer les visualisations du classeur, procédez comme suit :
Dans la galerie de classeurs, sélectionnez le classeur Détails de l’appareil IoT Edge.
La première page qui s’affiche dans le classeur Détails de l’appareil est la vue Messages avec l’onglet Acheminement sélectionné.
Sur la gauche, un tableau affiche les itinéraires sur l’appareil, organisés par point de terminaison. Pour notre appareil, nous voyons que le point de terminaison en amont (terme spécial utilisé pour l’acheminement vers IoT Hub) reçoit des messages de la sortie temperatureOutput du module de capteur de température simulé.
Sur la droite, un graphe effectue le suivi du nombre de clients connectés au fil du temps. Vous pouvez sélectionner et faire glisser le graphe pour modifier l’intervalle de temps.
Sélectionnez l’onglet Graphe pour afficher une autre visualisation des itinéraires. Sur la page du graphe, vous pouvez glisser-déplacer les différents points de terminaison pour le réorganiser. Cette fonctionnalité est utile en présence de nombreux itinéraires à visualiser.
L’onglet Intégrité signale tous les problèmes liés aux messages, par exemple les messages supprimés et les clients déconnectés.
Sélectionnez la vue Modules pour afficher l’état de tous les modules déployés sur l’appareil. Vous pouvez sélectionner chacun des modules pour afficher des détails sur la quantité de processeur et de mémoire qu’ils utilisent.
Sélectionnez la vue Hôte pour afficher des informations sur l’appareil hôte, notamment son système d’exploitation, la version du démon IoT Edge et l’utilisation des ressources.
Affichage des journaux des modules
Si, après avoir consulté les métriques d’un appareil, vous souhaitez approfondir les choses, vous pouvez inspecter les modules un par un. IoT Edge fournit une assistance à la résolution des problèmes sur le Portail Azure avec une fonctionnalité de journaux dynamiques des modules.
Dans le classeur Détails de l’appareil, sélectionnez Résoudre les problèmes en direct.
La page de résolution des problèmes s’ouvre sur les journaux edgeAgent de l’appareil IoT Edge. Si vous avez sélectionné un intervalle de temps spécifique dans le classeur Détails de l’appareil, ce paramètre est transmis à la page de résolution des problèmes.
Utilisez le menu déroulant pour basculer vers les journaux des autres modules en cours d’exécution sur l’appareil. Sélectionnez le bouton Redémarrer pour redémarrer un module.
La page de résolution des problèmes est également accessible à partir de la page Détails d’un appareil IoT Edge. Pour plus d’informations, consultez Résolution des problèmes des appareils IoT Edge sur le Portail Azure.
Étapes suivantes
Lorsque vous suivez les autres tutoriels, conservez le module de collecteur de métriques sur vos appareils et revenez sur ces classeurs. Vous verrez ainsi comment les informations changent lorsque vous ajoutez des modules et un acheminement plus complexes.
Passez au tutoriel suivant. Vous y configurez votre environnement de développement pour commencer à déployer des modules personnalisés sur vos appareils.