Partage via


Mesurer l’impact sur les erreurs avec un classeur Azure Monitor

Une expérience de chaos n’est utile que si vous pouvez mesurer l’impact. Bien que vous puissiez afficher des métriques sur des ressources individuelles, un tableau de bord centralisé à l’aide de Classeurs Azure fournit une vue « volet unique de verre » pour mettre en corrélation l’erreur avec son impact sur plusieurs ressources. Ce classeur sert d’outil réutilisable pour toutes les expériences de chaos.

La possibilité de visualiser la corrélation directe entre vos expériences de chaos et leur impact sur les métriques système est essentielle pour comprendre la résilience du système. Les classeurs Azure offrent une solution puissante et personnalisable qui vous permet de créer des tableaux de bord dynamiques qui peuvent être réutilisés dans différentes expériences, groupes de ressources et abonnements. En centralisant votre analyse des erreurs dans un tableau de bord unique, vous pouvez rapidement identifier la façon dont différents types d’erreurs affectent votre infrastructure et vos applications, ce qui vous permet de prendre des décisions éclairées sur les améliorations du système et la planification de la reprise d’activité après sinistre.

Créer votre classeur d’analyse des erreurs

Suivez ces instructions pas à pas pour créer un classeur réutilisable pour analyser l’impact de vos expériences de chaos :

  1. Accédez à Azure Monitor dans le portail Azure.

  2. Sélectionnez Classeurs dans le menu de gauche.

  3. Cliquez sur + Nouveau pour créer un classeur vide.

  4. Pour rendre le classeur réutilisable dans différentes expériences, vous devez ajouter des paramètres. Cliquez sur + Ajouter et sélectionnez Ajouter des paramètres.

  5. Créez trois paramètres de texte qui vous permettent de spécifier différentes ressources cibles pour chaque expérience :

    • Abonnement (définir « Obligatoire »)
    • ResourceGroup (définir « Obligatoire »)
    • TargetResource (Définir « Obligatoire »)

    Ces paramètres sont renseignés chaque fois que vous exécutez une expérience, ce qui rend le classeur flexible pour une utilisation sur différentes ressources.

  6. Vous ajoutez maintenant votre premier graphique de métriques pour visualiser l’impact. Cliquez sur + Ajouter et sélectionnez Ajouter une métrique.

  7. Configurez le graphique de métriques à l’aide des paramètres que vous avez créés :

    • Source: Azure
    • Type de ressource : Machines virtuelles
    • Abonnement : sélectionnez « Paramètre » et choisissez le paramètre Abonnement
    • Groupe de ressources : sélectionnez « Paramètre » et choisissez le paramètre ResourceGroup
    • Ressource : sélectionnez « Paramètre » et choisissez le paramètre TargetResource
  8. Dans la configuration de la métrique, ajoutez une métrique commune comme le pourcentage d’UC. Vous pouvez ajouter plusieurs métriques (par exemple, Octets de mémoire disponible, Réseau total) au même graphique pour obtenir une vue complète des performances de la ressource.

  9. Cliquez sur Terminé la modification , puis enregistrez le classeur avec un nom descriptif tel que « Tableau de bord d’analyse de l’expérience chaos ».

Vous pouvez désormais ajouter d’autres graphiques de métriques pour d’autres types de ressources (comme App Service, AKS, Cosmos DB) en répétant les étapes 7 à 9 et en modifiant le type de ressource. Cette approche modulaire vous permet de créer un tableau de bord complet qui couvre toutes les ressources impliquées dans vos expériences de chaos.

Pour vous aider à créer un tableau de bord efficace, le tableau suivant mappe chaque erreur dans la bibliothèque Chaos Studio aux métriques Azure Monitor clés qui révèlent son impact.

Agent-Based faults

Ressource cible : Machine virtuelle / Groupe de machines virtuelles identiques

