Salta al contenuto

Perché i log di un container Amazon ECS non vengono consegnati a CloudWatch Logs?

3 minuti di lettura
0

I log del mio container Amazon Elastic Container Service (Amazon ECS) non vengono visualizzati in Amazon CloudWatch Logs come previsto.

Risoluzione

Modifica il driver di log awslogs

Aggiungi il parametro logConfiguration al driver di log awslogs nella definizione dell'attività. Per le attività Amazon ECS con più container, configura il parametro logConfiguration per ogni container.

Se hai un tipo di avvio Amazon Elastic Compute Cloud (Amazon EC2), aggiorna l'istanza di container Amazon ECS alla versione 1.9.0 o successiva.

Se l'istanza di container non utilizza un'Amazon Machine Image (AMI) ottimizzata per Amazon ECS, esegui questa variabile di ambiente per avviare l'agente container:

ECS_AVAILABLE_LOGGING_DRIVERS='["json-file","awslogs"]'

Nota: specifica il driver di log awslogs nell'istanza di container.

Per ulteriori informazioni, consulta Installazione dell'agente container Amazon ECS.

Aggiungi le autorizzazioni necessarie per i ruoli IAM

Tipo di avvio AWS Fargate

Collega la policy AmazonECSTaskExecutionRolePolicy al ruolo AWS Identity and Access Management (AWS IAM) di esecuzione dell'attività Amazon ECS. La policy include le autorizzazioni logs:CreateLogStream e logs:PutLogEvents necessarie. Oppure crea una policy IAM personalizzata e includi le autorizzazioni necessarie.

Attività con tipo avvio Amazon EC2 senza ruolo IAM di esecuzione dell'attività

Collega la policy AmazonEC2ContainerServiceforEC2Role al ruolo IAM dell'istanza di container. La policy contiene le autorizzazioni logs:CreateLogStream e logs:PutLogEvents necessarie. Oppure crea una policy IAM personalizzata e includi le autorizzazioni necessarie.

Attività con tipo avvio Amazon EC2 con ruolo IAM di esecuzione dell'attività

Per la configurazione dell'agente container, aggiorna il parametro ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE impostandolo su true.

Nota: il valore predefinito del parametro dell'agente container è true nelle AMI ottimizzate per Amazon ECS versione 1.16.0-1 o successive e false in Windows.

Controlla la configurazione di rete

Se l'attività utilizza il driver di log awslogs in un Amazon Virtual Private Cloud (Amazon VPC) senza gateway Internet, crea un endpoint VPC di interfaccia per CloudWatch Logs. Scegli com.amazonaws.Region.logs come servizio.

Verifica la configurazione a livello di log del container

Il driver di log awslogs passa i flussi STDOUT e STDERR I/O da Docker a CloudWatch Logs.

Per configurare i log, aggiorna l'applicazione in modo che invii i log ai flussi STDOUT e STDERR I/O. Quindi, durante la creazione del container, configura il livello di log dell'applicazione tramite una variabile di ambiente o un file di configurazione.

Informazioni correlate

Strumenti di monitoraggio per Amazon ECS

How do I troubleshoot missing container logs for Amazon ECS or Amazon EKS? (Come posso risolvere i problemi relativi a log di container mancanti per Amazon ECS o Amazon EKS?)

Invia i log di Amazon ECS a CloudWatch

AWS UFFICIALEAggiornata 8 mesi fa