Todos os produtos
Search
Central de documentação

Serverless App Engine:Diagnosticar aplicações com um webshell

Última atualização: Jul 20, 2026

Use o webshell leve no console do SAE para visualizar e depurar containers sem SSH. A imagem base de um container do SAE é efêmera e projetada para o runtime da aplicação; portanto, basta ter o executável /bin/bash disponível. Recomendamos incluir as ferramentas de O&M necessárias na imagem para simplificar a solução de problemas.

Limitações

O webshell não oferece suporte a imagens Windows.

Notas de uso

Você é responsável pela execução do código e pelo ambiente de runtime do webshell.

Ambiente de rede da aplicação

As aplicações do SAE são implantadas em uma Virtual Private Cloud (VPC) criada pelo usuário e usam namespaces para isolar logicamente as chamadas de service na camada de middleware. Um namespace está vinculado a um vSwitch dentro da VPC. Cada namespace pode ser associado a apenas um vSwitch, mas um único vSwitch pode atender a vários namespaces. Aplicações em VPCs diferentes não se comunicam entre si, pois os endereços IP da VPC são privados. Além disso, aplicações em namespaces distintos permanecem isoladas umas das outras em services como descoberta de service e entrega de configurações.

Nota

Para mais informações sobre os princípios e detalhes do product VPC, consulte How it works.

Os containers do SAE não acessam diretamente services fora de sua VPC, exceto services da Alibaba Cloud como Object Storage Service (OSS) e Container Registry. Sem configurações adicionais, o container opera em uma rede isolada e fica inacessível externamente.

O exemplo a seguir demonstra que um container não consegue acessar a internet.

[root@xxx:serverlesswar-12504560-a374-4471-80c7-d799d69ba3f7-xxx admin]# ping www.taobao.com
PING www.taobao.com.danuoyi.tbcache.com (xxx.xxx.xxx.xxx) xxx bytes of data.
^C
--- www.taobao.com.danuoyi.tbcache.com ping statistics ---
10 packets transmitted, 0 received, 100% packet loss, time 9198ms

Caso o container precise acessar services na internet, adquira um NAT gateway e configure uma regra SNAT para o vSwitch na VPC. Para mais detalhes, consulte Configure a NAT gateway to allow an SAE application to access the internet.

Uma regra SNAT permite que instâncias sem endereços IP públicos em uma VPC acessem a internet por meio de um Elastic IP Address (EIP) vinculado a um NAT gateway. Para mais informações, consulte Internet-facing products.

Criar uma imagem

O SAE oferece criação e gerenciamento integrados de imagens com base no Alibaba Cloud Container Registry. A imagem base é a centos:7, pré-configurada com definições de idioma e codificação, fuso horário e OpenJDK.

Para evitar consumo excessivo de recursos de runtime, o SAE não integra um conjunto extenso de ferramentas. Se precisar de ferramentas adicionais, crie uma imagem personalizada ou obtenha-as no OSS conforme necessário. Para mais informações, consulte Create a Java image.

Abrir um webshell

Siga estas etapas para executar tarefas básicas de O&M usando o webshell:

  1. Na página SAE Application List, selecione uma região e um namespace na parte superior e clique em no ID da aplicação desejada para abrir a página de detalhes da aplicação.

  2. Na página Basic Information, clique em na aba Instances.

  3. Na aba Instances, localize a instância desejada na seção Default Group e clique em Webshell na coluna Actions.

  4. Opcional: Após a abertura do webshell, clique em no ícone bt_full_screen no canto superior direito da janela para alternar para o modo de tela cheia.

  5. Execute comandos na janela do webshell conforme necessário para visualizar e depurar seu container.

    Para mais informações, consulte Get instance metadata e Diagnose an application.

Obter metadados da instância

Após implantar uma aplicação no SAE, obtenha metadados básicos sobre a instância, incluindo o ID do grupo de segurança, o ID da VPC e o ID do vSwitch.

Item de metadado

Descrição

/etc/podinfo/sgId

Caminho do arquivo que armazena os metadados do ID do grupo de segurança.

