Partager via


Tutoriel : Résoudre les problèmes d’une application App Service à l’aide de la préversion de l’Agent Azure SRE

Remarque

Azure SRE Agent est en préversion. En utilisant l’agent SRE, vous consentez aux conditions d’utilisation supplémentaires spécifiques au produit pour les préversions Microsoft Azure.

L’ingénierie de fiabilité des sites (SRE) se concentre sur la création de systèmes fiables et évolutifs par le biais de l’automatisation et de la gestion proactive. L’Agent Azure SRE apporte ces principes à votre environnement cloud en fournissant des fonctionnalités de supervision, de résolution des problèmes et de correction basées sur l’IA.

L’Agent SRE automatise les tâches opérationnelles de routine et fournit des insights raisonnés pour vous aider à maintenir la fiabilité des applications tout en réduisant l’intervention manuelle. L’Agent SRE est disponible en tant que chatbot. Vous pouvez donc poser des questions et fournir des commandes en langage naturel pour gérer vos applications et services. Pour garantir la précision et le contrôle, toute action effectuée par un agent en votre nom nécessite votre approbation.

L’exemple d’application de ce tutoriel illustre la détection d’erreurs en simulant des échecs HTTP 500 de manière contrôlée. Vous pouvez tester ces scénarios en toute sécurité à l’aide d’emplacements de déploiement Azure App Service pour exécuter différentes configurations d’application côte à côte.

Vous activez la simulation d’erreur en définissant le paramètre d’application INJECT_ERROR sur 1. Lorsque ce paramètre est activé, l’application génère une erreur HTTP 500 après avoir sélectionné le bouton quelques fois. Vous pouvez ensuite voir comment l’Agent SRE répond aux échecs d’application.

Dans ce tutoriel, vous allez :

  • Créez une application App Service à l’aide du portail Azure.
  • Déployez un exemple d’application à partir de GitHub.
  • Configurez l’application avec une commande de démarrage et activez la journalisation.
  • Créez un emplacement de déploiement pour simuler une défaillance.
  • Configurez un agent pour surveiller l’application.
  • Déclenchez une défaillance en passant à l’emplacement endommagé.
  • Utilisez une conversation pilotée par l’IA pour diagnostiquer et résoudre le problème en supprimant l’échange.

Conditions préalables

Pour créer un agent, vous devez accorder à votre agent les autorisations appropriées, configurer les paramètres appropriés et accorder l’accès aux ressources appropriées :

  • Compte Azure : vous avez besoin d’un compte Azure avec un abonnement actif. Si vous n’en avez pas déjà un, vous pouvez créer un compte gratuit.

  • Contexte de sécurité : vérifiez que votre compte d’utilisateur dispose des autorisations Microsoft.Authorization/roleAssignments/write en tant qu’administrateur de contrôle d’accès en fonction du rôle ou administrateur de l’accès utilisateur.

  • Inscription de l’espace de noms : à l’aide d’Azure Cloud Shell dans le portail Azure, exécutez la commande suivante pour inscrire l’espace Microsoft.App de noms :

    az provider register --namespace "Microsoft.App"
    
  • Paramètres de pare-feu : ajoutez-le à la liste d’autorisation dans vos paramètres de pare-feu. Certains profils réseau peuvent bloquer l’accès au *.azuresre.ai domaine par défaut.

  • ID d’abonnement de votre liste d'autorisation : assurez-vous que votre session Azure CLI est configurée avec l’ID d’abonnement dans la liste d'autorisation de préversion. Si vous devez définir le contexte Azure CLI sur votre ID d’abonnement, utilisez la commande suivante :

    az account set --subscription "<SUBSCRIPTION_ID>"
    
  • Accès aux régions approuvées : pendant la préversion, les seules régions autorisées pour L’agent SRE sont les régions Suède Centre, USA Est 2 et Australie Est . Assurez-vous que votre compte d’utilisateur dispose d’autorisations de propriétaire ou d’administrateur , ainsi que des autorisations pour créer des ressources dans la région appropriée.

1. Créer une application App Service

Commencez par créer une application web que l’Agent SRE peut surveiller :

  1. Connectez-vous au portail Azure.

  2. Dans la barre de recherche, recherchez App Services, puis sélectionnez-le dans les résultats.

  3. Sélectionnez + Créer une>application web.

  4. Sous l’onglet Informations de base, fournissez les détails suivants.

    Pour les Détails du projet, entrez ces valeurs :

    Réglage Valeur
    Subscription Votre abonnement Azure
    Groupe de ressources Créer>my-app-service-group

    Pour les Détails de l’instance, entrez ces valeurs :

    Réglage Valeur
    Nom my-sre-app
    Publier Code
    Pile d’exécution .NET 9 (STS)
    Système d’exploitation Windows
    Region Une région près de vous
  5. Sélectionnez l’onglet Déploiement .

  6. Sous Paramètres d’authentification, activez l’authentification de base.

    Remarque

    L’authentification de base est utilisée ultérieurement pour un déploiement unique à partir de GitHub. Désactivez l’authentification de base en production.

  7. Sélectionnez Vérifier et créer, puis sélectionnez Créer lors de la validation.

    Une fois le déploiement terminé, un message Votre déploiement est terminé s’affiche.

