Speicherorte von Amazon-ECS-Protokolldateien - 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.

Speicherorte von Amazon-ECS-Protokolldateien

Amazon ECS speichert Protokolle im Ordner /var/log/ecs Ihrer Container-Instances. Es sind Protokolle vom Amazon-ECS-Container-Agenten und vom ecs-init-Service verfügbar, der den Status des Agenten (Start/Stopp) auf der Container-Instance kontrolliert. Sie können diese Protokolldateien anzeigen, indem Sie sich mithilfe von SSH mit der Container-Instance verbinden.

Anmerkung

Wenn Sie nicht sicher sind, wie Sie alle verschiedenen Protokolle auf Ihren Container-Instances sammeln können, können Sie den Amazon-ECS-Protokollsammler verwenden. Weitere Informationen finden Sie unter Collector für Amazon-ECS-Protokolle.

Amazon-ECS-Container-Agent-Protokoll

Der Amazon-ECS-Container-Agent speichert Protokolle auf Ihren Container-Instances.

Bei Container-Agent-Version 1.36.0 und höher befinden sich die Protokolle standardmäßig unter /var/log/ecs/ecs-agent.log auf Linux-Instances und unter C:\ProgramData\Amazon\ECS\log\ecs-agent.log auf Windows-Instances.

Bei Container-Agent-Version 1.35.0 und früher befinden sich die Protokolle standardmäßig unter /var/log/ecs/ecs-agent.log.timestamp auf Linux-Instances und unter C:\ProgramData\Amazon\ECS\log\ecs-agent.log.timestamp auf Windows-Instances.

Standardmäßig werden die Agent-Protokolle stündlich rotiert, wobei maximal 24 Protokolle gespeichert werden.

Im Folgenden finden Sie die Konfigurationsvariablen des Container-Agenten, die verwendet werden können, um das standardmäßige Agenten-Protokollierungsverhalten zu ändern. Weitere Informationen finden Sie unter Konfiguration des Amazon-ECS-Container-Agenten.

ECS_LOGFILE

Beispielwerte: /ecs-agent.log

Standardwert unter Linux: Null

Standardwert unter Windows: Null

Bestimmt den Speicherort, an dem Agenten-Protokolle geschrieben werden sollen. Wenn Sie den Agenten über ausführenecs-init, was die Standardmethode bei Verwendung des Amazon-ECS-optimierten AMI ist, lautet der In-Container-Pfad /logund ecs-init mountet diesen an /var/log/ecs/ auf dem Host.

ECS_LOGLEVEL

Beispielwerte: crit, error, warn, info, debug

Standardwert unter Linux: info

Standardwert unter Windows: info

Die zu protokollierende Detailebene.

ECS_LOGLEVEL_ON_INSTANCE

Beispielwerte: none, crit, error, warn, info, debug

Standardwert unter Linux: none, wenn ECS_LOG_DRIVER explizit auf einen nicht leeren Wert gesetzt wird, andernfalls der gleiche Wert wie ECS_LOGLEVEL

Standardwert unter Windows: none, wenn ECS_LOG_DRIVER explizit auf einen nicht leeren Wert gesetzt wird, andernfalls der gleiche Wert wie ECS_LOGLEVEL

Kann verwendet werden, um ECS_LOGLEVEL zu überschreiben und um eine Detailebene festzulegen, die in der On-Instance-Protokolldatei protokolliert werden soll, unabhängig von der Ebene, die im Protokollierungstreiber protokolliert wird. Wenn ein Protokolltreiber explizit festgelegt ist, werden On-Instance-Protokolle standardmäßig deaktiviert. Sie können mit dieser Variablen wieder aktiviert werden.

ECS_LOG_DRIVER

Beispielwerte: awslogs, fluentd, gelf, json-file, journald, logentries syslog, splunk

Standardwert unter Linux: json-file

Der Standardwert unter Windows: Nicht zutreffend

Bestimmt den Protokolltreiber, den der Agent-Container verwendet.

ECS_LOG_ROLLOVER_TYPE

Beispielwerte: size, hourly

Standardwert unter Linux: hourly

Standardwert unter Windows: hourly

Bestimmt, ob die Protokolldatei des Container-Agenten stündlich oder basierend auf der Größe rotiert wird. Standardmäßig wird die Agent-Protokolldatei stündlich rotiert.

ECS_LOG_OUTPUT_FORMAT

Beispielwerte: logfmt, json

Standardwert unter Linux: logfmt

Standardwert unter Windows: logfmt

Bestimmt das Protokollausgabeformat. Wenn das json Format verwendet wird, ist jede Zeile im Protokoll eine strukturierte JSON-Zuweisung.

ECS_LOG_MAX_FILE_SIZE_MB

Beispielwerte: 10

Standardwert unter Linux: 10

Standardwert unter Windows: 10

Wenn die ECS_LOG_ROLLOVER_TYPE Variable auf festgelegt istsize, bestimmt diese Variable die maximale Größe der Protokolldatei (in MB), bevor sie gedreht wird. Wenn der Rollover-Typ auf hourly festgelegt ist, wird diese Variable ignoriert.

ECS_LOG_MAX_ROLL_COUNT

Beispielwerte: 24

Standardwert unter Linux: 24

Standardwert unter Windows: 24

Bestimmt die Anzahl der rotierten Protokolldateien, die beibehalten werden sollen. Ältere Protokolldateien werden gelöscht, nachdem diese Grenze erreicht ist.

Für Container-Agent Version 1.36.0 und höher folgt eine Beispielprotokolldatei für die Verwendung des logfmt-Formats.

