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 ECS attività Amazon: indirizza i log verso FireLens
Per utilizzare il routing personalizzato dei log con FireLens, è necessario specificare quanto segue nella definizione dell'attività:
-
Un contenitore di log router che contiene FireLens configurazione. 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 IAM ruolo dell'attività Amazon Resource Name (ARN) che contiene le autorizzazioni necessarie all'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 ECS attività Amazon utilizzando la console.
Amazon ECS converte la configurazione dei 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 ascolta sulla porta. 24224
Pertanto, per garantire che il FireLens log router non sia raggiungibile al di fuori dell'attività, 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 le attività che utilizzano la modalità di host
rete, questo è il gruppo di sicurezza associato all'EC2istanza Amazon che ospita l'attività. Per attività che utilizzano la modalità di rete bridge
, non creare mappature di porte che utilizzano la porta 24224
.
Per impostazione predefinita, Amazon ECS aggiunge campi aggiuntivi nelle voci di registro che aiutano a identificare l'origine dei log.
-
ecs_cluster
: il nome del cluster di cui fa parte il processo. -
ecs_task_arn
— L'Amazon Resource Name completo (ARN) dell'attività di cui fa parte il contenitore. -
ecs_task_definition
: il nome della definizione di attività e la revisione che il processo sta utilizzando. -
ec2_instance_id
— L'ID dell'EC2istanza Amazon su cui è ospitato il contenitore. Questo campo è valido solo per le attività che utilizzano il tipo di EC2 avvio.
Puoi enable-ecs-log-metadata
impostarlo su false
se non desideri i metadati.
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 ECS FireLensgli esempi di Amazon
{ "family": "firelens-example-firehose", "taskRoleArn": "arn:aws:iam::123456789012:role/ecs_task_iam_role", "containerDefinitions": [ { "name": "log_router", "image": "public.ecr.aws/aws-observability/aws-for-fluent-bit:stable", "cpu": 0, "memoryReservation": 51, "portMappings": [], "essential": true, "environment": [], "mountPoints": [], "volumesFrom": [], "user": "0", "logConfiguration": { "logDriver": "awslogs", "options": { "awslogs-group": "/ecs/ecs-aws-firelens-sidecar-container", "mode": "non-blocking", "awslogs-create-group": "true", "max-buffer-size": "25m", "awslogs-region": "us-east-1", "awslogs-stream-prefix": "firelens" }, "secretOptions": [] }, "systemControls": [], "firelensConfiguration": { "type": "fluentbit" } }, { "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'logConfiguration
oggetto vengono utilizzate per generare il Fluentd oppure Fluent Bit configurazione di uscita. Di seguito è riportato un esempio di codice tratto da un Fluent Bit definizione dell'output.
[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 awsvpc
rete bridge
o, non impostate un input Fluentd o Fluent Bit forward perché TCP FireLens lo aggiunge alla configurazione di input.
Il tuo FireLens la configurazione 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
s3
configurazione, il valore del file ARN di configurazione è l'intero bucket e il file 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 FireLens usi. Amazon ECS riserva il
/fluent-bit/etc/fluent-bit.conf
percorso del file per Fluent Bit e/fluentd/etc/fluent.conf
per 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 IAM ruolo di esecuzione delle 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:::
|amzn-s3-demo-bucket
/fluent.conffilepath
" } } } ] }
Nota
Le attività ospitate su supportano AWS Fargate solo il tipo di file file
di configurazione.