Afficher les données de télémétrie avec Azure Monitor et des outils tiers
Votre application collecte des données de télémétrie et vous avez maintenant besoin d’un moyen plus complet de l’afficher. Dans cette unité, vous allez voir comment afficher les données de télémétrie dans de nombreux outils différents.
Surveiller et afficher les données de télémétrie
Un moyen courant d’afficher les données de télémétrie consiste à utiliser Prometheus et Grafana ensemble. Prometheus est un système de surveillance open source qui collecte des métriques à partir de votre application native cloud. Grafana est un outil de visualisation open source que vous utilisez pour créer des tableaux de bord pour afficher les métriques collectées par Prometheus.
Prometheus
La première étape consiste à ajouter un conteneur Prometheus et à le configurer pour collecter des données à partir de chaque microservice de votre application. Vous ajoutez ensuite la bibliothèque cliente Prometheus .NET pour collecter des métriques à partir de l’application.
OpenTelemetry fournit un exportateur pour Prometheus. Vous pouvez ajouter cet exportateur à votre application en incluant le package OpenTelemetry.Exporter.Prometheus.AspNetCore
NuGet. Ce package exporte les métriques vers Prometheus dans un format qu’il peut comprendre. Vous remplacez l’exportateur de console actuel par l’exportateur Prometheus.
Vous ajoutez les points de terminaison pour tous les microservices de votre application. Par exemple :
global:
scrape_interval: 1s
scrape_configs:
- job_name: 'products'
static_configs:
- targets: ['backend:8080']
- job_name: 'store'
static_configs:
- targets: ['frontend:8080']
Grafana
Grafana est un outil de visualisation open source que vous pouvez utiliser pour créer des tableaux de bord pour afficher les métriques collectées par Prometheus. Vous pouvez configurer Grafana pour se connecter à Prometheus et afficher les métriques dans un tableau de bord. Comme précédemment, vous ajoutez un conteneur Grafana à votre application et le configurez pour vous connecter à Prometheus.
Vous ajoutez Prometheus en tant que source de données à Grafana dans un fichier YAML :
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
url: http://prometheus:9090
isDefault: true
access: proxy
editable: true
Activer le suivi distribué
OpenTelemetry prend en charge Jaeger et Zipkin. Dans ce module, vous utilisez Zipkin, qui est un système de suivi distribué open source. Il permet de collecter les données de minutage nécessaires pour résoudre les problèmes de latence dans les architectures de microservice. Il gère à la fois la collection et la recherche de ces données.
Dans votre projet de diagnostics, vous devez ajouter la prise en charge de Zipkin via le package OpenTelemetry.Exporter.Zipkin
NuGet. Vous ajoutez ensuite du code à la AddObservability
méthode pour exporter des données vers Zipkin.
Aller plus loin avec Application Insights
Il existe un outil qui peut combiner l’examen des métriques et l’affichage du suivi distribué, puis le fusionner avec les données des journaux. Application Insights est un service de gestion des performances des applications (APM) extensible. Vous pouvez l’utiliser pour monitorer votre application web en production. Application Insights détecte automatiquement les anomalies de performances. Il intègre de puissants outils d’analyse pour vous aider à diagnostiquer les problèmes et à comprendre ce que font les utilisateurs avec votre application.
Comme les outils précédents, vous devez ajouter un package NuGet à votre solution Azure.Monitor.OpenTelemetry.AspNetCore
, puis introduire Azure Monitor en tant qu’exportateur dans votre projet de diagnostics.