2. Déployer l’exemple d’application

Maintenant que votre application App Service est créée, déployez l’exemple d’application à partir de GitHub :

  1. Dans le portail Azure, accédez à votre application App Service nouvellement créée en sélectionnant Accéder à la ressource.

  2. Dans le menu de gauche, dans la section Déploiement, sélectionnez Centre de déploiement.

  3. Sous l’onglet Paramètres, configurez ces valeurs :

    Propriété Valeur
    Source Git externe
    Référentiel https://github.com/Azure-Samples/app-service-dotnet-agent-tutorial
    Branche principal
  4. Sélectionnez Enregistrer pour appliquer les paramètres de déploiement.

3. Vérifier l’exemple d’application

Après le déploiement, vérifiez que l’exemple d’application s’exécute comme prévu :

  1. Dans le menu de gauche de votre application App Service, sélectionnez Vue d’ensemble.

  2. Sélectionnez Parcourir pour ouvrir l’application sous un nouvel onglet de navigateur. (Le chargement peut prendre une minute.)

  3. L’application affiche un grand compteur et deux boutons.

    Capture d’écran de l’exemple .NET dans l’emplacement principal.

    Sélectionnez le bouton Incrément plusieurs fois pour observer l’augmentation du compteur.

4. Configurer un emplacement de déploiement pour la simulation d’échec

Pour simuler un scénario d’échec d’application, ajoutez un emplacement de déploiement secondaire :

  1. Dans le menu de gauche de votre application App Service, dans la section Déploiement, sélectionnez Emplacements de déploiement.

  2. Sélectionnez Ajouter un emplacement.

  3. Saisissez les valeurs suivantes :

    Propriété Valeur Remarques
    Nom cassé Le scénario d’erreur est déclenché dans cet emplacement.
    Cloner les paramètres à partir de my-sre-app Cette propriété copie la configuration à partir de l’application principale.
  4. Faites défiler jusqu’au bas du volet, puis sélectionnez Ajouter. La création d’un emplacement peut prendre une minute.

Déployer l’exemple d’application sur l’emplacement

  1. Une fois l’emplacement créé, sélectionnez l’emplacement rompu dans la liste.

  2. Dans le menu de gauche, dans la section Déploiement, sélectionnez Centre de déploiement.

  3. Sous l’onglet Paramètres, configurez ces valeurs :

    Propriété Valeur
    Source Git externe
    Référentiel https://github.com/Azure-Samples/app-service-dotnet-agent-tutorial
    Branche principal
  4. Sélectionnez Enregistrer pour appliquer les paramètres de déploiement.

Ajouter un paramètre d’application pour activer la simulation d’erreur

Pour contrôler la simulation d’erreur, configurez un paramètre d’application que votre application vérifie lors de l’exécution :

  1. Dans le menu de gauche de votre application App Service, dans la section Paramètres, sélectionnez Variables d’environnement.

  2. En haut, vérifiez que l’emplacement approprié est sélectionné (par exemple, rompu).

  3. Sous l’onglet Paramètres de l’application, sélectionnez + Ajouter.

  4. Saisissez les valeurs suivantes :

    Propriété Valeur Remarques
    Nom INJECT_ERROR Doit être exactement INJECT_ERROR (en majuscules, aucun espace)
    Valeur 1 Active la simulation d’erreur dans l’application
  5. Vérifiez que la zone de paramètre d’emplacement de déploiement n’est pas sélectionnée.

  6. Sélectionnez Appliquer pour ajouter le paramètre.

  7. En bas de la page variables d’environnement , sélectionnez Appliquer pour appliquer les modifications.

  8. Lorsque vous y êtes invité, sélectionnez Confirmer pour confirmer et redémarrer l’application dans l’emplacement sélectionné.

5. Créer un agent

À présent, créez un agent pour surveiller votre application App Service :

  1. Suivez le lien fourni dans votre e-mail d’intégration pour accéder à l’Agent SRE dans le portail Azure.

  2. Sélectionnez + Créer.

  3. Dans le volet Créer un agent, entrez ces valeurs :

    Propriété Valeur Remarques
    Subscription Votre abonnement Azure
    Groupe de ressources my-sre-agent-group Nouveau groupe pour l’agent.
    Nom my-sre-agent
    Region USA Est 2 Pendant la préversion, Azure SRE Agent est disponible uniquement dans les régions Suède Centre, USA Est 2 et Australie Est . Toutefois, l’agent peut surveiller les ressources dans n’importe quelle région Azure.

    Si aucune option n’apparaît dans la liste déroulante, il se peut que vous n’ayez pas les autorisations nécessaires pour accéder à la région de l’agent.
  4. Choisissez Sélectionner des groupes de ressources.

  5. Dans le volet Groupes de ressources sélectionnés pour surveiller, cochez la case en regard de my-app-service-group.

  6. Cliquez sur Enregistrer.

  7. Dans le volet Créer un agent, sélectionnez Créer. Le processus de création de l’agent peut prendre quelques minutes.

6. Discuter avec votre agent

