Como obtenho os logs do agente SSM para as tarefas do Fargate que têm o Amazon ECS Exec ativado?
Quero obter os logs do AWS Systems Manager Agent (SSM Agent) para as tarefas do AWS Fargate que têm o Amazon Elastic Container Service (Amazon ECS) Exec ativado.
Breve descrição
Pré-requisito:
Preencha os requisitos para usar o ECS Exec.
Para obter os logs do agente SSM para as tarefas do Fargate que têm o ECS Exec ativado, crie um sistema de arquivos do Amazon Elastic File System (Amazon EFS). Em seguida, monte o sistema de arquivos do Amazon EFS no contêiner do Fargate. Por fim, monte o mesmo sistema de arquivos em uma instância do Amazon Elastic Compute Cloud (Amazon EC2) para obter os logs do SSM Agent.
Importante: antes de montar o sistema de arquivos do EFS, você deve iniciar uma instância do Amazon EC2. Seu sistema de arquivos do Amazon EFS, o cluster do Amazon ECS e as tarefas do Fargate devem estar todos na mesma Amazon Virtual Private Cloud (Amazon VPC).
Resolução
Observação: a resolução a seguir é apenas para tarefas do Fargate que têm o ECS Exec ativado. Use as etapas de resolução somente para depurar. Para ter certeza de que não substituirá seus logs, inicie a tarefa como uma tarefa autônoma. Ou mantenha seu desiredCount de tarefas como "1" no seu serviço do Amazon ECS. Você também pode usar a resolução a seguir para cenários em que é necessário verificar logs não stderr/stdout dos contêineres.
Criar seu sistema de arquivos do Amazon EFS e monte-o em um contêiner do Fargate
Para criar o sistema de arquivos do Amazon EFS e montá-lo em um contêiner do Fargate em uma tarefa ou serviço, conclua as etapas a seguir:
- Crie seu sistema de arquivos do Amazon EFS.
- Observe o ID do Amazon EFS e o ID do grupo de segurança.
- Edite as regras do grupo de segurança do sistema de arquivos para permitir conexões de entrada na porta 2049 do grupo de segurança associado à tarefa do Fargate.
- Atualize seu grupo de segurança do Amazon ECS para permitir conexões de saída na porta 2049 para o grupo de segurança do seu sistema de arquivos.
- Abra o console do Amazon ECS.
- No painel de navegação, selecione Definições de tarefa e, em seguida, escolha a definição da tarefa.
- Selecione Criar nova revisão.
- Em Armazenamento, para Volumes, escolha Adicionar volume. Insira as seguintes informações
Em Nome do volume, insira um nome para o seu volume.
Em Tipo de volume, insira EFS.
Em ID do sistema de arquivos, insira o ID do seu sistema de arquivos. - Em Pontos de montagem de contêiner, escolha Adicionar ponto de montagem. Insira as seguintes informações:
Em Contêiner, escolha o seu contêiner.
Em Volume de origem, escolha o volume de origem.
Em Caminho do contêiner, insira /var/log/amazon. - Escolha Criar.
Observação: antes de montar o sistema de arquivos do Amazon EFS em uma instância do Amazon EC2, a tarefa deve estar em um estado em execução.
Montar o sistema de arquivos do Amazon EFS em uma instância do Amazon EC2 e obter logs do Agente SSM
Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solucionar erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Conclua as seguintes etapas:
-
Para obter os dados de log, execute o seguinte comando da AWS CLI:
sudo mount -t nfs4 -o nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport fs-01b0bxxxxxxxx.efs.ap-southeast-1.amazonaws.com:/ /efs
Exemplo de saída:
# df -h Filesystem Size Used Avail Use% Mounted on fs-01b0bxxxxxxxx.efs.us-west-2.amazonaws.com:/ 8.0E 0 8.0E 0% /efs
Veja a seguir um exemplo de logs armazenados no caminho /var/log/amazon/ssm/amazon-ssm-agent.log no contêiner do Fargate:
[root@ip-172-31-32-32 efs]# cd ssm/ [root@ip-172-31-32-32 ssm]# ls amazon-ssm-agent.log audits [root@ip-172-31-32-32 ssm]# cat amazon-ssm-agent.log | tail -n 10 2022-10-20 11:50:34 INFO [ssm-agent-worker] [MessageService] [MessageHandler] ended idempotency deletion thread 2022-10-20 11:50:37 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] send failed reply thread started 2022-10-20 11:50:37 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] send failed reply thread done 2022-10-20 11:55:37 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] send failed reply thread started 2022-10-20 11:55:37 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] send failed reply thread done 2022-10-20 12:00:34 INFO [ssm-agent-worker] [MessageService] [MessageHandler] started idempotency deletion thread 2022-10-20 12:00:34 WARN [ssm-agent-worker] [MessageService] [MessageHandler] [Idempotency] encountered error open /var/lib/amazon/ssm/170b15cacf5846ed836bcd7903cbee48-2531612879/idempotency: no such file or directory while listing replies in /var/lib/amazon/ssm/170b15cacf5846ed836bcd7903cbee48-2531612879/idempotency 2022-10-20 12:00:34 INFO [ssm-agent-worker] [MessageService] [MessageHandler] ended idempotency deletion thread 2022-10-20 12:00:37 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] send failed reply thread started 2022-10-20 12:00:37 INFO [ssm-agent-worker] [MessageService] [MGSInteractor] send failed reply thread done [root@ip-172-31-32-32 ssm]#
Conteúdo relevante
- AWS OFICIALAtualizada há 3 anos
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos
- AWS OFICIALAtualizada há 2 anos