Compartir a través de


Conexión a una instancia de aplicación para solucionar problemas

Nota:

Azure Spring Apps es el nuevo nombre del servicio Azure Spring Cloud. Aunque el servicio tiene un nuevo nombre, verá el nombre antiguo en algunos lugares durante un tiempo mientras trabajamos para actualizar recursos, como capturas de pantalla, vídeos y diagramas.

La información de este artículo puede ponerse en práctica en: ✔️ Básico o Estándar ✔️ Enterprise

En este artículo se describe cómo acceder al entorno de shell dentro de las instancias de la aplicación para realizar la solución de problemas avanzada.

Aunque Azure Spring Apps ofrece varios enfoques de solución de problemas administrados, es posible que desee realizar una solución de problemas avanzada mediante el entorno de shell. Por ejemplo, puede que quiera realizar las siguientes tareas de solución de problemas:

  • Usar directamente las herramientas del Kit de desarrollo de Java (JDK).
  • Diagnosticar los servicios back-end de una aplicación para la conexión de red y la latencia de llamadas API para instancias de red virtual y que no son de red virtual.
  • Diagnosticar problemas de capacidad de almacenamiento, rendimiento y CPU/memoria.

Requisitos previos

  • CLI de Azurecon la extensión Azure Spring Apps. Use el siguiente comando para quitar las versiones anteriores e instalar la extensión más reciente: Si ya ha instalado la extensión spring-cloud, desinstálela para evitar errores de coincidencia de la configuración y la versión.

    az extension remove --name spring
    az extension add --name spring
    az extension remove --name spring-cloud
    
  • Una aplicación implementada en Azure Spring Apps.

  • Si ha implementado un contenedor personalizado, un programa de shell. El valor predeterminado es /bin/sh.

Asignación de un rol de Azure

Antes de conectarse a una instancia de aplicación, se le debe conceder el rol Rol de conexión de Azure Spring Apps. La conexión a una instancia de aplicación requiere el permiso de acción de datos Microsoft.AppPlatform/Spring/apps/deployments/connect/action.

Puede asignar un rol de Azure mediante Azure Portal o la CLI de Azure.

Siga estos pasos para asignar un rol de Azure mediante Azure Portal.

  1. Abra Azure Portal.

  2. Abra la instancia de servicio existente de Azure Spring Apps.

  3. Seleccione Control de acceso (IAM) en el menú izquierdo.

  4. Seleccione Agregar en la barra de comandos y, a continuación, seleccione Agregar asignación de roles.

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

  5. Busque Azure Spring Apps Conectar Rol en la lista y, a continuación, seleccione Siguiente.

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

  6. Seleccione Seleccionar miembros y busque el nombre de usuario.

  7. Seleccione Revisar y asignar.

Conexión a una instancia de aplicación

Puede conectarse a una instancia de aplicación mediante Azure Portal o la CLI de Azure.

Siga estos pasos para conectarse a una instancia de aplicación mediante Azure Portal.

  1. Abra Azure Portal.

  2. Abra la instancia de servicio existente de Azure Spring Apps.

  3. Seleccione Aplicaciones en el menú de la izquierda y, a continuación, seleccione una de las aplicaciones.

  4. Seleccione Consola en el menú de la izquierda.

  5. Seleccione una instancia de aplicación.

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

  6. Seleccione o escriba un shell para ejecutarlo en el contenedor.

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

  7. Seleccione Conectar.

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

Solución de problemas de la instancia de aplicación

Después de conectarse a una instancia de la aplicación, puede comprobar el estado de la memoria del montón.

Use el siguiente comando para buscar el identificador de proceso de Java, que suele ser 1:

jps

La salida debería tener un aspecto similar al ejemplo siguiente:

Screenshot showing the output of the jps command.

A continuación, use el siguiente comando para ejecutar la herramienta JDK para comprobar el resultado:

jstat -gc 1

La salida debería tener un aspecto similar al ejemplo siguiente:

Screenshot showing the output of the jstat command.

Desconexión de la instancia de la aplicación

Cuando haya terminado de solucionar problemas, use el comando exit para desconectar de la instancia de la aplicación o presione Ctrl+d.

Herramienta para la solución de problemas

En la lista siguiente se describen algunas de las herramientas preinstaladas que puede usar para solucionar problemas:

  • lsof: enumera los archivos abiertos.
  • top: muestra información de resumen del sistema y uso actual.
  • ps: obtiene una instantánea del proceso en ejecución.
  • netstat: imprime las conexiones de red y las estadísticas de interfaz.
  • nslookup: consulta los servidores de nombres de Internet de forma interactiva.
  • ping: comprueba si se puede acceder a un host de red.
  • nc: lee y escribe en conexiones de red mediante TCP o UDP.
  • wget: permite descargar archivos e interactuar con las API de REST.
  • df: muestra la cantidad de espacio en disco disponible.

También puede usar herramientas agrupadas de JDK, como jps, jcmd y jstat.

En la lista siguiente se muestran las herramientas disponibles, que dependen del plan de servicio y del tipo de implementación de la aplicación:

  • Implementación de código fuente, JAR y artefactos:
    • Plan básico, estándar y estándar y dedicado:
      • Herramientas comunes: Sí
      • Herramientas de JDK: sí, solo para cargas de trabajo de Java.
    • Plan de empresa:
      • Herramientas comunes: depende de la pila del sistema operativo que haya elegido en el generador. Sí, para la pila completa del sistema operativo. No, para la pila del sistema operativo base.
      • Herramientas de JDK: sí, solo para cargas de trabajo de Java.
  • Implementación de imágenes personalizadas: depende del conjunto de herramientas instalado en la imagen.

Nota:

Las herramientas de JDK no se incluyen en la ruta de acceso para el tipo de implementación de código fuente. Ejecute export PATH="$PATH:/layers/tanzu-buildpacks_microsoft-openjdk/jdk/bin" antes de ejecutar los comandos JDK.

Limitaciones

El uso del entorno de shell dentro de las instancias de la aplicación tiene las siguientes limitaciones:

  • Dado que la aplicación se ejecuta como un usuario no raíz, no se pueden ejecutar algunas acciones que requieran permiso raíz. Por ejemplo, no puede instalar nuevas herramientas mediante el administrador de paquetes del sistema apt / yum.

  • Dado que algunas funcionalidades de Linux están prohibidas, las herramientas que requieren privilegios especiales, como tcpdump, no funcionan.

Pasos siguientes