Une fois votre agent déployé et connecté à votre groupe de ressources, vous pouvez interagir avec celui-ci à l’aide du langage naturel pour surveiller et dépanner votre application :

  1. Dans le portail Azure, recherchez et sélectionnez Azure SRE Agent.

  2. Dans la liste des agents, sélectionnez my-app-service-sre-agent.

  3. Sélectionnez Discuter avec l’agent.

  4. Dans la zone de conversation, entrez la commande suivante :

    List my App Service apps
    
  5. L’agent répond avec une liste d’applications App Service déployées dans le groupe de ressources my-app-service-group.

Maintenant que l’agent peut voir votre application, vous êtes prêt à simuler un échec et laisser l’agent vous aider à le résoudre.

7. Interrompre l’application

Simuler un scénario d’échec en échangeant vers l’emplacement de déploiement rompu :

  1. Dans le menu de gauche de votre application App Service, dans la section Déploiement, sélectionnez Emplacements de déploiement.

  2. Sélectionnez Permuter.

  3. Dans le volet Basculer, configurez ces valeurs :

    Propriété Valeur Remarques
    Source my-sre-app-broken Emplacement avec la version défectueuse
    Cible my-sre-app Emplacement de production
  4. Faites défiler vers le bas et sélectionnez Démarrer l’échange. L’opération d’échange peut prendre une minute.

  5. Une fois l’échange terminé, accédez à l’URL de l’application.

    Capture d’écran de l’exemple .NET dans l’emplacement défectueux.

  6. Sélectionnez le bouton Incrément six fois.

  7. L’application doit échouer et retourner une erreur HTTP 500.

  8. Actualisez la page (en appuyant sur Command+R ou F5) plusieurs fois pour générer plus d’erreurs HTTP 500. Ces erreurs aident l’Agent SRE à détecter et diagnostiquer le problème.

8. Corriger l’application

Maintenant que l’application rencontre des échecs, utilisez l’Agent SRE pour diagnostiquer et résoudre le problème :

  1. Dans le portail Azure, recherchez et sélectionnez Azure SRE Agent.

  2. Dans la liste des agents, sélectionnez my-app-service-sre-agent.

  3. Sélectionnez Discuter avec l’agent.

  4. Dans la zone de conversation, entrez la commande suivante :

    What's wrong with my-sre-app?
    
  5. L’agent commence à analyser l’intégrité de l’application. Vous devez voir les messages de diagnostic liés à la disponibilité, à l’utilisation du processeur et de la mémoire, ainsi qu’à l’échange d’emplacement récent.

    Chaque session peut varier, mais un message similaire à l’exemple suivant doit apparaître :

    Je vais maintenant effectuer une atténuation pour my-sre-app en échangeant les emplacements pour récupérer l’application dans un état sain. Notez que la repermutation des emplacements peut ne pas toujours restaurer immédiatement l’intégrité. Je vous tiendrai informé de la progression.

  6. Après une pause, l’agent vous invite à approuver le retour arrière :

    Repermutation des emplacements pour restaurer la disponibilité de l’application s pour my-sre-app

    [Approuver][Refuser]

  7. Sélectionnez Approuver pour lancer la restauration.

  8. Une fois la restauration terminée, l’agent confirme :

    L’échange des emplacements pour my-sre-app a été correctement effectué (horodatage). L’emplacement de production a été restauré. Je vais maintenant continuer avec les étapes post-atténuation :

    Je vais vous demander l’URL correcte du dépôt GitHub pour signaler un problème de temps d'arrêt lié au swap.Je surveillerai l’application et fournirai une mise à jour de disponibilité dans 5 minutes.

    Indiquez l’URL du dépôt GitHub dans laquelle vous souhaitez que le problème soit déclenché.

9. Vérifiez le correctif

Après la restauration de l’Agent SRE, vérifiez que votre application fonctionne correctement :

  1. Ouvrez votre application App Service dans un navigateur en sélectionnant Parcourir dans la page Vue d’ensemble.

  2. Notez que le texte INJECTION D’ERREUR ACTIVÉE n’apparaît plus, ce qui confirme que l’application est rétablie à son état d’origine.

  3. Sélectionnez le bouton Incrément six fois pour vous assurer qu’aucune erreur n’apparaît.

Nettoyer les ressources

Si vous n’avez plus besoin de l’application et de l’agent que vous avez créés dans ce tutoriel, vous pouvez supprimer les groupes de ressources associés pour éviter les frais.

Vous avez créé les groupes de ressources suivants dans ce tutoriel :

  • my-app-service-group (groupe de ressources App Service)
  • my-sre-agent-group (groupe de ressources de l’Agent SRE)

Pour chaque groupe de ressources, procédez comme suit :

  1. Sur le portail Azure, accédez Groupes de ressources.

  2. Sélectionnez le groupe de ressources que vous souhaitez supprimer.

  3. Dans l’onglet Vue d’ensemble, sélectionnez Supprimer le groupe de ressources.

  4. Dans la boîte de dialogue de confirmation, entrez le nom du groupe de ressources.

  5. Sélectionnez Supprimer. La suppression prend quelques minutes à être effectuée.