Partager via


Se connecter à une instance d’application pour la résolution des problèmes

Remarque

Les plans Essentiel, Standard et Entreprise seront déconseillés à compter de la mi-mars 2025, avec une période de mise hors service de 3 ans. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez l’annonce concernant la mise hors service d’Azure Spring Apps.

Le plan de consommation standard et dédiée sera déconseillé à compter du 30 septembre 2024, avec un arrêt complet après six mois. Nous vous recommandons de passer à Azure Container Apps. Pour plus d’informations, consultez Migrer la consommation Standard et le plan dédié Azure Spring Apps vers Azure Container Apps.

Cet article s’applique au : Niveau ✔️ De base/Standard ✔️ Entreprise

Cet article explique comment accéder à l’environnement shell dans vos instances d’application en vue d’une résolution de problèmes avancée.

Bien qu’Azure Spring Apps propose différentes approches managées de résolution des problèmes, vous pouvez avoir besoin d’effectuer une résolution avancée des problèmes en utilisant l’environnement shell. Par exemple, vous voudrez peut-être effectuer les tâches de résolution des problèmes suivantes :

  • Utiliser directement des outils du JDK (Java Development Kit).
  • Faire un diagnostic des services back-end d’une application pour vérifier la connexion réseau et la latence des appels d’API dans les instances de réseau virtuel et les instances de réseau non virtuel.
  • Diagnostiquer les problèmes de capacité de stockage, de performances et de processeur/mémoire.

Prérequis

  • Azure CLI avec l’extension Azure Spring Apps. Utilisez la commande suivante pour supprimer les versions précédentes et installer la dernière extension. Si vous avez déjà installé l’extension spring-cloud, désinstallez-la pour éviter les incompatibilités de configuration et de version.

    az extension remove --name spring
    az extension add --name spring
    az extension remove --name spring-cloud
    
  • Une application déployée dans Azure Spring Apps.

  • Si vous avez déployé un conteneur personnalisé, un programme shell. Par défaut, il s’agit de /bin/sh.

Affecter un rôle Azure

Avant de vous connecter à une instance d’application, vous devez obtenir le rôle Azure Spring Apps Connect Role. La connexion à une instance d’application nécessite l’autorisation d’action de données Microsoft.AppPlatform/Spring/apps/deployments/connect/action.

Vous pouvez attribuer un rôle en tirant partie du Portail Azure ou de l’interface Azure CLI.

Utilisez les étapes suivantes pour attribuer un rôle Azure à l’aide du Portail Azure.

  1. Ouvrez le portail Azure.

  2. Ouvrez votre instance de service Azure Spring Apps existante.

  3. Sélectionnez Contrôle d’accès (IAM) dans le menu de gauche.

  4. Dans la barre de commandes, sélectionnez Ajouter, puis Ajouter une attribution de rôle.

    Capture d’écran de la page Contrôle d’accès (IAM) montrant la commande Ajouter une attribution de rôle.

  5. Recherchez Rôle Azure Spring Apps Connect dans la liste, puis sélectionnez Suivant.

    Capture d’écran de la page Ajouter une attribution de rôle montrant le rôle Azure Spring Apps Connect.

  6. Sélectionnez Sélectionner les membres, puis recherchez votre nom d’utilisateur.

  7. Sélectionnez Vérifier + attribuer.

Connexion à une instance d’application

Vous pouvez vous connecter à une instance d’application à l’aide du portail Azure ou d’Azure CLI.

Pour vous connecter à une instance d’application à l’aide du portail Azure, effectuez les étapes suivantes.

  1. Ouvrez le portail Azure.

  2. Ouvrez votre instance de service Azure Spring Apps existante.

  3. Sélectionnez Applications dans le menu de gauche, puis sélectionnez l’une de vos applications.

  4. Sélectionnez Console dans le menu de gauche.

  5. Sélectionnez une instance d’application.

    Capture d’écran de la page Console du portail Azure montrant une instance d’application.

  6. Sélectionnez ou entrez un interpréteur de commandes à exécuter dans le conteneur.

    Capture d’écran de la page Console du portail Azure montrant une entrée Shell personnalisé.

  7. Sélectionnez Connecter.

    Capture d’écran de la page Console du portail Azure montrant la commande Se connecter.

Résoudre les problèmes liés à votre instance d’application

Après vous être connecté à une instance d’application, vous pouvez vérifier l’état de la mémoire du segment.

Utilisez la commande suivante pour rechercher l’ID du processus Java, qui est généralement 1 :

jps

La sortie doit ressembler à cet exemple :

Capture d’écran montrant la sortie de la commande jps.

Ensuite, utilisez la commande suivante pour exécuter l’outil JDK afin de vérifier le résultat :

jstat -gc 1

La sortie doit ressembler à cet exemple :

Capture d’écran montrant la sortie de la commande jstat.

Déconnexion de votre instance d’application

Lorsque vous avez terminé la résolution des problèmes, utilisez la commande exit pour vous déconnecter de l’instance d’application, ou appuyez sur Ctrl+d.

Outils de résolution des problèmes

La liste suivante décrit certains des outils préinstallés qui peuvent vous aider à résoudre des problèmes :

  • lsof : liste les fichiers ouverts.
  • top : affiche les informations récapitulatives et l’utilisation actuelle du système.
  • ps : obtient un instantané du processus en cours d’exécution.
  • netstat : affiche les statistiques sur les connexions réseau et l’interface.
  • nslookup : interroge les serveurs de noms Internet de manière interactive.
  • ping : vérifie si un hôte réseau est accessible.
  • nc : lit et écrit sur les connexions réseau avec TCP ou UDP.
  • wget : vous permet de télécharger des fichiers et d’interagir avec des API REST.
  • df : affiche la quantité d'espace disque disponible.

Vous pouvez également utiliser des outils groupés du JDK comme jps, jcmd et jstat.

La liste suivante montre les outils disponibles, qui dépendent de votre plan de service et du type de déploiement d’application :

  • Déploiement du code source, du fichier JAR et des artefacts :
    • Plan de consommation Essentiel, Standard et Consommation standard et dédiée :
      • Outils courants : Oui
      • Outils JDK : Oui, pour les charges de travail Java uniquement.
    • Plan Entreprise :
      • Outils courants : dépend de la pile du système d’exploitation que vous avez choisie dans votre générateur. Oui, pour la pile complète du système d’exploitation. Non, pour la pile de système d’exploitation de base.
      • Outils JDK : Oui, pour les charges de travail Java uniquement.
  • Déploiement d’images personnalisées : dépend de l’ensemble d’outils installé dans votre image.

Remarque

Les outils JDK ne sont pas inclus dans le chemin du type de déploiement de code source. Exécutez export PATH="$PATH:/layers/tanzu-buildpacks_microsoft-openjdk/jdk/bin" avant d’exécuter des commandes JDK.

Limites

L’utilisation de l’environnement shell au sein de vos instances d’application présente les limitations suivantes :

  • Du fait que l’application s’exécute en tant qu’utilisateur non racine, vous ne pouvez pas effectuer certaines actions nécessitant une autorisation racine. Par exemple, vous ne pouvez pas installer de nouveaux outils à l’aide du gestionnaire de package système apt / yum.

  • Comme certaines fonctionnalités Linux ne sont pas autorisées, les outils qui nécessitent des privilèges spéciaux, comme tcpdump, ne fonctionnent pas.

Étapes suivantes