ECSAmazon-Logs 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.

ECSAmazon-Logs senden an CloudWatch

Sie können die Container in Ihren Aufgaben so konfigurieren, dass sie Protokollinformationen an CloudWatch Protokolle senden. Wenn Sie den Starttyp Fargate für Ihre Aufgaben verwenden, können Sie die Protokolle von Ihren Container einsehen. Wenn Sie den EC2 Launchtyp 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 übergibt diese Protokolle einfach von Docker an CloudWatch Logs. 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 ECS Amazon-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 ECS Amazon-Aufgabendefinition: Logs 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

    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",

EC2Starttyp

Wenn Sie den EC2 Launchtyp für Ihre Aufgaben verwenden und den awslogs Protokolltreiber aktivieren möchten, benötigen Ihre ECS Amazon-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 Aktualisieren des ECS Amazon-Container-Agenten.

Anmerkung

Sie müssen entweder ein für Amazon ECS optimiertes AMI oder ein benutzerdefiniertes Paket AMI mit mindestens einer Version 1.9.0-1 des ecs-init Pakets verwenden. Wenn Sie einen benutzerdefinierten Treiber verwendenAMI, müssen Sie angeben, dass der awslogs Protokollierungstreiber auf der EC2 Amazon-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 ECS Amazon-Container-Instances benötigen außerdem eine logs:CreateLogStream logs:PutLogEvents Genehmigung für die IAM Rolle, mit der Sie Ihre Container-Instances starten können. Wenn Sie die ECS Amazon-Container-Instance-Rolle erstellt haben, bevor die Unterstützung von awslogs Protokolltreibern in Amazon aktiviert warECS, 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 Aufgabenausführungsrolle finden Sie unterRolle bei der Ausführung von ECS IAM Amazon-Aufgaben. 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 unterECSIAMAmazon-Container-Instance-Rolle.