Microsoft AZ-204: Supervision, diagnostics et intégration DevOps Azure — Guide d'étude

Fait partie du Microsoft Azure Developer Associate AZ-204 — Guide d’étude. Entraînez-vous avec des réponses vérifiées dans le centre d’examens Microsoft, ou passez des tests chronométrés sur ExamRoll.io.

Vue d’ensemble

Azure Monitor et Application Insights fournissent une pile d’observabilité unifiée et axée sur les développeurs pour les applications Azure. Application Insights collecte la télémétrie des applications telle que les requêtes, les dépendances, les exceptions et les traces, tandis qu’Azure Monitor agrège les métriques et les journaux de toutes les ressources dans un espace de travail Log Analytics et pilote les alertes et les intégrations DevOps. La maîtrise des choix d’instrumentation, de la sémantique de la télémétrie, des tests de disponibilité, du Kusto Query Language (KQL), des alertes avec des groupes d’actions, du suivi distribué et de l’Infrastructure as Code avec les modèles ARM garantit des solutions fiables, diagnosticables et automatisables.

Instrumentation et télémétrie d’Application Insights

Les ressources Application Insights sont identifiées pour l’ingestion soit par une clé d’instrumentation, soit par une chaîne de connexion. La clé d’instrumentation est l’ancien GUID unique utilisé par les SDK pour router la télémétrie. La chaîne de connexion est la recommandation actuelle ; elle inclut la clé d’instrumentation ainsi que les métadonnées de point de terminaison (points de terminaison d’ingestion et de Live Metrics) et permet le routage vers des points de terminaison non par défaut (pour les clouds souverains ou privés). Utilisez la chaîne de connexion dans les nouveaux codes et configurations ; elle permet de futurs changements de point de terminaison sans redéploiement de code. Au sein d’un App Service, l’activation d’Application Insights au niveau de la plateforme remplira la chaîne de connexion dans les paramètres d’environnement pour les runtimes auto-détectés.

L’instrumentation peut se faire via un SDK ou par auto-instrumentation. L’approche SDK (par exemple, Microsoft.ApplicationInsights.AspNetCore pour .NET, applicationinsights pour Node.js, et l’agent Java Application Insights) offre un contrôle au niveau du code : événements personnalisés, métriques et télémétrie enrichie via des TelemetryInitializers et des processeurs, y compris l’échantillonnage adaptatif. L’auto-instrumentation (attachement sans code) est disponible pour App Service et certaines piles de calcul et utilise des extensions de site/agents pour collecter les requêtes entrantes, les dépendances et les exceptions sans aucune modification de code. Utilisez l’instrumentation par SDK lorsque vous avez besoin d’événements personnalisés, de métriques métier ou d’une corrélation explicite dans les tâches en arrière-plan ; utilisez l’attachement sans code pour une visibilité rapide et à faible effort ou pour les charges de travail lift-and-shift. Dans les deux cas, définissez le nom de rôle cloud pour distinguer les services dans une architecture de microservices et configurez l’échantillonnage avec soin pour équilibrer la fidélité et le coût.

Application Insights émet plusieurs types de télémétrie de base :

Le suivi distribué dans Application Insights repose sur la corrélation. Chaque opération de bout en bout a un ID d’opération (ID de trace en termes W3C) partagé entre les données de télémétrie associées ; chaque span a des relations parent-enfant appliquées par des en-têtes de propagation. Les SDK modernes utilisent le W3C Trace Context (traceparent, tracestate). Operation_Id dans KQL relie les Requêtes, Dépendances, Exceptions et Traces pour la même transaction. Assurez-vous que les clients HTTP sortants propagent les en-têtes ; pour .NET, System.Diagnostics.Activity et le SDK AI s’en chargent automatiquement. Le suivi des dépendances instrumente les clients courants (HTTP, SQL, Service Bus, Storage). Lorsque les services franchissent des frontières (par ex., d’App Service à AKS), une propagation cohérente produit une carte de transaction connectée unique. Pour les flux asynchrones et basés sur des messages, assurez-vous que les SDK capturent et transmettent les ID de corrélation dans les métadonnées des messages ; la plupart des SDK Azure le font par défaut.

