View a markdown version of this page

Invia i log di Amazon ECS a un AWS servizio o AWS Partner - 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 un AWS servizio o AWS Partner

Puoi utilizzare Amazon ECS FireLens per utilizzare i parametri di definizione delle attività per indirizzare i log verso un AWS servizio o una destinazione AWS Partner Network (APN) per l'archiviazione e l'analisi dei log. AWS Partner Network È una comunità globale di partner che sfrutta programmi, competenze e risorse per creare, commercializzare e vendere offerte ai clienti. Per ulteriori informazioni, consulta AWS Partner. FireLens funziona con Fluentd e Fluent Bit. Forniamo l'immagine AWS for Fluent Bit oppure puoi utilizzare la tua immagine Fluentd o Fluent Bit.

Per impostazione predefinita, Amazon ECS configura la dipendenza del container in modo che il container Firelens si avvii prima di qualsiasi container che lo utilizza. Inoltre, il container Firelens si ferma dopo che tutti i container che lo utilizzano si fermano.

Per utilizzare questa funzionalità, è necessario creare un ruolo IAM per le attività che fornisca le autorizzazioni necessarie per utilizzare tutti AWS i servizi richiesti dalle attività. Ad esempio, se un container esegue il routing dei log a Firehose, allora l'attività richiede l'autorizzazione per chiamare l'API firehose:PutRecordBatch. Per ulteriori informazioni, consulta Aggiunta e rimozione di autorizzazioni per identità IAM nella Guida per l'utente di IAM.

Il processo potrebbe richiedere anche il ruolo di esecuzione del processo di Amazon ECS nelle seguenti condizioni. Per ulteriori informazioni, consulta Ruolo IAM di esecuzione di attività Amazon ECS.

  • Se la tua attività è ospitata su Fargate e stai estraendo immagini di container da Amazon ECR o fai riferimento a dati sensibili AWS Secrets Manager presenti nella configurazione del registro, devi includere il ruolo IAM di esecuzione delle attività.

  • Quando si utilizza un file di configurazione personalizzato ospitato in Amazon S3, il ruolo IAM per l'esecuzione dell'attività deve includere l'autorizzazione s3:GetObject.

Quando utilizzi FireLens Amazon ECS, considera quanto segue:

  • Consigliamo di aggiungere my_service_ al log del nome del container in modo da poter distinguere facilmente i nomi dei container nella console.

  • Per impostazione predefinita, Amazon ECS aggiunge una dipendenza dall'ordine iniziale del container tra i container dell'applicazione e il container FireLens. Quando si specifica un ordine del container tra i container dell'applicazione e il container FireLens, l'ordine di avvio predefinito del container viene sovrascritto.

  • FireLens per Amazon ECS è supportato per le attività ospitate sia su AWS Fargate su Linux che su Amazon EC2 su Linux. I container di Windows non supportano FireLens.

    Per informazioni su come configurare la registrazione centralizzata per i container di Windows, consulta Registrazione centralizzata per container di Windows su Amazon ECS tramite Fluent Bit.

  • Puoi utilizzare CloudFormation modelli FireLens per configurare Amazon ECS. Per ulteriori informazioni, consulta AWS: :ECS:: TaskDefinition FirelensConfiguration nella Guida per l'utente AWS CloudFormation

  • FireLensascolta sulla porta24224, quindi per garantire che il router di FireLens log non sia raggiungibile al di fuori dell'attività, non devi consentire il traffico in entrata sulla porta 24224 nel gruppo di sicurezza utilizzato dall'attività. Per attività che utilizzano la modalità di rete awsvpc, questo è il gruppo di sicurezza associato all'attività. Per attività che utilizzano la modalità di rete host, questo è il gruppo di sicurezza associato all'istanza Amazon EC2 che ospita l'attività. Per attività che utilizzano la modalità di rete bridge, non creare mappature di porte che utilizzano la porta 24224.

  • Per le attività che utilizzano la modalità di bridge rete, il contenitore con la FireLens configurazione deve essere avviato prima dell'avvio di qualsiasi contenitore applicativo che si basa su di essa. Per controllare l'ordine di avvio dei container, utilizza le condizioni di dipendenza nella definizione di attività. Per ulteriori informazioni, consulta Dipendenze per i container.

    Nota

    Se utilizzi i parametri delle condizioni di dipendenza nelle definizioni dei contenitori con una FireLens configurazione, assicurati che ogni contenitore abbia un requisito di HEALTHY condizione START or.

  • Per impostazione predefinita, FireLens aggiunge il nome della definizione del cluster e dell'attività e l'Amazon Resource Name (ARN) del cluster come chiavi di metadati ai log dei contenitori. stdout/stderr Di seguito è riportato un esempio del formato dei metadati.

    "ecs_cluster": "cluster-name", "ecs_task_arn": "arn:aws:ecs:region:111122223333:task/cluster-name/f2ad7dba413f45ddb4EXAMPLE", "ecs_task_definition": "task-def-name:revision",

    Se non desideri i metadati nei tuoi log, imposta enable-ecs-log-metadata su false nella sezione firelensConfiguration della definizione di attività.

    "firelensConfiguration":{ "type":"fluentbit", "options":{ "enable-ecs-log-metadata":"false", "config-file-type":"file", "config-file-value":"/extra.conf" }

Puoi configurare il FireLens contenitore in modo che venga eseguito come utente non root. Considera i seguenti aspetti:

  • Per configurare il FireLens contenitore in modo che venga eseguito come utente non root, è necessario specificare l'utente in uno dei seguenti formati:

    • uid

    • uid:gid

    • uid:group

    Per ulteriori informazioni su come specificare un utente in una definizione di contenitore, consulta il riferimento alle API ContainerDefinition di Amazon Elastic Container Service.

    Il FireLens contenitore riceve i log delle applicazioni tramite un UNIX socket. L'agente Amazon ECS utilizza il uid per assegnare la proprietà della directory del socket al FireLens contenitore.

  • La configurazione del FireLens contenitore per l'esecuzione come utente non root è supportata nella versione Amazon ECS Agent 1.96.0 e successive e nella versione Amazon ECS-optimized AMI e successive. v20250716

  • Quando si specifica un utente per il FireLens contenitore, questo uid deve essere unico e non utilizzato per altri processi appartenenti ad altri contenitori nell'attività o nell'istanza del contenitore.

Per informazioni su come utilizzare più file di configurazione con Amazon ECS, inclusi i file ospitati o i file in Amazon S3, consultare Init process for Fluent Bit on ECS, multi-config support.

Per informazioni sulle configurazioni di esempio, vedereEsempio di definizione di attività Amazon ECS: routing logs to FireLens.

Per ulteriori informazioni sulla configurazione dei log per un throughput elevato, vedere. Configurazione dei log di Amazon ECS per un throughput elevato