Warum werden meine Amazon-ECS-Container-Protokolle nicht an CloudWatch Logs übermittelt?
Lesedauer: 2 Minute
0
Meine Amazon Elastic Container Service (Amazon ECS)-Container-Protokolle werden nicht wie erwartet in Amazon CloudWatch Logs angezeigt.
Lösung
Den awslogs-Protokolltreiber ändern
Füge den logConfiguration-Parameter zum awslogs-Protokolltreiber in der Aufgabendefinition ein. Für Amazon ECS-Aufgaben mit mehreren Containern konfiguriere den logConfiguration-Parameter für jeden Container.
Wenn die Container-Instance das Amazon ECS-optimierte Amazon Machine Image (AMI) nicht verwendet, führe die folgende Umgebungsvariable aus, um den Container-Agent zu starten:
Amazon EC2-Startaufgaben mit IAM-Rolle zur Aufgabenausführung
Aktualisiere für die Container-Agent-Konfiguration den Parameter ECS_ENABLE_AWSLOGS_EXECUTIONROLE_OVERRIDE auf richtig.
Hinweis: Der Standardwert für den Container-Agent-Parameter ist auf Amazon ECS-optimierten AMIs mit Version 1.16.0-1 oder höher wahr und unter Windows falsch.
Die Konfiguration auf Protokollebene des Containers überprüfen
Der awslogs-Protokolltreiber übergibt die STDOUT- und STDERR I/O-Streams, von Docker an CloudWatch-Protokolle.
Um die Protokolle zu konfigurieren, aktualisiere die Anwendung, um die Protokolle an STDOUT- und STDERR I/O-Streams zu senden. Konfiguriere dann während des Container-Builds die Protokollebene der Anwendung über eine Umgebungsvariable oder eine Konfigurationsdatei.