Santé des ressources Azure et diagnostic des problèmes
Ce workflow analyse une ressource Azure spécifique pour évaluer son état de santé, diagnostiquer les problèmes potentiels à l'aide des journaux et données de télémétrie, et développer un plan de correction complet pour les problèmes découverts.
Prérequis
- Serveur Azure MCP configuré et authentifié
- Ressource Azure cible identifiée (nom et optionnellement groupe de ressources/abonnement)
- La ressource doit être déployée et en cours d'exécution pour générer des journaux/télémétrie
- Préférer les outils Azure MCP (
azmcp-*) à l'interface Azure CLI directe quand disponibles
Étapes du workflow
Étape 1 : Obtenir les bonnes pratiques Azure
Action : Récupérer les bonnes pratiques de diagnostic et dépannage Outils : Outil bonnes pratiques Azure MCP Processus :
- Charger les bonnes pratiques :
- Exécuter l'outil bonnes pratiques Azure pour obtenir les directives de diagnostic
- Se concentrer sur la surveillance de la santé, l'analyse des journaux et les modèles de résolution de problèmes
- Utiliser ces pratiques pour informer l'approche diagnostique et les recommandations de correction
Étape 2 : Découverte et identification des ressources
Action : Localiser et identifier la ressource Azure cible Outils : Outils Azure MCP + fallback Azure CLI Processus :
-
Recherche de ressource :
- Si seul le nom de la ressource est fourni : Rechercher dans les abonnements avec
azmcp-subscription-list - Utiliser
az resource list --name <resource-name>pour trouver les ressources correspondantes - Si plusieurs correspondances trouvées, demander à l'utilisateur de spécifier l'abonnement/groupe de ressources
- Rassembler les informations détaillées sur la ressource :
- Type de ressource et état actuel
- Localisation, tags et configuration
- Services associés et dépendances
- Si seul le nom de la ressource est fourni : Rechercher dans les abonnements avec
-
Détection du type de ressource :
- Identifier le type de ressource pour déterminer l'approche diagnostique appropriée :
- Web Apps/Function Apps : Journaux d'application, métriques de performance, suivi des dépendances
- Virtual Machines : Journaux système, compteurs de performance, diagnostics de démarrage
- Cosmos DB : Métriques de requête, limitation, statistiques de partition
- Storage Accounts : Journaux d'accès, métriques de performance, disponibilité
- SQL Database : Performance des requêtes, journaux de connexion, utilisation des ressources
- Application Insights : Télémétrie d'application, exceptions, dépendances
- Key Vault : Journaux d'accès, état des certificats, utilisation des secrets
- Service Bus : Métriques de message, files d'attente de lettres mortes, débit
- Identifier le type de ressource pour déterminer l'approche diagnostique appropriée :
Étape 3 : Évaluation de l'état de santé
Action : Évaluer la santé actuelle et la disponibilité de la ressource Outils : Outils de surveillance Azure MCP + Azure CLI Processus :
-
Contrôle de santé basique :
- Vérifier l'état d'approvisionnement et le statut opérationnel de la ressource
- Vérifier la disponibilité du service et la réactivité
- Examiner les changements de déploiement ou configuration récents
- Évaluer l'utilisation actuelle des ressources (CPU, mémoire, stockage, etc.)
-
Indicateurs de santé spécifiques au service :
- Web Apps : Codes de réponse HTTP, temps de réponse, disponibilité
- Bases de données : Taux de réussite de connexion, performance des requêtes, deadlocks
- Stockage : Pourcentage de disponibilité, taux de réussite des requêtes, latence
- VMs : Diagnostics de démarrage, métriques du SE invité, connectivité réseau
- Functions : Taux de réussite d'exécution, durée, fréquence des erreurs
Étape 4 : Analyse des journaux et télémétrie
Action : Analyser les journaux et télémétrie pour identifier les problèmes et modèles Outils : Outils de surveillance Azure MCP pour les requêtes Log Analytics Processus :
-
Trouver les sources de surveillance :
- Utiliser
azmcp-monitor-workspace-listpour identifier les espaces de travail Log Analytics - Localiser les instances Application Insights associées à la ressource
- Identifier les tables de journaux pertinentes avec
azmcp-monitor-table-list
- Utiliser
-
Exécuter les requêtes diagnostiques : Utiliser
azmcp-monitor-log-queryavec des requêtes KQL ciblées basées sur le type de ressource :Analyse générale des erreurs :
// Erreurs et exceptions récentes union isfuzzy=true AzureDiagnostics, AppServiceHTTPLogs, AppServiceAppLogs, AzureActivity | where TimeGenerated > ago(24h) | where Level == "Error" or ResultType != "Success" | summarize ErrorCount=count() by Resource, ResultType, bin(TimeGenerated, 1h) | order by TimeGenerated descAnalyse de performance :
// Modèles de dégradation de performance Perf | where TimeGenerated > ago(7d) | where ObjectName == "Processor" and CounterName == "% Processor Time" | summarize avg(CounterValue) by Computer, bin(TimeGenerated, 1h) | where avg_CounterValue > 80Requêtes spécifiques à l'application :
// Application Insights - Requêtes échouées requests | where timestamp > ago(24h) | where success == false | summarize FailureCount=count() by resultCode, bin(timestamp, 1h) | order by timestamp desc // Base de données - Échecs de connexion AzureDiagnostics | where ResourceProvider == "MICROSOFT.SQL" | where Category == "SQLSecurityAuditEvents" | where action_name_s == "CONNECTION_FAILED" | summarize ConnectionFailures=count() by bin(TimeGenerated, 1h) -
Reconnaissance de modèles :
- Identifier les modèles d'erreur récurrents ou anomalies
- Corréler les erreurs avec les heures de déploiement ou changements de configuration
- Analyser les tendances de performance et modèles de dégradation
- Rechercher les échecs de dépendances ou les problèmes de services externes
Étape 5 : Classification des problèmes et analyse de la cause racine
Action : Catégoriser les problèmes identifiés et déterminer les causes racines Processus :
-
Classification des problèmes :
- Critique : Service indisponible, perte de données, violations de sécurité
- Haute : Dégradation de performance, défaillances intermittentes, taux d'erreur élevé
- Moyenne : Avertissements, configuration sous-optimale, problèmes mineurs de performance
- Basse : Alertes informatives, opportunités d'optimisation
-
Analyse de la cause racine :
- Problèmes de configuration : Paramètres incorrects, dépendances manquantes
- Contraintes de ressources : Limitations CPU/mémoire/disque, limitation de débit
- Problèmes réseau : Problèmes de connectivité, résolution DNS, règles de pare-feu
- Problèmes d'application : Bugs de code, fuites mémoire, requêtes inefficaces
- Dépendances externes : Défaillances de services tiers, limites d'API
- Problèmes de sécurité : Échecs d'authentification, expiration de certificats
-
Évaluation de l'impact :
- Déterminer l'impact métier et les utilisateurs/systèmes affectés
- Évaluer les implications en matière d'intégrité des données et sécurité
- Évaluer les objectifs de temps de récupération et priorités
Étape 6 : Générer le plan de correction
Action : Créer un plan complet pour résoudre les problèmes identifiés Processus :
-
Actions immédiates (Problèmes critiques) :
- Correctifs d'urgence pour restaurer la disponibilité du service
- Solutions de contournement temporaires pour réduire l'impact
- Procédures d'escalade pour les problèmes complexes
-
Correctifs à court terme (Problèmes haute/moyenne priorité) :
- Ajustements de configuration et mise à l'échelle des ressources
- Mises à jour et correctifs d'application
- Améliorations de la surveillance et des alertes
-
Améliorations à long terme (Tous les problèmes) :
- Changements architecturaux pour meilleure résilience
- Mesures préventives et améliorations de surveillance
- Améliorations de documentation et processus
-
Étapes d'implémentation :
- Éléments d'action prioritaires avec commandes Azure CLI spécifiques
- Procédures de test et validation
- Plans de restauration pour chaque changement
- Surveillance pour vérifier la résolution du problème
Étape 7 : Confirmation utilisateur et génération de rapport
Action : Présenter les résultats et obtenir l'approbation pour les actions de correction Processus :
-
Afficher le résumé de l'évaluation de santé :
🏥 Évaluation de la santé des ressources Azure 📊 Aperçu de la ressource : • Ressource : [Nom] ([Type]) • État : [Sain/Avertissement/Critique] • Localisation : [Région] • Dernière analyse : [Horodatage] 🚨 Problèmes identifiés : • Critique : X problèmes nécessitant une attention immédiate • Haute : Y problèmes affectant la performance/fiabilité • Moyenne : Z problèmes d'optimisation • Basse : N éléments informatifs 🔍 Principaux problèmes : 1. [Type de problème] : [Description] - Impact : [Élevé/Moyen/Faible] 2. [Type de problème] : [Description] - Impact : [Élevé/Moyen/Faible] 3. [Type de problème] : [Description] - Impact : [Élevé/Moyen/Faible] 🛠️ Plan de correction : • Actions immédiates : X éléments • Correctifs à court terme : Y éléments • Améliorations à long terme : Z éléments • Temps de résolution estimé : [Délai] ❓ Procéder avec le plan de correction détaillé ? (o/n) -
Générer un rapport détaillé :
# Rapport de santé des ressources Azure : [Nom de la ressource] **Généré** : [Horodatage] **Ressource** : [ID de ressource complet] **Santé globale** : [État avec indicateur de couleur] ## 🔍 Résumé exécutif [Aperçu bref de l'état de santé et des principales conclusions] ## 📊 Métriques de santé - **Disponibilité** : X% sur les dernières 24h - **Performance** : [Temps de réponse moyen/débit] - **Taux d'erreur** : X% sur les dernières 24h - **Utilisation des ressources** : [Pourcentages CPU/Mémoire/Stockage] ## 🚨 Problèmes identifiés ### Problèmes critiques - **[Problème 1]** : [Description] - **Cause racine** : [Analyse] - **Impact** : [Impact métier] - **Action immédiate** : [Étapes requises] ### Problèmes de haute priorité - **[Problème 2]** : [Description] - **Cause racine** : [Analyse] - **Impact** : [Impact performance/fiabilité] - **Correctif recommandé** : [Étapes de solution] ## 🛠️ Plan de correction ### Phase 1 : Actions immédiates (0-2 heures) ```bash # Correctifs critiques pour restaurer le service [Commandes Azure CLI avec explications]Phase 2 : Correctifs à court terme (2-24 heures)
# Améliorations de performance et fiabilité [Commandes Azure CLI avec explications]Phase 3 : Améliorations à long terme (1-4 semaines)
# Mesures architecturales et préventives [Commandes Azure CLI et changements de configuration]📈 Recommandations de surveillance
- Alertes à configurer : [Liste des alertes recommandées]
- Tableaux de bord à créer : [Suggestions de tableaux de bord de surveillance]
- Vérifications de santé régulières : [Fréquence et étendue recommandées]
✅ Étapes de validation
- [ ] Vérifier la résolution du problème par les journaux
- [ ] Confirmer les améliorations de performance
- [ ] Tester la fonctionnalité de l'application
- [ ] Mettre à jour la surveillance et les alertes
- [ ] Documenter les leçons apprises
📝 Mesures de prévention
- [Recommandations pour prévenir des problèmes similaires]
- [Améliorations des processus]
- [Améliorations de la surveillance]
Gestion des erreurs
- Ressource non trouvée : Fournir une aide sur la spécification du nom/emplacement de la ressource
- Problèmes d'authentification : Guider l'utilisateur dans la configuration de l'authentification Azure
- Permissions insuffisantes : Lister les rôles RBAC requis pour l'accès à la ressource
- Aucun journal disponible : Suggérer d'activer les paramètres diagnostiques et d'attendre les données
- Délais d'expiration de requête : Diviser l'analyse en fenêtres de temps plus petites
- Problèmes spécifiques au service : Fournir une évaluation générale de la santé avec limitations notées
Critères de succès
- ✅ État de santé de la ressource évalué avec précision
- ✅ Tous les problèmes significatifs identifiés et catégorisés
- ✅ Analyse de la cause racine complétée pour les problèmes majeurs
- ✅ Plan de correction exécutable avec étapes spécifiques fourni
- ✅ Recommandations de surveillance et prévention incluses
- ✅ Priorisation claire des problèmes par impact métier
- ✅ Étapes d'implémentation incluent les procédures de validation et restauration