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

Remarque

Azure Spring Apps est le nouveau nom du service Azure Spring Cloud. Bien que le service ait un nouveau nom, vous verrez l’ancien nom à divers endroits pendant un certain temps, car nous travaillons à mettre à jour les ressources telles que les captures d’écran, les vidéos et les diagrammes.

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 Azure à l’aide du Portail Azure ou d’Azure CLI.

Procédez comme suit pour attribuer un rôle Azure à l’aide de la 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. Sélectionnez Ajouter dans la barre de commandes, puis sélectionnez Ajouter une attribution de rôle.

    Screenshot of the Access Control(IAM) page showing the Add role assignment command.

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

    Screenshot of the Add role assignment page showing the Azure Spring Apps Connect Role.

  6. Sélectionnez 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 de la Portail Azure ou d’Azure CLI.

Procédez comme suit pour vous connecter à une instance d’application à l’aide de la Portail Azure.

  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.

    Screenshot of the Azure portal Console page showing an app instance.

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

    Screenshot of the Azure portal Console page showing a Custom Shell entry.

  7. Sélectionnez Se connecter.

    Screenshot of the Azure portal Console page showing the Connect command.

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 :

Screenshot showing the output of the jps command.

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 :

Screenshot showing the output of the jstat command.

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 de base, standard et standard & dédié :
      • Outils courants - Oui
      • Outils JDK - Oui, pour les charges de travail Java uniquement.
    • Plan d’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 d’accès 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 à l’intérieur 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