Como faço para obter logs do agente SSM para tarefas do Fargate que têm o Amazon ECS Exec ativado?

4 minuto de leitura
0

Quero obter logs do AWS Systems Manager Agent (SSM Agent) para tarefas do AWS Fargate que tenham o Amazon Elastic Container Service (Amazon ECS) Exec ativado, mas não sei como.

Breve descrição

Antes de começar a usar o Amazon ECS Exec, consulte Pré-requisitos para usar o ECS Exec.

Para obter logs do agente SSM para tarefas do Fargate que tenham 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 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 agente SSM.

Importante: Seu sistema de arquivos Amazon EFS, cluster do Amazon ECS e tarefas do Fargate devem estar todos na mesma Amazon Virtual Private Cloud (Amazon VPC).

Nota: A resolução a seguir é somente para tarefas do Fargate que tenham o ECS Exec ativado. Use as etapas de resolução somente para depuração. Inicie-o como uma tarefa independente ou mantenha sua contagem de tarefas desejada em “1" em seu serviço Amazon ECS para evitar a substituição de logs. Você também pode usar a resolução a seguir para cenários em que você deve verificar logs não stderr/stdout dos contêineres.

Resolução

Crie seu sistema de arquivos Amazon EFS e monte-o em um contêiner Fargate em uma tarefa ou serviço.

  1. Crie seu sistema de arquivos Amazon EFS.
  2. Anote a ID do Amazon EFS e a ID do grupo de segurança.
  3. 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 à sua tarefa do Fargate.
  4. Atualize seu grupo de segurança do Amazon ECS para permitir conexões de saída na porta 2049 com o grupo de segurança do seu sistema de arquivos.
  5. Abra o console do Amazon ECS e navegue até sua definição de tarefa do Amazon ECS.
  6. Na seção Volumes, escolha Add volume (Adicionar volume).
  7. Em Name (Nome), insira um nome para o seu volume.
  8. Em Volume type (Tipo de volume), insira “EFS”.
  9. Em File system ID (ID do sistema de arquivos), insira o ID do seu sistema de arquivos.
  10. Na seçãoContainers definition (Definição de contêineres), navegue até a seção STORAGE AND LOGGING (ARMAZENAMENTO E REGISTRO EM LOG) e selecione o volume que você criou para o volume de origem.
  11. Em Container path (Caminho do contêiner), selecione /var/log/amazon.
  12. Atualize o serviço ou a tarefa do Fargate com a definição de tarefa que você criou.

Montar o sistema de arquivos do Amazon EFS em uma instância do Amazon EC2 e obtenha os logs do agente SSM

1.    Monte seu sistema de arquivos em uma instância do EC2.

2.    Execute o comando a seguir para obter os dados do log:

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 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]#

AWS OFICIAL
AWS OFICIALAtualizada há um ano