/etc/podinfo/vpcId

Caminho do arquivo que armazena os metadados do ID da VPC.

/etc/podinfo/vswitchId

Caminho do arquivo que armazena os metadados do ID do vSwitch.

Nota

Se houver múltiplos vSwitches, os IDs dos vSwitches serão separados por vírgulas (,).

Acesse o console do SAE e execute os comandos abaixo na janela do webshell para verificar os metadados do ID do grupo de segurança, do ID da VPC e do ID do vSwitch.

  1. Execute o comando a seguir para acessar o diretório podinfo:

    cd /etc/podinfo/
    Nota

    Se a mensagem de erro can't cd to /etc/podinfo/ aparecer, utilize a opção Restart na instância ou Deploy Application para resolver o problema.

  2. Execute o comando abaixo para listar todos os arquivos que contêm metadados da instância:

    ls

    Saída esperada:

    sgId  vpcId  vswitchId
  3. Execute os comandos a seguir conforme necessário para verificar os metadados correspondentes dentro da instância.

    • Obtenha o ID do grupo de segurança.

      cat sgId

      Saída esperada:

      sg-2ze4ddm2rqgenvcx****sh-4.2#
    • Obtenha o ID da VPC.

      cat vpcId

      Saída esperada:

      vpc-2zeqku2oevokwm66b****sh-4.2#
    • Obtenha o ID do vSwitch.

      cat vswitchId

      Saída esperada:

      vsw-2zewmy4ynhljytzhu****sh-4.2#

Copiar comandos de instalação

Acesse o console do SAE e siga estas etapas para instalar comandos na janela do webshell conforme necessário.

Nota

Comandos instalados em uma sessão de webshell são perdidos após a recriação do container. Para comandos de uso frequente, instale-os durante a criação da imagem.

  1. Clique em no ícone bt_copy_code no canto superior direito da janela do webshell.

  2. Na caixa de diálogo Copy Command exibida, selecione os componentes a serem instalados conforme necessário, visualize o comando e clique em Copy.

    • Install openssh: O OpenSSH é uma implementação gratuita e de código aberto do protocolo Secure Shell (SSH). Ele fornece um daemon no lado do servidor e ferramentas no lado do cliente para criptografar dados durante sessões de controle remoto e transferência de arquivos. Ao instalar o OpenSSH, você habilita recursos de depuração remota, como login remoto via SSH e upload ou download de arquivos com SFTP e SCP, permitindo depurar temporariamente uma instância específica de aplicação do SAE.

    • Install net-tools (netstat): O comando netstat monitora o status da rede. Ele exibe informações como tabelas de roteamento, conexões de rede ativas e o status de cada dispositivo de interface de rede.

    • Install iroute (ss): O comando Socket Statistics (ss) recupera estatísticas de socket. Embora retorne informações semelhantes às do comando netstat, o comando ss apresenta informações mais detalhadas sobre TCP e estados de conexão com maior rapidez.

  3. Cole o comando copiado na janela do webshell e pressione Enter para executá-lo.

Diagnosticar uma aplicação

Verificações de rotina

Diagnostique uma aplicação do SAE realizando verificações de rotina, como validar o processo, threads e a integridade da Java Virtual Machine (JVM) em aplicações Java.

  • Execute o comando a seguir para verificar se o processo Java da aplicação existe.

    ps -ef | grep java
    Nota

    Um container utiliza seu processo principal para iniciar uma aplicação. Se a aplicação parar, o container será encerrado e o SAE o reiniciará automaticamente para evitar interrupções no service.

    • Se o processo não existir, execute o comando dmesg | grep -i kill para verificar logs de falta de memória (OOM).

    • Caso esses logs existam, isso indica que o processo da aplicação foi interrompido. Verifique o arquivo hs_err_pid{PID}.log no diretório de trabalho para identificar a causa raiz.

  • Para análise online de aplicações Java, utilize o Arthas, uma ferramenta de diagnóstico de código aberto da Alibaba. Recomendamos integrar o Arthas à sua imagem de teste. Ele exibe o status de carregamento de classes Java em tempo real, facilitando a observação de parâmetros de entrada e saída de métodos, variáveis de ambiente, entre outros.

    1. Conecte-se à internet.

      Para mais informações, consulte Configure a NAT gateway to allow an SAE application to access the internet.

    2. Execute o comando a seguir para baixar o Arthas.

      sudo wget https://alibaba.github.io/arthas/arthas-boot.jar
    3. Execute o comando abaixo para iniciar o Arthas.

      sudo java -jar arthas-boot.jar

