Ao usar o AWS re:Post, você concorda com os AWS re:Post Termos de uso

Como obtenho os logs do agente SSM para as tarefas do Fargate que têm o Amazon ECS Exec ativado?

4 minuto de leitura
0

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:

  1. Crie seu sistema de arquivos do Amazon EFS.
  2. Observe o ID do Amazon EFS e o 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 à tarefa do Fargate.
  4. 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.
  5. Abra o console do Amazon ECS.
  6. No painel de navegação, selecione Definições de tarefa e, em seguida, escolha a definição da tarefa.
  7. Selecione Criar nova revisão.
  8. 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.
  9. 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.
  10. 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:

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

  2. 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]#
AWS OFICIAL
AWS OFICIALAtualizada há 6 meses