Todos os produtos
Search
Central de documentação

Elastic Container Instance:Analyze application exceptions by using coredump

Última atualização: Aug 04, 2026

Um coredump é um arquivo que contém o estado da memória de um aplicativo no momento de uma falha ou encerramento inesperado. O sistema operacional gera esse arquivo para permitir depuração e análise posteriores. Este tópico descreve como ativar o coredump em uma instância do Elastic Container Instance (ECI). Isso permite analisar os arquivos core gerados por encerramentos inesperados de contêineres, identificar a causa raiz do problema e corrigir o aplicativo.

Informações básicas

No Linux, quando um aplicativo falha ou é encerrado inesperadamente, o sistema operacional registra o estado da memória do aplicativo e o salva em um arquivo. Esse processo é conhecido como coredump. Posteriormente, analise o arquivo core para identificar a causa do problema.

A figura a seguir mostra os sinais do Linux que acionam um coredump. Para esses sinais, a ação padrão é Core.

Para obter mais informações, consulte arquivo de coredump.

Visão geral

Por padrão, o coredump fica desativado em uma instância ECI para evitar uso excessivo de disco, o que poderia causar interrupções no service. Ative o coredump usando um dos seguintes métodos:

  • Método 1: Ativar uma tarefa de O&M de coredump

    Após a ativação manual do coredump, o sistema cria uma tarefa de O&M. Quando um contêiner é encerrado anormalmente ou sai, o arquivo core gerado é salvo automaticamente no OSS.

  • Método 2: Personalizar o caminho de salvamento dos arquivos core

    Armazene arquivos core em armazenamento externo especificando um caminho de salvamento personalizado. Após definir o caminho, o coredump é ativado automaticamente. Quando um contêiner falha ou é encerrado inesperadamente, o arquivo core resultante é salvo no caminho especificado.

Nota
  • O Método 1 é fácil de usar, mas possui limitações de tempo e região. É adequado para depuração e diagnósticos temporários.

    • A tarefa de O&M gerada é única. Assim que um arquivo core é capturado com sucesso, o coredump é desativado automaticamente. A tarefa de O&M tem validade de 12 horas e expira se não for acionada nesse período.

    • Este método não é compatível nas seguintes regiões: China (Ulanqab), China (Heyuan), China (Guangzhou), China (Nanjing), Philippines (Manila), South Korea (Seoul) e Thailand (Bangkok).

  • O Método 2 exige a configuração de armazenamento externo. Se seu aplicativo for instável, use este método para garantir a captura dos arquivos core. No entanto, se um aplicativo com falha reiniciar repetidamente, um grande volume de arquivos core poderá ser gerado.

Método 1: Ativar uma tarefa de O&M de coredump

Console

  1. Faça logon no console do Elastic Container Instance.

  2. Ative o coredump para a instância ECI.

    1. Clique em ID da instância desejada para abrir a página de detalhes da instância.

    2. Clique em aba O&M, selecione a aba Coredump e clique em Enable.

      Após ativar o coredump, o sistema gera uma tarefa de O&M. Se o coredump ainda não tiver sido acionado, o status da tarefa será Pending.

  3. Acione um coredump.

    Conecte-se à instância ECI. No contêiner, execute o comando sleep 100 e pressione Ctrl+\ para acionar um coredump. O arquivo core gerado é salvo automaticamente no OSS.

    # sleep 100
    ^\Quit (core dumped)
  4. Baixe o arquivo core.

    Depois que o coredump é acionado e o arquivo core é gerado, o status da tarefa de O&M muda para Successful. Clique em Download na coluna Result para baixar o arquivo core.

    Nota

    Se o download não iniciar, verifique as configurações de permissão do site no seu navegador.

API

  1. Ative o coredump para a instância ECI.

    Chame a operação CreateInstanceOpsTask para criar uma tarefa de O&M. Especifique a instância ECI desejada, defina o parâmetro OpsType como coredump e defina o parâmetro OpsValue como enable. Para obter mais informações, consulte CreateInstanceOpsTask.

    Nota

    Ao especificar a instância ECI, certifique-se de que o parâmetro CorePattern não foi definido durante a criação da instância.

  2. Acione um coredump.

    Conecte-se à instância ECI. No contêiner, execute o comando sleep 100 e pressione Ctrl+\ para acionar um coredump. O arquivo core gerado é salvo automaticamente no OSS.

  3. Baixe o arquivo core.

    Chame a operação DescribeInstanceOpsRecords para visualizar o resultado da tarefa de O&M. Na resposta, o campo ResultContent contém a url do arquivo core no OSS. Acesse a url para baixar o arquivo core.

Método 2: Personalizar o caminho de salvamento

Os arquivos core são normalmente usados para análise offline. Portanto, recomendamos salvá-los em armazenamento externo em vez de um caminho local dentro do contêiner. Isso evita que os arquivos core sejam perdidos quando o contêiner é encerrado. O ECI permite especificar um caminho de salvamento personalizado para arquivos core. Após definir o caminho, o coredump é ativado automaticamente.

