Amazon ECS-Protokolle senden an CloudWatch - Amazon Elastic Container Service

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.

Amazon ECS-Protokolle senden an CloudWatch

Sie können die Container in Ihren Aufgaben so konfigurieren, dass Protokollinformationen an CloudWatch Logs gesendet werden. Wenn Sie Fargate für Ihre Aufgaben verwenden, können Sie die Protokolle von Ihren Containern anzeigen. Wenn Sie EC2 verwenden, können Sie verschiedene Protokolle Ihrer Container bequem an einem Ort aufrufen und es wird verhindert, dass Ihre Container-Protokolle Speicherplatz in Ihren Container-Instances belegen.

Anmerkung

Der Typ der Informationen, die von den Containern in Ihrer Aufgabe protokolliert werden, hängt sehr stark von ihrem ENTRYPOINT-Befehl ab. Standardmäßig zeigen die erfassten Protokolle die Befehlsausgabe an, die Sie normalerweise in einem interaktiven Terminal sehen würden, wenn Sie den Container lokal ausführen. Dabei handelt es sich um die STDOUT- und STDERR-E/A-Streams. Der awslogs Protokolltreiber leitet diese Protokolle einfach von Docker an CloudWatch Logs weiter. Weitere Informationen dazu, wie Docker-Protokolle verarbeitet werden, einschließlich alternativer Möglichkeiten zum Erfassen unterschiedlicher Dateidaten oder Streams, finden Sie unter Anzeigen von Protokollen für einen Container oder Service in der Docker-Dokumentation.

Informationen zum Senden von Systemprotokollen von Ihren Amazon ECS-Container-Instances an CloudWatch Logs finden Sie unter Überwachung von Protokolldateien und CloudWatch Protokollkontingenten im Amazon CloudWatch Logs-Benutzerhandbuch.

Fargate

Wenn Sie Fargate für Ihre Aufgaben verwenden, müssen Sie für die Aktivierung des awslogs-Protokolltreibers die erforderlichen logConfiguration-Parameter in Ihre Aufgabendefinition einfügen. Weitere Informationen finden Sie unter Beispiel für eine Amazon ECS-Aufgabendefinition: Protokolle weiterleiten an CloudWatch.

Führen Sie für Windows-Container in uf Fargate eine der folgenden Optionen aus, wenn einer Ihrer Aufgabendefinitions-Parameter Sonderzeichen wie & \ < > ^ | enthält:

  • Fügen Sie ein Escape-Zeichen (\) mit doppelten Anführungszeichen um die gesamte Parameterzeichenfolge.

    Beispiel

    "awslogs-multiline-pattern": "\"^[|DEBUG|INFO|WARNING|ERROR\"",
  • Fügen Sie ein Escape-Zeichen (^) vor und nach jedem Sonderzeichen hinzu.

    Beispiel

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

EC2

Wenn Sie EC2 für Ihre Aufgaben verwenden und den Protokolltreiber awslogs aktivieren möchten, benötigen Ihre Amazon-ECS-Container-Instances mindestens Version 1.9.0 des Container-Agenten. Informationen zum Überprüfen Ihrer Agenten-Version und zum Aktualisieren auf die neueste Version finden Sie unter Überprüfen des Amazon-ECS-Container-Agenten.

Anmerkung

Sie müssen entweder ein Amazon-ECS-optimiertes AMI oder ein benutzerdefiniertes AMI mit mindestens einer Version 1.9.0-1 des ecs-init Pakets verwenden. Wenn Sie ein benutzerdefiniertes AMI verwenden, müssen Sie angeben, dass der awslogs-Protokolltreiber auf der Amazon-EC2-Instance verfügbar ist, wenn Sie den Agenten starten, indem Sie die folgende Umgebungsvariable in Ihrer docker run-Anweisung oder Umgebungsvariablendatei verwenden.

ECS_AVAILABLE_LOGGING_DRIVERS=["json-file","awslogs"]

Ihre Amazon-ECS-Container-Instances benötigen auch eine logs:CreateLogStream- und logs:PutLogEvents-Berechtigung für die IAM-Rolle, mit der Sie Ihre Container-Instances starten. Wenn Sie die Amazon-ECS-Container-Instance-Rolle erstellt haben, bevor die Unterstützung des Protokolltreibers awslogs in Amazon ECS aktiviert war, müssen Sie diese Berechtigung eventuell hinzufügen. Die ecsTaskExecutionRole wird verwendet, wenn sie der Aufgabe zugewiesen ist und wahrscheinlich die richtigen Berechtigungen enthält. Weitere Informationen zur Aufgabenausführungsrolle finden Sie unter IAM-Rolle für die Amazon-ECS-Aufgabenausführung. Wenn Ihre Container-Instances die verwaltete IAM-Richtlinie für Container-Instances verwenden, verfügen sie wahrscheinlich über die korrekten Berechtigungen. Informationen zu der verwalteten IAM-Richtlinie für Container-Instances finden Sie unter IAM-Rolle für Amazon-ECS-Container-Instance.