Ajouter des métriques personnalisées

S’applique à :IoT Edge 1.4 checkmark IoT Edge 1.4

Important

IoT Edge 1.4 est la version prise en charge. Si vous utilisez une version antérieure, consultez l’article Mettre à jour IoT Edge.

Recueillez des métriques personnalisées à partir de vos modules IoT Edge en plus des métriques intégrées fournies par les modules système. Les métriques intégrées fournissent une excellente visibilité de la base de référence pour l’intégrité de votre déploiement. Toutefois, vous pouvez avoir besoin d’informations supplémentaires provenant des modules personnalisés pour avoir une visibilité complète. Les modules personnalisés peuvent être intégrés à votre solution de supervision à l’aide de la bibliothèque cliente Prometheus appropriée pour émettre des métriques. Ces informations supplémentaires peuvent activer de nouvelles vues ou alertes spécialisées en fonction de vos besoins.

Exemple de référentiel de modules

Consultez le référentiel azure-samples pour obtenir des exemples de modules personnalisés instrumentés pour émettre des métriques. Même si un exemple dans le langage de votre choix n’est pas encore disponible, l’approche générale peut vous aider.

Conventions d'attribution d'un nom

Consultez les meilleures pratiques de la documentation Prometheus pour obtenir des conseils généraux. Les recommandations supplémentaires suivantes peuvent être utiles pour les scénarios IoT Edge.

  • Incluez le nom du module au début du nom de la métrique pour préciser le module qui a émis la métrique.

  • Incluez le nom du hub IoT ou de l’application IoT Central, l’identité d’appareil IoT Edge et l’ID de module en tant qu’étiquettes (également appelées balises/dimensions) dans chaque métrique. Ces informations sont disponibles sous forme de variables d’environnement pour chaque module démarré par l’agent IoT Edge. L’approche est illustrée dans l’exemple de référentiel. Sans ce contexte, il est impossible d’associer une valeur de métrique donnée à un appareil particulier.

  • Incluez un ID d’instance dans les étiquettes. Un ID d’instance peut être n’importe quel ID unique, tel qu’un GUID qui est généré lors du démarrage du module. Les informations d’ID d’instance peuvent aider à rapprocher les redémarrages de module lors du traitement des métriques d’un module dans le backend.

Configurer le collecteur de métriques pour collecter des métriques personnalisées

Une fois qu’un module personnalisé émet des métriques, l’étape suivante consiste à configurer le module metrics-collector pour collecter et transporter des métriques personnalisées.

La variable d’environnement MetricsEndpointsCSV doit être mise à jour pour inclure l’URL du point de terminaison des métriques du module personnalisé. Lors de la mise à jour de la variable d’environnement, veillez à inclure les points de terminaison du module système, comme indiqué dans l’exemple de configuration du collecteur de métriques.

Remarque

Par défaut, un point de terminaison de métriques d’un module personnalisé n’a pas besoin d’être mappé à un port d’hôte pour permettre au collecteur de métriques d’y accéder. Sauf en cas de substitution explicite, sur Linux, les deux modules sont démarrés sur un réseau de pont Docker défini par l’utilisateur nommé azure-iot-edge.

Les réseaux Docker définis par l’utilisateur incluent un programme de résolution DNS par défaut qui autorise les communications entre modules à l’aide de noms de module (conteneur). Par exemple, si un module personnalisé nommé Module1 émet des métriques sur le port HTTP 9600 au chemin /metrics, le collecteur doit être configuré pour collecter à partir du point de terminaison http://module1:9600/metrics.

Exécutez la commande suivante sur l’appareil IoT Edge pour tester si les métriques émises par un module personnalisé sur le port HTTP 9600 à l’emplacement /metrics sont accessibles :

sudo docker exec replace-with-metrics-collector-module-name curl http://replace-with-custom-module-name:9600/metrics

Ajouter des visualisations personnalisées

Une fois que vous avez reçu des métriques personnalisées dans Log Analytics, vous pouvez créer des visualisations et des alertes personnalisées. Les classeurs de supervision peuvent être enrichis pour ajouter des visualisations soutenues par des requêtes.

Chaque métrique est associée à l’ID de ressource du hub IoT ou de l’application IoT Central. C’est pourquoi vous pouvez vérifier si vos métriques personnalisées ont été correctement ingérées à partir de la page Journaux du hub IoT ou de l’application IoT Central associé et non celle de l’espace de travail Log Analytics de secours. Utilisez cette requête KQL de base pour effectuer la vérification :

InsightsMetrics
| where Name == 'replace-with-custom-metric-name'

Une fois que vous avez confirmé l’ingestion, vous pouvez créer un nouveau classeur ou enrichir un classeur existant. Comme guide, utilisez la documentation sur les classeurs ainsi que les requêtes des classeurs IoT Edge.

Lorsque vous êtes satisfait des résultats, vous pouvez partager le classeur avec votre équipe, ou les déployer par programme dans le cadre des déploiements de ressources de votre organisation.

Étapes suivantes

Explorez les options de visualisation des métriques supplémentaires avec des classeurs organisés.