Fault Name Métriques Azure Monitor recommandées Notes
CPU Pressure Percentage CPU, CPU Credits Remaining Recherchez le pic du processeur vers le niveau de pression configuré.
Pression de la mémoire physique/virtuelle Available Memory Bytes, Percentage Memory La mémoire disponible doit diminuer considérablement.
Pression des E/S disque OS Disk Read Bytes/sec, , OS Disk Write Bytes/secOS Disk Queue Depth, ,Data Disk Latency Attendez-vous à un pic des opérations d’E/S et de la latence.
Arrêter le processus / arrêter le service Niveau de l’application : Http Server Errors (5xx), Response Time.
Niveau de la plateforme : Percentage CPU (peut supprimer).
Les métriques de plateforme n’affichent pas de processus unique. Recherchez les effets secondaires.
Network Disconnect Network In Total, , Network Out TotalOutbound Flows, ,Inbound Flows Le trafic doit passer à zéro pendant l’erreur.
Network Latency Niveau de la plateforme : Outbound Flows RTT (Network Watcher).
Niveau de l’application : Dependency Duration, Response Time.
Attendez-vous à une augmentation claire du temps d’aller-retour ou des temps d’appel de dépendance.
Perte de paquet réseau TCP Segments Retransmitted, Outbound Packets Dropped Ces métriques indiquent que la pile réseau travaille plus dur pour renvoyer des données perdues.
DNS Failure Niveau application : Dependency call failure rate (à partir d’Application Insights). Le mieux observé au niveau de l’application, car il tente de résoudre les noms DNS.
Time Change (Aucune métrique directe) Validez l’impact en vérifiant les journaux du système d’exploitation invité ou d’application pour les erreurs d’asymétrie temporelle.
Stress-ng arbitraire stressor (Varies) Utilisez la métrique qui correspond au stresseur que vous avez activé.

Erreurs d’Azure Kubernetes Service (AKS)

Ressource cible : cluster AKS (Métriques généralement consultées via Container Insights)

Fault Name Métriques Azure Monitor recommandées Notes
Pod Chaos kube_pod_container_status_restarts_total, , kube_deployment_status_replicas_readykube_pod_status_ready Recherchez les redémarrages de pods pour incrémenter ou le nombre de pods prêts à supprimer.
Network Chaos ingress_controller_request_duration_seconds (Latence), node_network_in_bytes, node_network_out_bytes Les erreurs de latence augmentent la durée de la demande.
Stress Chaos Container CPU Usage Percentage, , Container Memory Working Set Bytesnode_cpu_usage_percentage Recherchez un pic d’utilisation des ressources au niveau du conteneur et/ou du nœud.
I/O Chaos node_disk_io_time_seconds_total, node_disk_read_bytes_total Ces métriques au niveau du nœud montrent une activité d’E/S et une latence accrues.
DNS Chaos Prometheus : coredns_dns_request_failures_total.
Niveau de l’application : Dependency call failure rate.
Le mieux observé au sein du CoreDNS du cluster ou au niveau de l’application.
HTTP Chaos ingress_controller_requests (avec dimension de code d’état), Http Server Errors, apiserver_current_inflight_requests Recherchez une augmentation des erreurs HTTP 5xx ou des requêtes ayant échoué.

Erreurs paaS et autres ressources

Fault Category Fault Name Type de ressource cible Métriques Azure Monitor recommandées
App Service Arrêter App Service App Service Http 5xx, , RequestsResponse Time, ,Health check status
Autoscale Disable Autoscale Autoscale Settings Virtual Machine Scale Set Instance Count (pas d’augmentation), Average Percentage CPU (hausse)
Cache pour Redis Redémarrer le nœud de cache Cache Azure pour Redis Connected Clients (dip), Server Load (pic), Errors (type : basculement), Cache Latency
Cosmos DB Basculement de Cosmos DB Compte Cosmos DB Server Side Latency, Total Requests (par StatusCode), Throttled Requests, Service Availability
Event Hubs Modifier l’état d’Event Hub Espaces de noms Event Hubs Incoming Requests, , Throttled RequestsUser Errors, ,Active Connections
Key Vault Refuser l’accès / Désactiver le certificat Key Vault Availability, , Service Api LatencyService Api Results (par ResultType)
Network Règle de sécurité NSG Groupe de sécurité réseau Sur la machine virtuelle affectée : Inbound/Outbound Flows.
Dans les journaux de flux NSG : [Rule Name]_Denied_Packets
Service Bus Modification de l’état de la file d’attente Espace de noms Service Bus Incoming Messages, , User ErrorsServer Errors, ,Active Messages
Virtual Machine VM Shutdown/Redeploy Virtual Machine VM Availability, Percentage CPU (drop to zero), Network In/Out Total
Groupe de machines virtuelles identiques VMSS Shutdown Groupe de machines virtuelles identiques Virtual Machine Scale Set Instance Count, Instance-level Percentage CPU

Orchestration

Fault Name Notes
Démarrer/arrêter le test de charge Ce n’est pas une faute. Les métriques doivent être observées sur les ressources ciblées par le service Azure Load Testing.
Delay Il s’agit d’une action d’attente. Il n’a aucun impact direct sur les métriques, mais il est utilisé pour contrôler le minutage des étapes de votre expérience.