Direkt zum Inhalt

Wie verwende ich das ECS-Protokollsammler-Skript, um Protokolle von meiner Amazon ECS-Container-Instance zu sammeln?

Lesedauer: 2 Minute
0

Ich möchte Protokolle von meinem Amazon Elastic Container Service (Amazon ECS) sammeln, um Fehler in meiner Umgebung zu beheben.

Kurzbeschreibung

Verwende das Amazon ECS-Protokollsammler-Skript, um allgemeine Betriebssystemprotokolle (OS ), Docker-Protokolle und Amazon ECS-Container-Agent-Protokolle zu sammeln. Das Skript komprimiert und archiviert die Protokolle in einer einzigen Datei, die du gemeinsam nutzen kannst, um ein Problem zu beheben.

Du kannst auch das AWSSupport-CollectecsInstanceLogs AWS Systems Manager-Runbook verwenden, um Protokolle von der ECS-Instance zu sammeln und die Protokolle in einen Amazon Simple Storage Service (Amazon S3)-Bucket hochzuladen. Gib im Eingabeparameter LogDestination den Standort des Amazon S3-Buckets an.

Hinweis: AWSSupport-CollectEcsInstanceLogs unterstützt den Debug-Modus nicht. Weitere Informationen findest du unter Ausführen einer automatisierten Operation, die von Systems Manager Automation unterstützt wird.

Lösung

Den Amazon ECS-Protokollsammler herunterladen und ihn ausführen

Anweisungen zum Herstellen einer Verbindung zu der Container-Instance findest du unter Mit SSH eine Verbindung zu der Container-Instance herstellen. Anweisungen zum Herunterladen und Ausführen des Protokollsammlers für Linux und Windows findest du unter Sammeln von Container-Protokollen mit Amazon ECS-Protokollsammler.

Für Linux musst du curl verwenden. Um zu bestätigen, dass du curl installiert hast, führe den folgenden Befehl aus:

curl --version

Die Befehlsausgabe ähnelt dem folgenden Beispiel:

curl 7.47.0 (x86_64-pc-linux-gnu) libcurl/7.47.0 GnuTLS/3.4.10 zlib/1.2.8 libidn/1.32 librtmp/2.3

Hinweis: Wenn der Befehl nicht die erwarteten Ergebnisse zurückgibt, installiere das curl-Paket.

Nachdem du das Skript ausgeführt hast, kannst du die gesammelten Protokolle in dem Ordner Sammeln überprüfen, den das Skript erstellt hat. Für Linux ist das komprimierte Archiv aller Protokolle collect-i-ffffffffffffffffffff-YYYYMMDDHHmm.tgz. Für Windows ist es die Datei collect.tgz.

Den Amazon ECS-Protokollsammler im Debug-Modus ausführen

Im Debug-Modus kannst du komplexe Probleme in der ECS-Umgebung beheben, die mit Standardprotokolldetails möglicherweise nicht möglich sind.

Um die Debug-Protokollierung für den Docker-Daemon und den Amazon ECS-Container-Agenten zu aktivieren, verwende --mode=enable-debug für Linux und -RunMode debug für Windows.

Hinweis: Das Skript startet den Docker-Daemon und den Amazon ECS-Agenten neu und beendet alle Container, die auf der Instance ausgeführt werden. Bevor du den folgenden Befehl ausführst, leere die Container-Instance und verschiebe wichtige Aufgaben auf andere Container-Instances.

Linux

Der Debug-Modus funktioniert nur auf Amazon Linux OS- und Systemd-init-basierten Systemen.

Wenn du das Skript ausführst, führe den folgenden Befehl aus:

[ec2-user ~]$ sudo bash ./ecs-logs-collector.sh --mode=enable-debug

Windows

Wenn du das Skript ausführst, verwende Windows PowerShell mit Administratorberechtigungen, um den folgenden Befehl auszuführen:

.\ecs-logs-collector.ps1 -RunMode debug