View a markdown version of this page

Invia i log di Amazon ECS a CloudWatch - Amazon Elastic Container Service

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à a cui inviare le informazioni di registro a CloudWatch Registri. Se si utilizza Fargate per le attività, è possibile visualizzare i log provenienti dai container. Se si utilizza EC2, è possibile visualizzare diversi log dei container in un'unica comoda posizione, evitando inoltre che i log dei container occupino spazio su disco nelle istanze di container.

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 dei comandi che in genere potresti vedere in un terminale interattivo se esegui il contenitore localmente, che sono i STDOUT e STDERR I/O ruscelli. Le awslogs il log driver passa semplicemente questi log da Docker a CloudWatch Registri. Per ulteriori informazioni su come Docker elabora i log, inclusi modi alternativi per acquisire dati o flussi di file diversi, consulta Visualizza i log per un contenitore o un servizio nella documentazione Docker.

Per inviare i log di sistema dalle tue istanze di container Amazon ECS a CloudWatch Log, vedi Monitoraggio dei file di registro e CloudWatch Registra le quote nel Amazon CloudWatch Guida per l'utente di Logs.

Fargate

Se si utilizza Fargate per le tue attività, per attivare il driver di log logConfiguration è necessario aggiungere i parametri awslogs richiesti alla definizione di attività. Per ulteriori informazioni, consulta Esempio di definizione di attività di Amazon ECS: routing logs verso CloudWatch.

Per il container Windows su Fargate, eseguire una delle seguenti opzioni quando uno dei parametri di definizione dell'attività contiene caratteri speciali come & \ < > ^ |:

  • Aggiungere un carattere escape (\) con virgolette doppie attorno all'intera stringa del parametro

    Esempio

    "awslogs-multiline-pattern": "\"^[|DEBUG|INFO|WARNING|ERROR\"",
  • Aggiungere un carattere escape (^) attorno a ogni carattere speciale

    Esempio

    "awslogs-multiline-pattern": "^^[^|DEBUG^|INFO^|WARNING^|ERROR",

EC2

Se si utilizza EC2 per le attività e si desidera attivare il driver di log awslogs, è necessario che le istanze di container Amazon ECS dispongano almeno della versione 1.9.0 dell'agente del container. 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 Amazon ECS-optimized AMI o un'AMI personalizzata con almeno una versione 1.9.0-1 del ecs-init pacchetto. Quando si utilizza un'AMI personalizzata, è necessario specificare che il driver di registrazione awslogs è disponibile sull'istanza Amazon EC2 all'avvio dell'agente utilizzando la seguente variabile di ambiente nell'istruzione docker run 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à, consultare Ruolo 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 policy IAM gestita per le istanze di container, consultare Ruolo IAM delle istanze di container Amazon ECS.