Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Invia i log di Amazon ECS a CloudWatch
È possibile configurare i contenitori delle attività per inviare informazioni di registro ai CloudWatch registri. Se utilizzi il tipo di avvio Fargate per le tue attività, puoi visualizzare i log provenienti dai tuoi container. Se utilizzi il tipo di EC2 avvio, puoi visualizzare diversi log dei tuoi contenitori in un'unica comoda posizione ed evitare che i log dei contenitori occupino spazio su disco sulle istanze del contenitore.
Nota
Il tipo di informazioni registrate dai container nell'attività dipende per lo più dal relativo comando ENTRYPOINT
. Per impostazione predefinita, i log acquisiti mostrano l'output di comando che normalmente viene visualizzato in un terminale interattivo se si esegue il container in locale, ovvero i flussi I/O STDOUT
e STDERR
. Il driver di awslogs
registro passa semplicemente questi log da Docker a Logs. CloudWatch Per ulteriori informazioni su come vengono elaborati i log Docker, inclusi metodi alternativi per acquisire diversi flussi o dati di file, consulta l'articolo relativo alla visualizzazione di log per un container o servizio
Per inviare i log di sistema dalle istanze di container Amazon ECS a CloudWatch Logs, consulta Monitoring Log Files e CloudWatch Logs quote nella Amazon Logs User Guide. CloudWatch
Tipo di avvio di Fargate
Se utilizzi il tipo di avvio Fargate per le tue attività, per attivare il driver di log logConfiguration
devi aggiungere i parametri awslogs
necessari alla definizione di attività. Per ulteriori informazioni, consulta Esempio di definizione di attività Amazon ECS: indirizza i log verso CloudWatch.
Per il contenitore Windows su Fargate, eseguite una delle seguenti opzioni quando uno dei parametri di definizione dell'attività contiene caratteri speciali come: & \ < > ^
|
-
Aggiungi un escape (
\
) con virgolette doppie attorno all'intera stringa di parametriEsempio
"awslogs-multiline-pattern": "\"^[|DEBUG|INFO|WARNING|ERROR\"",
-
Aggiungi un carattere escape (
^
) attorno a ogni carattere specialeEsempio
"awslogs-multiline-pattern": "^^[^|DEBUG^|INFO^|WARNING^|ERROR",
EC2 tipo di lancio
Se utilizzi il tipo di EC2 avvio per le tue attività e desideri attivare il driver di awslogs
registro, le istanze del contenitore Amazon ECS richiedono almeno la versione 1.9.0 dell'agente contenitore. Per informazioni sulla verifica della versione dell'agente e sull'aggiornamento alla versione più recente, consulta Aggiornamento dell'agente del container Amazon ECS.
Nota
È necessario utilizzare un'AMI ottimizzata per Amazon ECS o un'AMI personalizzata con almeno la versione 1.9.0-1
del ecs-init
pacchetto. Quando utilizzi un'AMI personalizzata, devi specificare che il driver di awslogs
registrazione è disponibile sull' EC2 istanza Amazon all'avvio dell'agente utilizzando la seguente variabile di ambiente nell'docker runistruzione o nel file della variabile di ambiente.
ECS_AVAILABLE_LOGGING_DRIVERS=["json-file","
awslogs
"]
Le istanze di container di Amazon ECS richiedono inoltre l'autorizzazione logs:CreateLogStream
e logs:PutLogEvents
nel ruolo IAM con cui avvii le istanze di container. Se hai creato il ruolo dell'istanza di container di Amazon ECS prima che fosse abilitato il supporto per il driver di log awslogs
in Amazon ECS, potrebbe essere necessario aggiungere questa autorizzazione. ecsTaskExecutionRole
viene utilizzato quando viene assegnato all'attività e deve contenere le autorizzazioni corrette. Per informazioni sul ruolo di esecuzione delle attività, consultaRuolo IAM di esecuzione di attività Amazon ECS. Se nelle istanze di container viene utilizzata l'apposita policy IAM gestita, le tue istanze di container dispongono delle autorizzazioni corrette. Per informazioni sulla politica IAM gestita per le istanze di container, consultaRuolo IAM delle istanze di container Amazon ECS.