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à.
Esempio di definizione di attività Amazon ECS: indirizza i log verso FireLens
Per utilizzare il routing di log personalizzato con FireLens, è necessario specificare quanto segue nella definizione di attività:
-
Un container router di log contenente una configurazione FireLens. Si consiglia di contrassegnare il container come
essential
. -
Uno o più container dell'applicazione contenenti una configurazione del log che specifica il driver di log
awsfirelens
. -
Un nome della risorsa Amazon (ARN) del ruolo IAM dell'attività contenente le autorizzazioni richieste dall'attività per instradare i log.
Quando si crea una nuova definizione di attività utilizzando il AWS Management Console, è disponibile una sezione di FireLens integrazione che semplifica l'aggiunta di un contenitore di log router. Per ulteriori informazioni, consulta Creazione di una definizione di attività Amazon ECS utilizzando la console.
Amazon ECS converte la configurazione del log e genera la configurazione di output Fluentd o Fluent Bit. La configurazione di output è montata nel container di routing dei log in corrispondenza di /fluent-bit/etc/fluent-bit.conf
for Fluent Bit e /fluentd/etc/fluent.conf
for Fluentd.
Importante
FireLens è in ascolto sulla porta 24224
. Pertanto, per garantire che il FireLens log router non sia raggiungibile al di fuori dell'operazione, non è necessario consentire il traffico 24224
in ingresso sulla porta del 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
.
Di default, Amazon ECS aggiunge ulteriori campi nelle voci di log che consentono di identificare l'origine dei log.
-
ecs_cluster
: il nome del cluster di cui fa parte il processo. -
ecs_task_arn
: il nome della risorsa Amazon (ARN) completo dell'attività a cui appartiene il container. -
ecs_task_definition
: il nome della definizione di attività e la revisione che il processo sta utilizzando. -
ec2_instance_id
: l'ID dell'istanza Amazon EC2 su cui il container è ospitato. Questo campo è valido solo per processi che utilizzano il tipo di avvio EC2.
Puoi impostarlo su false
se non desideri i metadati. enable-ecs-log-metadata
Il seguente esempio di definizione di attività definisce un contenitore di log router che utilizza Fluent Bit per indirizzare i log verso Logs. CloudWatch Definisce inoltre un contenitore di applicazioni che utilizza una configurazione di log per indirizzare i log verso Amazon Data Firehose e imposta la memoria utilizzata per bufferizzare gli eventi su 2 MiB.
Nota
Per ulteriori esempi di definizioni di attività, consulta gli FireLensesempi di Amazon ECS
{ "family": "firelens-example-firehose", "taskRoleArn": "arn:aws:iam::123456789012:role/ecs_task_iam_role", "containerDefinitions": [ { "essential": true, "image": "906394416424.dkr.ecr.us-west-2.amazonaws.com/aws-for-fluent-bit:stable", "name": "log_router", "firelensConfiguration": { "type": "fluentbit", "options": { "enable-ecs-log-metadata": "true" } }, "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "firelens-container", "awslogs-region": "us-west-2", "awslogs-create-group": "true", "awslogs-stream-prefix": "firelens" } }, "memoryReservation": 50 }, { "essential": true, "image": "httpd", "name": "app", "logConfiguration": { "logDriver": "awsfirelens", "options": { "Name": "firehose", "region": "us-west-2", "delivery_stream": "my-stream", "log-driver-buffer-limit": "2097152" } }, "memoryReservation": 100 } ] }
Le coppie chiave/valore specificate come opzioni nell'oggetto logConfiguration
vengono utilizzate per generare la configurazione di output Fluentd o Fluent Bit. Di seguito è riportato un esempio di codice da una definizione di output Fluent Bit.
[OUTPUT] Name firehose Match app-firelens* region
us-west-2
delivery_streammy-stream
Nota
FireLens gestisce la match
configurazione. Non si specifica la match
configurazione nella definizione dell'attività.
Utilizza un file di configurazione personalizzato
È possibile specificare un file di configurazione personalizzato. Il formato del file di configurazione è il formato nativo per il router di log in uso. Per ulteriori informazioni, consulta Fluentd Config File Syntax
Nel file di configurazione personalizzato, per le attività che utilizzano la modalità di rete bridge
o awsvpc
, non è necessario impostare un input di inoltro Fluentd o Fluent Bit su TCP perché FireLens lo aggiunge alla configurazione di input.
La configurazione di FireLens deve contenere le seguenti opzioni per specificare un file di configurazione personalizzato:
config-file-type
-
Il percorso di origine del file di configurazione personalizzato. Le opzioni disponibili sono
s3
ofile
.Nota
Le attività ospitate su supportano AWS Fargate solo il tipo
file
di file di configurazione. config-file-value
-
L'origine del file di configurazione personalizzato. Se viene utilizzato il tipo di file di configurazione
s3
, il valore del file di configurazione è l'ARN completo del file e del bucket Amazon S3. Se viene utilizzato il tipo di file di configurazionefile
, il valore del file di configurazione è il percorso completo del file di configurazione presente nell'immagine del container o in un volume montato nel container.Importante
Quando si utilizza un file di configurazione personalizzato, è necessario specificare un percorso diverso da quello utilizzato da FireLens. Amazon ECS riserva il percorso file
/fluent-bit/etc/fluent-bit.conf
for Fluent Bit e/fluentd/etc/fluent.conf
for Fluentd.
L'esempio seguente mostra la sintassi richiesta quando si specifica una configurazione personalizzata.
Importante
Per specificare un file di configurazione personalizzato ospitato in Amazon S3, assicurati di aver creato un ruolo IAM di esecuzione dell'attività con le autorizzazioni appropriate.
Di seguito viene illustrata la sintassi richiesta quando si specifica una configurazione personalizzata.
{ "containerDefinitions": [ { "essential": true, "image": "906394416424.dkr.ecr.
us-west-2
.amazonaws.com/aws-for-fluent-bit:stable", "name": "log_router", "firelensConfiguration": { "type": "fluentbit", "options": { "config-file-type": "s3
|file
", "config-file-value": "arn:aws:s3:::
|DOC-EXAMPLE-BUCKET
/fluent.conffilepath
" } } } ] }
Nota
Le attività ospitate su supportano AWS Fargate solo il tipo file
di file di configurazione.