Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Senden Sie Amazon ECS-Protokolle an eine AWS Service oder AWS Partner
Sie können verwenden FireLens damit Amazon ECS mithilfe von Aufgabendefinitionsparametern Protokolle an einen weiterleitet AWS
Service oder AWS Partner Network (APN) Ziel für die Speicherung und Analyse von Protokollen. Das AWS Partner Network ist eine globale Gemeinschaft von Partnern, die Programme, Fachwissen und Ressourcen nutzt, um Kundenangebote zu entwickeln, zu vermarkten und zu verkaufen. Weitere Informationen finden Sie unter AWS Partner
Standardmäßig konfiguriert Amazon ECS die Container-Abhängigkeit so, dass der Firelens-Container vor jedem Container gestartet wird, der ihn verwendet. Der Firelens-Container stoppt auch, nachdem alle Container, die ihn verwenden, angehalten sind.
Um diese Funktion nutzen zu können, müssen Sie eine IAM-Rolle für Ihre Aufgaben erstellen, die über die erforderlichen Berechtigungen für die Verwendung aller Aufgaben verfügt AWS Dienste, die für die Aufgaben erforderlich sind. Wenn ein Container beispielsweise Protokolle an Firehose weiterleitet, erfordert die Aufgabe die Berechtigung zum Aufrufen der firehose:PutRecordBatch-API. Informationen finden Sie im Abschnitt Hinzufügen und Entfernen von IAM-Identitätsberechtigungen im IAM-Benutzerhandbuch.
Unter den folgenden Bedingungen kann für Ihre Aufgabe auch die Amazon-ECS-Aufgabenausführungsrolle erforderlich sein. Weitere Informationen finden Sie unter IAM-Rolle für die Amazon-ECS-Aufgabenausführung.
-
Wenn Ihre Aufgabe auf Fargate gehostet wird und Sie Container-Images aus Amazon ECR abrufen oder auf vertrauliche Daten von verweisen AWS Secrets Manager In Ihrer Protokollkonfiguration müssen Sie dann die IAM-Rolle für die Aufgabenausführung angeben.
-
Wenn Sie eine benutzerdefinierte Konfigurationsdatei verwenden, die in Amazon S3 gehostet wird, muss Ihre IAM-Rolle für die Aufgabenausführung die
s3:GetObject-Berechtigung enthalten.
Beachten Sie Folgendes bei der Verwendung FireLens für Amazon ECS:
-
Wir empfehlen, dass Sie dem Protokoll
my_service_den Namen des Protokoll-Containers hinzufügen, damit Sie die Container-Namen in der Konsole leicht unterscheiden können. -
Amazon ECS fügt standardmäßig eine Start-Abhängigkeit zwischen den Anwendungs-Containern und dem FireLens-Container hinzu. Wenn Sie eine Container-Reihenfolge zwischen den Anwendungscontainern und dem FireLens-Container angeben, wird die standardmäßige Reihenfolge der Startcontainer außer Kraft gesetzt.
-
FireLens für Amazon ECS wird für Aufgaben unterstützt, die sowohl auf AWS Fargate unter Linux als auch auf Amazon EC2 unter Linux gehostet werden. Windows-Container unterstützen FireLens nicht.
Informationen zur Konfiguration der zentralen Protokollierung für Windows-Container finden Sie unter Zentralisierte Protokollierung für Windows-Container auf Amazon ECS mit Fluent Bit
. -
Sie können verwenden CloudFormation Vorlagen zum Konfigurieren FireLens für Amazon ECS. Weitere Informationen finden Sie unter AWS: :ECS:TaskDefinition FirelensConfiguration in der AWS CloudFormation Benutzerleitfaden
-
FireLens hört auf dem Port zu
24224, um sicherzustellen, dass FireLens Der Log-Router ist außerhalb der Aufgabe nicht erreichbar. Sie dürfen keinen eingehenden Verkehr auf dem Port zulassen24224in der Sicherheitsgruppe, die Ihre Aufgabe verwendet. Für Aufgaben, die denawsvpc-Netzwerkmodus verwenden, ist dies die der Aufgabe zugeordnete Sicherheitsgruppe. Für Aufgaben, die denhost-Netzwerkmodus verwenden, ist dies die Sicherheitsgruppe, die der Amazon-EC2-Instance zugeordnet ist, die die Aufgabe hostet. Für Aufgaben, die denbridge-Netzwerkmodus verwenden, erstellen Sie keine Portzuordnungen, die Port24224verwenden. -
Für Aufgaben, die das verwenden
bridgeNetzwerkmodus, der Container mit FireLens Die Konfiguration muss gestartet werden, bevor alle Anwendungscontainer, die darauf angewiesen sind, gestartet werden. Um die Startreihenfolge Ihrer Container zu steuern, verwenden Sie Abhängigkeitsbedingungen in der Aufgabendefinition. Weitere Informationen finden Sie unter Container-Abhängigkeit.Anmerkung
Wenn Sie Parameter für Abhängigkeitsbedingungen in Containerdefinitionen mit einem verwenden FireLens Konfiguration, stellen Sie sicher, dass jeder Container eine hat
STARToderHEALTHYKonditionsanforderung. -
In der Standardeinstellung FireLens fügt den Cluster- und Aufgabendefinitionsnamen sowie den Amazon-Ressourcennamen (ARN) des Clusters als Metadatenschlüssel zu Ihrem hinzu stdout/stderr Container-Protokolle. Nachfolgend ist ein Beispiel für das Metadatenformat.
"ecs_cluster": "cluster-name", "ecs_task_arn": "arn:aws:ecs:region:111122223333:task/cluster-name/f2ad7dba413f45ddb4EXAMPLE", "ecs_task_definition": "task-def-name:revision",Wenn Sie die Metadaten nicht in Ihren Protokollen haben möchten, setzen Sie
enable-ecs-log-metadatazufalseimfirelensConfiguration-Abschnitt der Aufgabendefinition."firelensConfiguration":{ "type":"fluentbit", "options":{ "enable-ecs-log-metadata":"false", "config-file-type":"file", "config-file-value":"/extra.conf" }
Sie können das konfigurieren FireLens Container, der als Nicht-Root-Benutzer ausgeführt wird. Berücksichtigen Sie dabei Folgendes:
-
Um den zu konfigurieren FireLens Um einen Container ohne Root-Benutzer auszuführen, müssen Sie den Benutzer in einem der folgenden Formate angeben:
-
uid -
uid:gid -
uid:group
Weitere Hinweise zur Angabe eines Benutzers in einer Container-Definition finden Sie unter ContainerDefinition in der Amazon Elastic Container Service API-Referenz.
Das FireLens Container empfängt Anwendungsprotokolle über einen UNIX Buchse. Der Amazon ECS-Agent verwendet den
uidum den Besitz des Socket-Verzeichnisses dem zuzuweisen FireLens Behälter. -
-
Konfiguration des FireLens Ein Container, der als Benutzer ohne Root-Benutzer ausgeführt wird, wird in der Amazon ECS Agent-Version unterstützt
1.96.0und später, und Amazon ECS-optimized AMI-Versionv20250716und später. -
Wenn Sie einen Benutzer für den angeben FireLens Behälter, der
uidmuss eindeutig sein und darf nicht für andere Prozesse verwendet werden, die zu anderen Containern in der Aufgabe oder der Container-Instance gehören.
Informationen zur Verwendung mehrerer Konfigurationsdateien mit Amazon ECS, einschließlich Dateien, die Sie hosten, oder Dateien in Amazon S3, finden Sie unter Init-Prozess für Fluent Bit in ECS, Unterstützung für mehrfache Konfigurationen
Hinweise zu Beispielkonfigurationen finden Sie unter Beispiel für eine Amazon ECS-Aufgabendefinition: Protokolle weiterleiten an FireLens.
Weitere Informationen zur Konfiguration von Protokollen für hohen Durchsatz finden Sie unter Konfiguration von Amazon-ECS-Protokollen für hohen Durchsatz.