Tests de disponibilité et surveillance synthétique

Les tests de disponibilité valident l’accessibilité externe et la réactivité depuis plusieurs zones géographiques. Le test Ping d’URL émet des requêtes HTTP à une fréquence configurée depuis plusieurs emplacements de test et valide les codes de statut, la santé SSL et une correspondance de contenu optionnelle. Utilisez des nouvelles tentatives et plusieurs emplacements pour réduire les faux positifs et configurez des alertes sur les échecs de test pour des notifications exploitables.

Les tests de disponibilité en plusieurs étapes exécutaient historiquement des séquences enregistrées de requêtes HTTP avec des cookies avec état pour vérifier les workflows. Les tests web classiques en plusieurs étapes ont été retirés ; pour les scénarios à requêtes multiples ou authentifiés, implémentez des tests synthétiques en instrumentant votre propre client ou service à l’aide de l’API TrackAvailability (ou des exportateurs OpenTelemetry) pour émettre de l’AvailabilityTelemetry. Cette approche permet une authentification personnalisée, des charges utiles (payloads) et une validation spécifique au domaine tout en conservant des rapports et des alertes centralisés.

La méthode personnalisée TrackAvailability vous donne le contrôle sur :

Combinez les tests de disponibilité avec la télémétrie des dépendances et des requêtes du backend pour différencier rapidement les problèmes de disponibilité des points de terminaison (réseau, DNS, TLS) des défaillances applicatives (exceptions, timeouts) et des pannes en aval (SQL, API externes). Liez les échecs des tests de disponibilité à des groupes d’actions pour piloter les workflows d’incidents.

Données Azure Monitor, KQL et alertes avec les groupes d’actions

Azure Monitor ingère deux principaux types de données : les métriques et les journaux. Les métriques sont des séries temporelles numériques légères avec une ingestion quasi temps réel et un découpage multidimensionnel (par ex., par instance, route d’API). Elles sont idéales pour la détection rapide (CPU, mémoire, taux de requêtes, latence, disponibilité) et prennent en charge une rétention allant jusqu’à 93 jours par défaut. Les journaux sont des enregistrements structurés et interrogeables, stockés dans un espace de travail Log Analytics, et incluent les données d’Application Insights, les journaux de ressources de la plateforme et les journaux personnalisés avec une rétention configurable. Utilisez les Paramètres de diagnostic pour acheminer les métriques de la plateforme et les journaux de ressources vers un espace de travail, un Event Hub ou un compte de stockage pour l’archivage et l’analyse.

Le Kusto Query Language (KQL) est le moteur de l’analyse exploratoire, des tableaux de bord et des alertes de journal. Les modèles principaux incluent :

Les alertes couvrent les métriques et les journaux. Les alertes de métrique évaluent les seuils de métriques en quasi temps réel, prennent en charge les dimensions et la division par dimension, et peuvent utiliser des seuils statiques ou dynamiques (basés sur des lignes de base ML). Elles sont avec état (stateful) et peuvent se déclencher et se résoudre automatiquement en fonction des résultats de l’évaluation, produisant une seule notification lorsque l’état change. Les alertes de journal (requête planifiée) exécutent des requêtes KQL à une cadence définie et se déclenchent en fonction des résultats de la requête (nombre de correspondances ou seuils de mesure). Utilisez les alertes de journal lorsque les conditions dépendent de schémas complexes sur plusieurs tables ou nécessitent une analyse de texte. Les alertes de détection intelligente (Smart detection) et d’anomalie dans Application Insights peuvent mettre en évidence des régressions sans seuils explicites.

