Quero coletar logs do meu Amazon Elastic Container Service (Amazon ECS) para solucionar problemas em meu ambiente.
Breve descrição
Usar o script coletor de logs do Amazon ECS para coletar logs gerais do sistema operacional (SO), do Docker e do atendente de contêiner do Amazon ECS. O script compacta e arquiva os logs em um único arquivo que é possível compartilhar para solucionar um problema.
Também é possível usar o runbook AWSSupport-CollectECSInstanceLogs do AWS Systems Manager para coletar logs da sua instância do ECS e fazer o upload dos logs em um bucket do Amazon Simple Storage Service (Amazon S3). No parâmetro de entrada LogDestination, forneça a localização do bucket do Amazon S3.
Observação: O AWSSupport-CollectECSInstanceLogs não oferece suporte ao modo de depuração. Para obter mais informações, consulte Executar uma operação automatizada com tecnologia do Systems Manager Automation.
Resolução
Baixe e execute o coletor de logs do Amazon ECS
Para obter instruções sobre como se conectar à sua instância de contêiner, consulte Conectar-se à instância de contêiner usando SSH. Para obter instruções sobre como baixar e executar o coletor de logs para Linux e Windows, consulte Coleta de logs de contêiner com o coletor de logs do Amazon ECS.
Para Linux, você deve usar curl. Para confirmar que você instalou o curl, execute o seguinte comando:
curl --version
A saída do comando é semelhante à seguinte:
curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3
Observação: Se o comando não retornar os resultados esperados, instale o pacote curl.
Depois de executar o script, é possível revisar os logs coletados na pasta de coleta que o script criou. Para Linux, o arquivo compactado de todos os logs é collect-i-ffffffffffffffffff-YYYYMMDDHHmm.tgz. Para Windows, é o arquivo collect.tgz.
Execute o coletor de logs do Amazon ECS no modo de depuração
O modo de depuração permite solucionar problemas complexos em seu ambiente ECS que os detalhes de log padrão talvez não consigam resolver.
Para ativar o registro em log de depuração para o daemon do Docker e o atendente de contêiner do Amazon ECS, use --mode=enable-debug para Linux e -RunMode debug para Windows.
Observação: O script reinicia o daemon do Docker e o atendente do Amazon ECS e encerra todos os contêineres em execução na instância. Antes de executar o comando a seguir, drene a instância de contêiner e mova tarefas importantes para outras instâncias de contêiner.
Linux
O modo de depuração funciona somente no sistema operacional Amazon Linux e em sistemas baseados em inicialização do Systemd.
Ao executar o script, execute o seguinte comando:
[ec2-user ~]$ sudo bash ./ecs-logs-collector.sh --mode=enable-debug
Windows
Ao executar o script, use o Windows PowerShell com permissões de administrador para executar o seguinte comando:
.\ecs-logs-collector.ps1 -RunMode debug