level=info time=2019-12-12T23:43:29Z msg="Loading configuration" module=agent.go level=info time=2019-12-12T23:43:29Z msg="Image excluded from cleanup: amazon/amazon-ecs-agent:latest" module=parse.go level=info time=2019-12-12T23:43:29Z msg="Image excluded from cleanup: amazon/amazon-ecs-pause:0.1.0" module=parse.go level=info time=2019-12-12T23:43:29Z msg="Amazon ECS agent Version: 1.36.0, Commit: ca640387" module=agent.go level=info time=2019-12-12T23:43:29Z msg="Creating root ecs cgroup: /ecs" module=init_linux.go level=info time=2019-12-12T23:43:29Z msg="Creating cgroup /ecs" module=cgroup_controller_linux.go level=info time=2019-12-12T23:43:29Z msg="Loading state!" module=statemanager.go level=info time=2019-12-12T23:43:29Z msg="Event stream ContainerChange start listening..." module=eventstream.go level=info time=2019-12-12T23:43:29Z msg="Restored cluster 'auto-robc'" module=agent.go level=info time=2019-12-12T23:43:29Z msg="Restored from checkpoint file. I am running as 'arn:aws:ecs:us-west-2:0123456789:container-instance/auto-robc/3330a8a91d15464ea30662d5840164cd' in cluster 'auto-robc'" module=agent.go

Im Folgenden finden Sie eine Beispielprotokolldatei für die Verwendung des JSON-Formats.

{"time": "2019-11-07T22:52:02Z", "level": "info", "msg": "Starting Amazon Elastic Container Service Agent", "module": "engine.go"}

Für Container-Agent-Versionen 1.35.0 und früher gilt das folgende Format der Protokolldatei.

2016-08-15T15:54:41Z [INFO] Starting Agent: Amazon ECS Agent - v1.12.0 (895f3c1) 2016-08-15T15:54:41Z [INFO] Loading configuration 2016-08-15T15:54:41Z [WARN] Invalid value for task cleanup duration, will be overridden to 3h0m0s, parsed value 0, minimum threshold 1m0s 2016-08-15T15:54:41Z [INFO] Checkpointing is enabled. Attempting to load state 2016-08-15T15:54:41Z [INFO] Loading state! module="statemanager" 2016-08-15T15:54:41Z [INFO] Detected Docker versions [1.17 1.18 1.19 1.20 1.21 1.22] 2016-08-15T15:54:41Z [INFO] Registering Instance with ECS 2016-08-15T15:54:41Z [INFO] Registered! module="api client"

Amazon ECS ecs-init-Protokoll

Der Prozess ecs-init speichert Protokolle unter /var/log/ecs/ecs-init.log.

Sie können den folgenden Befehl verwenden, um die Protokolldateien anzuzeigen.

cat /var/log/ecs/ecs-init.log

Ausgabe:

2018-02-16T18:13:54Z [INFO] pre-start 2018-02-16T18:13:56Z [INFO] start 2018-02-16T18:13:56Z [INFO] No existing agent container to remove. 2018-02-16T18:13:56Z [INFO] Starting Amazon Elastic Container Service Agent

Prüfprotokoll für IAM-Rollen für Aufgaben-Anmeldeinformationen

Wenn der Anmeldeinformationsanbieter für die IAM-Rolle verwendet wird, um Anmeldeinformationen für Aufgaben bereitzustellen, werden diese Anfragen in einem Überwachungsprotokoll gespeichert. Das Überwachungsprotokoll übernimmt dieselben Protokollrotationseinstellungen wie das Container-Agent-Protokoll. Die Konfigurationsvariablen ECS_LOG_ROLLOVER_TYPE, ECS_LOG_MAX_FILE_SIZE_MB und ECS_LOG_MAX_ROLL_COUNT des Container-Agenten können so eingestellt werden, dass sie das Verhalten des Überwachungsprotokolls beeinflussen. Weitere Informationen finden Sie unter Amazon-ECS-Container-Agent-Protokoll.

Für Container-Agent Version 1.36.0 und höher befindet sich das Überwachungsprotokoll unter /var/log/ecs/audit.log. Wenn das Protokoll rotiert wird, wird am Ende des Protokolldateinamens ein Zeitstempel im YYYY-MM-DD-HH-Format hinzugefügt.

Für Container-Agent Version 1.35.0 und früher befindet sich das Überwachungsprotokoll unter /var/log/ecs/audit.log.YYYY-MM-DD-HH.

Das Format des Protokolleintrags ist wie folgt:

  • Zeitstempel

  • HTTP-Antwortcode

  • IP-Adresse und Portnummer von Abfrageursprung

  • Relative URI des Anmeldeinformationsanbieters

  • Der Benutzeragent, der die Abfrage gesendet hat

  • Der ARN der Aufgabe, zu dem der abfragende Container gehört

  • Der GetCredentials-API-Name und Versionsnummer

  • Der Name des Amazon-ECS-Clusters, für den die Container-Instance registriert ist

  • Der ARN der Container-Instance

Ein Beispielprotokolleintrag wird unten gezeigt:

Sie können den folgenden Befehl verwenden, um die Protokolldateien anzuzeigen.

cat /var/log/ecs/audit.log.2016-07-13-16

Ausgabe:

2016-07-13T16:11:53Z 200 172.17.0.5:52444 "/v1/credentials" "python-requests/2.7.0 CPython/2.7.6 Linux/4.4.14-24.50.amzn1.x86_64" TASK_ARN GetCredentials 1 CLUSTER_NAME CONTAINER_INSTANCE_ARN