Les groupes d’actions (Action groups) définissent des ensembles de réponses réutilisables pour les alertes. Les types de notification incluent l’e-mail, le SMS, les appels vocaux et les notifications push de l’application mobile Azure. Les intégrations incluent :

Modèles ARM pour l’observabilité et le déploiement reproductible

Les modèles Azure Resource Manager (ARM) définissent de manière déclarative les ressources et la configuration de supervision en tant que code. La structure d’un modèle inclut :

Utilisez des modèles liés ou imbriqués pour composer des déploiements complexes. Une ressource de déploiement (Microsoft.Resources/deployments) référence un modèle enfant via templateLink (URI externe) ou l’intègre en ligne. Transmettez les objets de paramètres via parameters ou parametersLink, définissez dependsOn pour l’ordonnancement et réutilisez les modules entre les environnements. Exemples d’observabilité par défaut via ARM :

Adoptez des conditions et des boucles de copie pour des déploiements évolutifs (par ex., appliquer des paramètres de diagnostic à un ensemble d’ID de ressource). Utilisez des fonctions ARM telles que resourceId, subscriptionResourceId, reference, concat et guid pour construire des références dynamiques et des noms stables. Maintenez la configuration de la télémétrie cohérente entre les services en centralisant les conventions de nom de rôle et l’échantillonnage dans les paramètres d’application fournis via des ressources de configuration ARM ou App Service.

Scénario de problème pratique

Adobe a besoin d’une observabilité de bout en bout pour un nouveau pipeline de traitement multimédia multirégional basé sur des API Azure App Service et des microservices AKS. Ils exigent une détection rapide des régressions de latence, un suivi distribué à travers les services, des vérifications proactives de la disponibilité pour les points de terminaison publics, et un routage automatisé des incidents vers leur système d’astreinte avec une reproductibilité de type infrastructure-as-code.

  1. Instrumenter les services avec Application Insights en utilisant des chaînes de connexion
  1. Activer le suivi distribué et le suivi des dépendances
  1. Mettre en œuvre des tests de disponibilité et des vérifications synthétiques personnalisées
  1. Centraliser les données dans un espace de travail Log Analytics et router les journaux de la plateforme
  1. Créer des alertes de métrique et de journal avec des groupes d’actions
  1. Intégrer la réponse aux incidents via des groupes d’actions et des webhooks
  1. Codifier la supervision avec des modèles ARM
  1. Valider avec des tableaux de bord KQL

Mise en cache · Tous les domaines

Entraînez-vous sur ces questions → · Tests chronométrés sur ExamRoll.io →

Pass the whole exam — not just this question

You found this answer. Get every verified question and explanation in one place, and save hours of prep. Free to start.

Réussissez votre examen →

Parcourir Microsoft →

Related guides

Accès tout-en-un

Un seul abonnement. Chaque examen.

Chaque plan débloque la recherche de réponses illimitée, les tests pratiques, les explications IA et la bibliothèque complète de ressources — en plus de 20 langues.

Mensuel
24.87
Just €0.83/day
Tout inclus :
  • Recherche de réponses illimitée
  • Tests pratiques illimités
  • Explications basées sur l'IA
  • Bibliothèque complète de ressources
  • Plus de 20 langues
  • Mises à jour de contenu hebdomadaires
  • Récompenses et parrainages
  • Support prioritaire
Commencer l'essai gratuit

Aucune carte de crédit requise*

Meilleur rapport qualité/prix
12 mois
179.87
Just €0.49/daySave 40%
Tout inclus :
  • Recherche de réponses illimitée
  • Tests pratiques illimités
  • Explications basées sur l'IA
  • Bibliothèque complète de ressources
  • Plus de 20 langues
  • Mises à jour de contenu hebdomadaires
  • Récompenses et parrainages
  • Support prioritaire
Commencer l'essai gratuit

Aucune carte de crédit requise*

✓ Plan gratuit inclus · ✓ Annulez à tout moment · ✓ Tous les plans débloquent le produit complet