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 den Starttyp Fargate für Ihre Aufgaben verwenden, können Sie die Protokolle von Ihren Container einsehen. Wenn Sie den EC2-Starttyp verwenden, können Sie verschiedene Protokolle Ihrer Container bequem an einem Ort aufrufen und es wird verhindert, dass Ihre Containerprotokolle 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 Starttyp

Wenn Sie den Starttyp Fargate für Ihre Aufgaben verwenden, müssen Sie für die Aktivierung des logConfiguration-Protokolltreibers nur die erforderlichen awslogs-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 auf Fargate eine der folgenden Optionen aus, wenn einer Ihrer Aufgabendefinitionsparameter Sonderzeichen wie, & \ < > ^ | enthält:

  • Fügen Sie ein Escapezeichen (\) mit doppelten Anführungszeichen um die gesamte Parameterzeichenfolge ein

    Beispiel

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

    Beispiel

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

EC2-Starttyp

Wenn Sie den Starttyp 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 Protokollierungstreiber auf der Amazon EC2 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. Informationen zur Rolle „Aufgabenausführung“ finden Sie unterIAM-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 zur verwalteten IAM-Richtlinie für Container-Instances finden Sie unterIAM-Rolle für Amazon-ECS-Container-Instance.