Come posso ottenere i log degli agenti SSM per le attività di Fargate che hanno Amazon ECS Exec attivato?

4 minuti di lettura
0

Voglio ottenere i log di Agente AWS Systems Manager (Agente SSM) per le attività di AWS Fargate che hanno attivato Amazon Elastic Container Service (Amazon ECS) Exec. ma non so come farlo.

Breve descrizione

Prima di iniziare a usare Amazon ECS Exec, consulta Prerequisiti per l'utilizzo di ECS Exec.

Per ottenere i log degli agenti SSM per le attività di Fargate che hanno ECS Exec attivato, crea un file system Amazon Elastic File System (Amazon EFS). Quindi, monta il file system Amazon EFS sul container Fargate. Infine, monta lo stesso file system su un'istanza Amazon Elastic Compute Cloud (Amazon EC2) per ottenere i log degli agenti SSM.

Importante: il file system Amazon EFS, il cluster Amazon ECS e le attività di Fargate devono essere tutte nello stesso Amazon Virtual Private Cloud (Amazon VPC).

Nota: la seguente risoluzione è valida solo per le attività di Fargate che hanno attivato ECS Exec. Usa i passaggi di risoluzione esclusivamente per il debug. Avvialo come attività autonoma o mantieni il numero desiderato di attività su "1" nel tuo servizio Amazon ECS per evitare di sovrascrivere i log. Puoi inoltre utilizzare la seguente risoluzione per scenari in cui è necessario controllare i log non stderr/stdout dai container.

Risoluzione

Crea il tuo file system Amazon EFS e montalo su un container Fargate in un'attività o in un servizio.

  1. Crea il tuo file system Amazon EFS.
  2. Prendi nota dell'ID Amazon EFS e dell'ID del gruppo di sicurezza.
  3. Modifica le regole del gruppo di sicurezza del file system per consentire le connessioni in entrata sulla porta 2049 dal gruppo di sicurezza associato all'attività di Fargate.
  4. Aggiorna il tuo gruppo di sicurezza Amazon ECS per consentire le connessioni in uscita sulla porta 2049 al gruppo di sicurezza del tuo file system.
  5. Apri la console Amazon ECS e accedi alla definizione delle attività di Amazon ECS.
  6. Nella sezione Volumes (Volumi), scegli Add volume (Aggiungi volume).
  7. Per Name (Nome), inserisci un nome per il volume.
  8. PerVolume type(Tipo di volume), immetti "EFS".
  9. Per File system ID (ID file system), inserisci l'ID del tuo file system.
  10. Nella sezione Containers definition (Definizione dei container), passa alla sezione STORAGE AND LOGGING (ARCHIVIAZIONE E REGISTRAZIONE) e seleziona il volume creato per il volume di origine.
  11. Per Container path (Percorso container), seleziona /var/log/amazon.
  12. Aggiorna il servizio o l'attività Fargate con la definizione di attività creata.

Montaggio del file system Amazon EFS su un'istanza Amazon EC2 e ottenimento dei log dell'agente SSM

1.    Monta il tuo file system su un'istanza EC2.

2.    Esegui il comando riportato per ottenere i dati dei 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

Output di esempio:

# df -h
Filesystem                                          Size  Used Avail Use% Mounted on
fs-01b0bxxxxxxxx.efs.us-west-2.amazonaws.com:/      8.0E     0  8.0E   0% /efs

Di seguito è riportato un esempio di log archiviati nel percorso /var/log/amazon/ssm/amazon-ssm-agent.log nel container 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 UFFICIALE
AWS UFFICIALEAggiornata un anno fa