Compartilhar via


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

Observação

Azure Spring Apps é o novo nome do serviço Azure Spring Cloud. Embora o serviço tenha um novo nome, você verá o nome antigo em alguns locais por um tempo enquanto trabalhamos para atualizar ativos como capturas de tela, vídeos e diagramas.

Este artigo se aplica ao: ✔️ nível Básico/Standard ✔️ nível 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 usando o portal do Azure ou a CLI do Azure.

Use as etapas a seguir 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 Adicionar atribuição de função.

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

  5. Procure a Função de Conexão do Azure Spring Apps na lista e selecione Avançar.

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

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

  7. Selecione Examinar + atribuir.

Conectar-se a uma instância de aplicativo

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

Use as etapas a seguir para se conectar a uma instância de aplicativo 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 Aplicativos à esquerda do menu e, em seguida, selecione um dos seus aplicativos.

  4. Selecione Console no menu esquerdo.

  5. Selecione uma instância de aplicativo.

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

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

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

  7. Selecione Conectar.

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

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:

Screenshot showing the output of the jps command.

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:

Screenshot showing the output of the jstat command.

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 do tipo de implantação do aplicativo:

  • Implantação de código-fonte, JAR e artefatos:
    • Consumo Básico, Padrão e Padrão e Plano Dedicado:
      • Ferramentas comuns - Sim
      • Ferramentas JDK - Sim, somente para cargas de trabalho Java.
    • Plano Empresarial:
      • Ferramentas comuns - Depende de qual pilha de sistema operacional você escolheu em seu construtor. Sim, para o sistema operacional completo Stack. Não, para base OS Stack.
      • Ferramentas JDK - Sim, somente para cargas de trabalho Java.
  • Implantação de imagem personalizada: depende do conjunto de ferramentas instalado em sua imagem.

Observação

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

Limitações

O uso do ambiente de shell dentro das instâncias do 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