Upload e download de logs

Se as verificações de rotina não forem suficientes, faça o upload dos logs do container para a cloud e baixe-os para sua máquina local para uma análise mais detalhada.

  • Para arquivos de até 10 MB, utilize os recursos nativos de transferência de arquivos do webshell. Para mais informações, consulte Use a webshell to upload and download files.

  • Para arquivos maiores que 10 MB: Utilize o Alibaba Cloud OSS. O service OSS é acessível a partir de todos os ambientes de rede da Alibaba Cloud, permitindo seu uso para upload e download de logs. Siga estas etapas:

  1. Instale a ferramenta de linha de comando do OSS (ossutil) dentro do container. Para mais informações, consulte Install the OSS command-line tool.

    Este tópico utiliza um sistema CentOS de 64 bits como exemplo. Se o seu container não tiver acesso à internet, baixe o arquivo para sua máquina local, faça o upload para o OSS e, em seguida, obtenha o endpoint interno da VPC do OSS para baixar o arquivo de dentro do container.

    1. Execute o comando a seguir para baixar o ossutil.

      sudo wget http://gosspublic.alicdn.com/ossutil/1.5.0/ossutil64
    2. Execute o comando abaixo para alterar as permissões do arquivo.

      sudo chmod 755 ossutil64
  2. Configure a ferramenta de linha de comando do OSS com o endpoint da VPC na região atual e o AccessKey da conta que receberá os arquivos enviados. Em seguida, verifique um bucket existente para confirmar a disponibilidade do service OSS.

    Nota
    • Certifique-se de que o OSS esteja ativado para uma conta Alibaba Cloud, que não precisa ser necessariamente a conta atual.

    • Crie um bucket. Para mais informações, consulte Create a bucket in the console.

    1. Execute o comando a seguir para criar um arquivo de configuração destinado a armazenar as informações de acesso ao OSS.

      Siga as instruções para configurar seu AccessKey e as informações de endpoint. Não é necessário inserir um token STS.

      ./ossutil64 config  
    2. Execute o comando abaixo para listar todos os buckets.

      Verifique se a conta está disponível. Se um erro for relatado, a configuração está incorreta.

      ./ossutil64 ls

      Exemplo de saída:

      CreationTime                                 Region    StorageClass    BucketName
      2021-12-08 18:53:46 +0800 CST       oss-cn-hangzhou        Standard    oss://test-bucket
    3. Execute o comando a seguir para criar um arquivo de log de exemplo chamado sae-app.log.

      echo "Hello" > sae-app.log
    4. Execute o comando abaixo para fazer o upload do arquivo de log para o bucket especificado.

      ./ossutil64 cp sae-app.log {bucket-address}                                       

      Exemplo:

      ./ossutil64 cp sae-app.log oss://test-bucket
  3. Verifique o resultado.

    • Método 1: Execute o comando a seguir para visualizar o arquivo de exemplo enviado.

      ./ossutil64 ls oss://test-bucket

      Exemplo de saída:

      LastModifiedTime                   Size(B)  StorageClass   ETAG                                  ObjectName
      2021-12-08 19:26:18 +0800 CST            6      Standard   09F7E02F1290BE211DA707A266F1****      oss://cri-55md3gmii09m****-chart/sae-app.log
      Object Number is: 1
      0.047758(s) elapsed
    • Método 2: Localize seu arquivo de log no OSS console ou em outras ferramentas, baixe-o para sua máquina local e utilize suas ferramentas preferidas para análise.