Coleta de logs de contêiner com o coletor de logs do Amazon ECS - Amazon Elastic Container Service

Coleta de logs de contêiner com o coletor de logs do Amazon ECS

Se você não tiver certeza de como coletar todos os vários logs nas instâncias de contêiner, poderá usar o coletor de logs do Amazon ECS. Ele está disponível no GitHub para os sistemas Linux e Windows. O script coleta logs gerais do sistema operacional geral, além dos logs do agente de contêiner do Docker e do Amazon ECS, que podem ser úteis para solucionar problemas de casos do AWS Support. Em seguida, compacta e arquiva os dados coletados em um único arquivo que pode ser facilmente compartilhado para fins de diagnóstico. Também oferece suporte à habilitação do modo de depuração do daemon do Docker e do agente de contêiner do Amazon ECS em variantes do Amazon Linux, como a AMI otimizada para Amazon ECS. No momento, o coletor de logs do Amazon ECS oferece suporte aos seguintes sistemas operacionais:

  • Amazon Linux

  • Red Hat Enterprise Linux 7

  • Debian 8

  • Ubuntu 14.04

  • Ubuntu 16.04

  • Ubuntu 18.04

  • Windows Server 2016

nota

O código fonte do coletor de logs do Amazon ECS está disponível no GitHub para Linux e Windows. Incentivamos você a enviar solicitações de envio para alterações que você gostaria de ter incluído. No entanto, o Amazon Web Services atualmente não oferece suporte para a execução de cópias modificadas desse software.

Para baixar e executar o coletor de logs do Amazon ECS para Linux
  1. Conecte-se à sua instância de contêiner.

  2. Baixe o script do coletor de logs do Amazon ECS.

    curl -O https://raw.githubusercontent.com/awslabs/ecs-logs-collector/master/ecs-logs-collector.sh
  3. Execute o script para coletar os logs e criar o arquivo.

    nota

    Para habilitar o modo de depuração no daemon do Docker e no agente de contêiner do Amazon ECS, adicione a opção --mode=enable-debug ao comando a seguir. Isso pode reiniciar o daemon do Docker, o que elimina todos os contêineres em execução na instância. Considere drenar a instância de contêiner e mover todas as tarefas importantes para outras instâncias de contêiner antes de ativar o modo de depuração. Para ter mais informações, consulte Drenagem de instâncias de contêiner do Amazon ECS.

    [ec2-user ~]$ sudo bash ./ecs-logs-collector.sh
Importante

Recomendamos editar os logs e remover todos os dados confidenciais dos arquivos. Você pode pesquisar dados conhecidos e também pesquisar variáveis de ambiente, como AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY e AWS_SESSION_TOKEN no arquivo.

Depois que tiver implementado o script, será possível examinar os logs coletados na pasta collect criada pelo script. O arquivo collect.tgz é um arquivo compactado de todos os logs, que você pode compartilhar com o AWS Support para receber ajuda no diagnóstico.

Para baixar e executar o coletor de logs do Amazon ECS para Windows
  1. Conecte-se à sua instância de contêiner. Para obter mais informações, consulte Connecting to Your Windows Instance no Amazon EC2 User Guide.

  2. Baixe o script do coletor de logs do Amazon ECS usando o PowerShell.

    Invoke-WebRequest -OutFile ecs-logs-collector.ps1 https://raw.githubusercontent.com/awslabs/aws-ecs-logs-collector-for-windows/master/ecs-logs-collector.ps1
  3. Execute o script para coletar os logs e criar o arquivo.

    nota

    Para habilitar o modo de depuração no daemon do Docker e no agente de contêiner do Amazon ECS, adicione a opção -RunMode debug ao comando a seguir. Isso reinicia o daemon do Docker, o que elimina todos os contêineres em execução na instância. Considere drenar a instância de contêiner e mover todas as tarefas importantes para outras instâncias de contêiner antes de ativar o modo de depuração. Para ter mais informações, consulte Drenagem de instâncias de contêiner do Amazon ECS.

    .\ecs-logs-collector.ps1
Importante

Recomendamos editar os logs e remover todos os dados confidenciais dos arquivos. Você pode pesquisar dados conhecidos e também pesquisar variáveis de ambiente, como AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY e AWS_SESSION_TOKEN no arquivo.

Depois que tiver implementado o script, será possível examinar os logs coletados na pasta collect criada pelo script. O arquivo collect.tgz é um arquivo compactado de todos os logs, que você pode compartilhar com a AWS Support para receber ajuda no diagnóstico.