Come faccio a ottenere i log degli agenti SSM per le attività di Fargate con Amazon ECS Exec attivato?

4 minuti di lettura
0

Desidero ottenere i log di AWS Systems Manager Agent (SSM Agent) per le attività di AWS Fargate con Amazon Elastic Container Service (Amazon ECS) Exec attivato.

Breve descrizione

Prerequisito:

Completa i requisiti per utilizzare ECS Exec.

Per ottenere i log degli agenti SSM per le attività di Fargate con 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 dell'agente SSM.

**Importante:**Prima di montare il file system EFS, devi avviare un'istanza Amazon EC2. Il file system Amazon EFS e le attività di Fargate devono trovarsi nello stesso Amazon Virtual Private Cloud (Amazon VPC).

Soluzione

**Nota:**la seguente risoluzione è valida solo per le attività di Fargate che hanno ECS Exec attivato. Usa i passaggi di risoluzione solo per eseguire il debug. Per essere sicuri di non sovrascrivere i registri, avvia l'attività come attività autonoma. Oppure, mantieni il desiredCount di attività su "1" nel servizio Amazon ECS. È inoltre possibile utilizzare la seguente risoluzione per scenari in cui è necessario controllare i log non stderr/stdout dai container.

Crea il tuo file system Amazon EFS e montalo su un container Fargate

Per creare il tuo file system Amazon EFS e montarlo su un container Fargate in un'attività o un servizio, completa i seguenti passaggi:

  1. Crea il tuo file system Amazon EFS.
  2. Annota l'ID Amazon EFS e l'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à 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.
  6. Nel pannello di navigazione, seleziona Definizioni delle attività, quindi scegli la tua definizione di attività.
  7. Scegli Crea nuova revisione.
  8. In Archiviazione, per Volumi, scegli Aggiungi volume. Inserisci le seguenti informazioni
    In Nome volume, inserisci un nome per il volume.
    Per Tipo di volume, scegli EFS.
    In File system ID, inserisci l'ID del file system Amazon EFS.
  9. Per i punti di montaggio del container, scegli Aggiungi punto di montaggio. Inserisci le seguenti informazioni:
    Per Container, scegli il tuo contenitore.
    Per Volume ** sorgente**, scegli il volume sorgente.
    Per il Percorso del container, inserisci /var/log/amazon.
  10. Scegli Crea.

**Nota:Prima di montare il file system Amazon EFS su un'istanza Amazon EC2, l'attività deve essere in ** esecuzione.

Monta il file system Amazon EFS su un'istanza Amazon EC2 e ottieni i log dell'agente SSM

Nota: se ricevi messaggi di errore durante l'esecuzione dei comandi dell'interfaccia della linea di comando AWS (AWS CLI), consulta la sezione Troubleshoot AWS CLI errors. Inoltre, assicurati che la versione di AWS CLI che stai utilizzando sia la più recente.

Completa i seguenti passaggi:

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

  2. Per ottenere i dati di log, esegui il seguente comando 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

    Esempio di output:

    # 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 7 mesi fa