Wie verwende ich CloudWatch, um Amazon ECS-Container-Protokolle zu überwachen?
Ich möchte Amazon CloudWatch verwenden, um die Container-Protokolle von Amazon Elastic Container Service (Amazon ECS) zu überwachen.
Behebung
Hinweis: Wenn du beim Ausführen von AWS Command Line Interface (AWS CLI)-Befehlen Fehlermeldungen erhältst, findest du weitere Informationen dazu unter Problembehandlung bei der AWS CLI. Stelle außerdem sicher, dass du die neueste Version der AWS CLI verwendest.
Konfigurieren des Protokolltreibers
Du kannst die Amazon ECS-Konsole oder den JSON-Editor verwenden, um den Protokolltreiber zu konfigurieren.
Verwende die Amazon ECS-Konsole
Führe die folgenden Schritte aus:
- Öffne die Amazon-ECS-Konsole.
- Wähle im Navigationsbereich Aufgabendefinitionen und dann Neue Aufgabendefinition erstellen aus.
Hinweis: Um eine vorhandene Aufgabendefinition zu aktualisieren, wähle die Aufgabendefinition aus und klicke dann auf Neue Revision erstellen. - Gib auf der Seite Neue Aufgabendefinition erstellen im Abschnitt Aufgabendefinitionskonfiguration den Familiennamen der Aufgabendefinition ein.
- Wähle im Abschnitt Infrastrukturanforderungen deinen Starttyp aus.
- Wähle im Abschnitt Container für Protokollierung die Option Protokollerfassung verwenden aus.
- Behalte für die folgenden Schlüssel die Standardwerte bei. Wenn das Feld leer ist, gib einen Wert ein:
awslogs-group
awslogs-region
awslogs-stream-prefix
Hinweis: Wenn die Protokollgruppe nicht existiert, setze den Parameter awslogs-create-group aufWahr. - Stelle sicher, dass die AWS Identity and Access Management (IAM, Identitäts- und Zugriffsmanagement)-Rollenberechtigungen für die Aufgabenausführung die Aktion CreateLogGroup enthalten.
- Wähle Erstellen.
Verwendung des JSON-Editors
Um den Parameter logConfiguration in der ECS-Aufgabendefinition zu definieren, gib die ECS-Aufgabendefinitionsvorlage in den JSON-Editor der Konsole ein.
Beispielkonfiguration:
"logConfiguration": "logDriver": "awslogs", "options": { "awslogs-group": "/ecs/my-log-group", "awslogs-region": "region-code", "awslogs-stream-prefix": "ecs" } }
Hinweis: Ersetze my-log-group durch deinen Protokollgruppennamen.
Weitere Informationen findest du unter Amazon ECS-Aufgabendefinition: Protokolle an CloudWatch weiterleiten und Amazon ECS-Protokolle an CloudWatch senden.
Weitere Informationen zu Protokolloptionen findest du unter Amazon CloudWatch Logs options (Amazon CloudWatch Logs-Optionen) auf der Docker-Website.
Überwachung und Problembehandlung bei Container-Protokollen
Analyse der Container-Protokolle
Gehe wie folgt vor, um CloudWatch Logs Insights zum Abfragen der Protokolle zu verwenden:
-
Öffne die CloudWatch-Konsole.
-
Wähle im Navigationsbereich Protokolle aus.
-
Wähle Logs Insights.
-
Wähle deine Protokollgruppe aus.
-
Gib deine Abfrage ein.
-
Wähle Abfrage ausführen aus.
-
Suche nach Fehlerschlüsselwörtern, um Anwendungsprobleme zu beheben. Wenn die Anwendungsprotokolle Antwortzeiten enthalten, analysiere die langsamen Anforderungen.
Beispielabfragen:
fields @timestamp, @message | filter @message like /error/ | sort @timestamp desc fields @timestamp, @message, response_time | filter response_time > 2000 | sort response_time desc
Weitere Informationen findest du unter Analyse von Protokolldaten mit CloudWatch Logs Insights.
Alarme erstellen
Führe die folgenden Schritte aus:
Fehler beheben
Informationen zur Behebung der Fehler OutOfMemory oder ConnectionTimeout findest du unter Wie behebe ich eine hohe CPU-Auslastung bei einer Amazon ECS-Aufgabe auf Fargate?
Informationen zur Behebung einer hohen Anzahl von 5xx HTTP-Statuscodes findest du unter HTTP 500: Interner Server-Fehler.
Mit AWS-Services integrieren
Verwende Abonnements, um Zugriff auf einen Echtzeit-Feed mit Protokollereignissen von CloudWatch Logs zu erhalten. CloudWatch übermittelt Protokollereignisse an Services wie einen Amazon Kinesis-Stream oder AWS Lambda zur Verarbeitung, Analyse oder zum Laden auf andere Systeme.
Kontrolle der Kosten von CloudWatch Logs
Aufbewahrungsrichtlinien ändern
Es hat sich bewährt, kürzere Aufbewahrungsfristen für Entwicklungsumgebungen zu verwenden und Protokolle für Produktionsumgebungen länger beizubehalten.
Du kannst einen Aufbewahrungszeitraum zwischen 1 Tag und 10 Jahren wählen oder Protokolle auf unbestimmte Zeit beibehalten. Um unnötige Kosten zu vermeiden, überprüfe deine Aufbewahrungseinstellungen, um sicherzustellen, dass du Protokolle nicht länger als erforderlich aufbewahrst.
Gehe wie folgt vor, um Aufbewahrungsrichtlinien festzulegen:
- Öffne die CloudWatch-Konsole.
- Wähle im Navigationsbereich Protokolle aus.
- Wähle Protokollgruppen aus.
- Wähle deine Protokollgruppe aus.
- Wähle Aktionen und dann Einstellung für die Aufbewahrung bearbeiten aus.
- Wähle einen Aufbewahrungszeitraum aus. Wähle beispielsweise 1 Woche, 1 Monat oder einen benutzerdefinierten Wert.
- Wähle Speichern aus.
Oder führe den folgenden AWS-CLI-Befehl put-retention-policy aus:
aws logs put-retention-policy --log-group-name "/ecs/production-web-app" --retention-in-days retention-period>
Hinweis: Ersetze log-group-name durch deinen Protokollgruppennamen und retention-period durch deinen Aufbewahrungszeitraum.
Analyse der Protokollmetriken
Um die Kosten zu reduzieren und zu optimieren, verwende AWS Cost Explorer, um die Kosten zu analysieren, die jeder Protokollgruppe zugeordnet sind.
Protokolle exportieren und archivieren
Verschiebe Protokolle in den Amazon Simple Storage Service (Amazon S3) oder in eine Archivlösung, um sie langfristig zu geringeren Kosten zu speichern. Um Protokolle nach Amazon S3 zu exportieren, verwende die CloudWatch-Konsole oder führe den Befehl create-export-task aus:
aws logs create-export-task --log-group-name "/ecs/production-web-app" \--from start-timestamp --to end-timestamp --destination "s3-log-archive"
Hinweis: Ersetze log-group-name durch deinen Protokollgruppennamen, start-timestamp durch deine Startzeit und end-timestamp durch deine Endzeit.
Implementieren der Amazon S3-Lebenszyklusrichtlinien
Übermäßiges Protokollieren vermeiden
Konfiguriere die Anwendung so, dass nur relevante Protokolle gesendet werden. Weitere Informationen findest du unter Bewährte Methoden zur Protokollierung.
Ähnliche Informationen
Protokollierung und Überwachung in Amazon Elastic Container Service
- Themen
- Containers
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor einem Jahr
AWS OFFICIALAktualisiert vor 10 Monaten