Compartilhar via


Conectar-se a uma instância de aplicativo para solucionar problemas

Observação

Os planos Básico, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de desativação de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira o anúncio de desativação dos Aplicativos Spring do Azure.

O plano consumo e dedicado Standard será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira Migrar o plano dedicado e consumo Standard dos Aplicativos Spring do Azure para os Aplicativos de Contêiner do Azure.

Este artigo se aplica a:✅ Básico/Padrão ✅ Enterprise

Este artigo descreve como acessar o ambiente de shell dentro de suas instâncias de aplicativo para uma solução de problemas avançada.

Embora os Aplicativos Spring do Azure ofereçam várias abordagens gerenciadas de solução de problemas, uma solução de problemas avançada usando o ambiente de shell talvez seja recomendável. Por exemplo, talvez seja recomendável realizar as seguintes tarefas de solução de problemas:

  • Use diretamente as ferramentas do JDK (kit de desenvolvimento Java).
  • Diagnostique os serviços de back-end de um aplicativo para conexão de rede e a latência de chamada de API para instâncias de rede virtual e não virtual.
  • Diagnostique problemas de capacidade de armazenamento, desempenho e CPU/memória.

Pré-requisitos

  • CLI do Azure com a extensão dos Aplicativos Spring do Azure. Use o comando a seguir para remover versões anteriores e instalar a extensão mais recente. Se você instalou a extensão spring-cloud anteriormente, desinstale-a para evitar incompatibilidades de configuração e versão.

    az extension remove --name spring
    az extension add --name spring
    az extension remove --name spring-cloud
    
  • Um aplicativo implantado nos Aplicativos Spring do Azure.

  • Se você tiver implantado um contêiner personalizado, um programa de shell. O padrão é /bin/sh.

Atribuir uma função do Azure

Antes de se conectar a uma instância de aplicativo, você deve receber a função Função de conexão de Aplicativos Spring do Azure. A conexão a uma instância de aplicativo requer a permissão Microsoft.AppPlatform/Spring/apps/deployments/connect/action de ação de dados.

Você pode atribuir uma função do Azure através do portal do Azure ou da CLI do Azure.

Use as seguintes etapas para atribuir uma função do Azure usando o portal do Azure.

  1. Abra o Portal do Azure.

  2. Abra sua instância de serviço existente do Azure Spring Apps.

  3. Selecione Controle de acesso (IAM) no menu à esquerda.

  4. Selecione Adicionar na barra de comandos e, em seguida, selecione Atribuição de função.

    Captura de tela da página de Controle de Acesso (IAM) mostrando o comando de Atribuição de função.

  5. Pesquise Função de Conexão dos Aplicativos Spring do Azure na lista e selecione Avançar.

    Captura de tela da página de Atribuição de função mostrando a Função de Conexão dos Aplicativos Spring do Azure.

  6. Selecione Selecionar membros e pesquise pelo seu nome de usuário.

  7. Selecione Revisar + atribuir.

Conectar-se a uma instância de aplicativo

Você pode se conectar a uma instância de aplicativo usando o portal do Microsoft Azure ou a CLI do Azure.

Siga as etapas a seguir para se conectar a uma instância de aplicativo usando o portal do Microsoft Azure.

  1. Abra o Portal do Azure.

  2. Abra sua instância de serviço existente do Azure Spring Apps.

  3. Selecione Aplicativos no menu à esquerda e escolha um dos seus aplicativos.

  4. Selecione Console no menu à esquerda.

  5. Selecione uma instância de aplicativo.

    Captura de tela da página Console do portal do Microsoft Azure mostrando uma instância de aplicativo.

  6. Selecione ou insira um shell para executar no contêiner.

    Captura de tela da página Console do portal do Microsoft Azure mostrando uma entrada de Shell Personalizado.

  7. Selecione Conectar.

    Captura de tela da página Console do portal do Microsoft Azure mostrando o comando Conectar.

Solucionar problemas da instância de aplicativo

Depois de se conectar a uma instância de aplicativo, você pode verificar o status da memória de heap.

Use o seguinte comando para localizar a ID do processo Java, que geralmente é 1:

jps

A saída deve ser semelhante ao exemplo a seguir:

Captura de tela mostrando a saída do comando jps.

Em seguida, use o seguinte comando para executar a ferramenta JDK a fim de verificar o resultado:

jstat -gc 1

A saída deve ser semelhante ao exemplo a seguir:

Captura de tela mostrando a saída do comando jstat.

Desconectar-se da instância do aplicativo

Quando terminar de solucionar problemas, use o comando exit para se desconectar da instância de aplicativo ou pressione Ctrl+d.

Ferramentas de solução de problemas

A lista a seguir descreve algumas das ferramentas pré-instaladas que você pode usar para solucionar problemas:

  • lsof – Lista arquivos abertos.
  • top – Exibe informações de resumo e utilização atual do sistema.
  • ps – Obtém um instantâneo do processo em execução.
  • netstat – Imprime as conexões de rede e as estatísticas de interface.
  • nslookup – Consulta servidores de nomes da Internet interativamente.
  • ping – Testa se um host de rede pode ser acessado.
  • nc – Lê e grava em conexões de rede usando TCP ou UDP.
  • wget – Permite baixar arquivos e interagir com APIs REST.
  • df – Exibe a quantidade de espaço em disco disponível.

Também é possível usar ferramentas agrupadas pelo JDK como jps, jcmd e jstat.

A lista a seguir mostra as ferramentas disponíveis, que dependem do seu plano de serviço e tipo de implantação do aplicativo:

  • Implantação do Código-Fonte, JAR e artefatos:
    • Plano Básico, Standard e Standard de Consumo e Dedicado:
      • Ferramentas comuns - Sim
      • Ferramentas do JDK - SIM, apenas para cargas de trabalho Java.
    • Plano Enterprise:
      • Ferramentas comuns - Depende da pilha de SO que você escolheu no seu construtor. Sim, para a pilha completa de SO. Não, para a pilha base de SO.
      • Ferramentas do JDK - SIM, apenas para cargas de trabalho Java.
  • Implantação de imagem personalizada: Depende do conjunto de ferramentas instalado na sua imagem.

Observação

As ferramentas do JDK não estão incluídas no caminho para o tipo de implantação de código-fonte. Execute export PATH="$PATH:/layers/tanzu-buildpacks_microsoft-openjdk/jdk/bin" antes de executar quaisquer comandos do JDK.

Limitações

Usar o ambiente shell dentro das instâncias do seu aplicativo tem as seguintes limitações:

  • Como o aplicativo está em execução como um usuário não raiz, você não pode executar algumas ações que exigem permissão raiz. Por exemplo, você não pode instalar novas ferramentas usando o gerenciador de pacotes do sistema apt / yum.

  • Como alguns recursos do Linux são proibidos, ferramentas que exigem privilégios especiais, como tcpdump, não funcionam.

Próximas etapas