Ao chamar a operação CreateContainerGroup para criar uma instância ECI, passe o parâmetro CorePattern para definir o caminho de salvamento dos arquivos core. A tabela a seguir descreve os parâmetros relacionados. Para obter mais informações, consulte CreateContainerGroup.

Nota

Configure os parâmetros de volume de acordo com o tipo de volume utilizado.

CorePattern

String

/data/dump-a/core

Caminho de salvamento para arquivos core. Este caminho deve estar dentro de um volume montado.

Importante

O caminho não pode começar com o caractere pipe (|). Isso significa que não é possível configurar um programa executável usando coredump.

Volume.N.Name

String

volume1

Nome do volume.

Volume.N.Type

String

NFSVolume

Tipo do volume. Neste exemplo, NFSVolume é utilizado.

Volume.N.NFSVolume.Path

String

/dump

Caminho do volume NFS.

Volume.N.NFSVolume.Server

String

143b24****-gfn3.cn-beijing.nas.aliyuncs.com

Endereço do servidor NFS.

Se você usar o Alibaba Cloud File Storage NAS, este é o endereço do ponto de montagem do sistema de arquivos NAS.

Container.N.VolumeMount.N.Name

String

volume1

Nome do volume a ser montado. Deve corresponder ao valor de Volume.N.Name.

Container.N.VolumeMount.N.MountPath

String

/data/dump-a/

Caminho de montagem.

O conteúdo do volume substitui qualquer conteúdo existente no caminho de montagem dentro do contêiner. Certifique-se de que o caminho esteja correto.

O exemplo a seguir mostra como usar um sistema de arquivos do Alibaba Cloud File Storage NAS como armazenamento externo:

  1. Crie uma instância ECI chamada instância A, monte o sistema de arquivos NAS e defina o caminho de salvamento para arquivos core.

    Chame a operação CreateContainerGroup para criar a instância A. Defina os seguintes parâmetros para montar o diretório /dump/ do sistema de arquivos NAS em /data/dump-a/ no contêiner e defina o caminho de salvamento do arquivo core como /data/dump-a/core.

    ContainerGroupName=test-a
    SecurityGroupId=sg-bp1daxpbz9lzpvvc****
    VSwitchId=vsw-bp1gds63lmlm7ib05****
    # Declare a volume
    Volume.1.Name=volume1
    Volume.1.Type=NFSVolume
    Volume.1.NFSVolume.Path=/dump/
    Volume.1.NFSVolume.Server=143b24****-gfn3.cn-beijing.nas.aliyuncs.com
    # Mount the volume to the container
    Container.1.Name=nginx
    Container.1.Image=registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.14.2
    Container.1.VolumeMount.1.Name=volume1
    Container.1.VolumeMount.1.MountPath=/data/dump-a/
    # Set the save path for core files
    CorePattern=/data/dump-a/core
  2. Acione um coredump em qualquer diretório no contêiner da instância A.

    No contêiner, execute o comando sleep 100 e pressione Ctrl+\ para acionar um coredump. O arquivo core é salvo em /data/dump-a/core no contêiner.

    # ls
    bin  boot  data  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    # cd /data/dump-a/
    # ls
    # sleep 100
    ^\Quit (core dumped)
    # ls
    core.17
  3. Libere a instância A.

  4. Monte o mesmo sistema de arquivos NAS em outra instância ECI chamada instância B.

    Chame a operação CreateContainerGroup para criar a instância B. Passe os seguintes parâmetros para montar o mesmo diretório /dump/ do sistema de arquivos NAS no diretório /data/dump-b/ do contêiner.

    ContainerGroupName=test-nas-b
    SecurityGroupId=sg-bp1daxpbz9lzpvvc****
    VSwitchId=vsw-bp1gds63lmlm7ib05****
    # Declare a volume
    Volume.1.Name=volume1
    Volume.1.Type=NFSVolume
    Volume.1.NFSVolume.Path=/dump/
    Volume.1.NFSVolume.Server=143b24****-gfn3.cn-beijing.nas.aliyuncs.com
    # Mount the volume to the container
    Container.1.Name=nginx
    Container.1.Image=registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.14.2
    Container.1.VolumeMount.1.Name=volume1
    Container.1.VolumeMount.1.MountPath=/data/dump-b/
  5. Visualize o arquivo core no contêiner da instância B.

    Visualize o arquivo core no diretório /data/dump-b do contêiner. Como o arquivo core foi salvo em armazenamento externo, ele não é perdido após a liberação da instância A e permanece disponível para análise.

    # ls
    bin  boot  data  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
    # cd /data/dump-b/
    # ls
    core.17

Perguntas frequentes

O download não inicia quando clico em Download no console. O que devo fazer?

Se o download não iniciar, verifique as configurações de permissão do site no seu navegador. Por exemplo, no Chrome, siga estas etapas para conceder a permissão necessária:

  1. Clique em ícone de cadeado à esquerda da barra de endereços do navegador Chrome e, no painel pop-up, clique em Site settings.

  2. Na lista de permissões do site, localize Insecure content e defina sua permissão como Allow.