REL 6: Was ist bei der Überwachung von Workload-Ressourcen zu beachten?
Protokolle und Metriken sind wertvolle Tools, um einen Einblick in den Zustand Ihrer Workloads zu gewinnen. Sie können Ihre Workload so konfigurieren, dass Protokolle und Metriken überwacht und bei Über- oder Unterschreiten von Schwellenwerten oder wichtigen Ereignissen Benachrichtigungen gesendet werden. Dank der Überwachung kann die Workload erkennen, wenn Schwellenwerte für eine niedrige Leistung unterschritten werden oder Ausfälle auftreten, sodass als Reaktion drauf eine automatische Wiederherstellung erfolgen kann.
Ressourcen
Using Amazon CloudWatch Metrics
Publishing Custom Metrics
Using Amazon CloudWatch Dashboards
Using Canaries (Amazon CloudWatch Synthetics)
Amazon CloudWatch Logs Insights Sample Queries
AWS Systems Manager Automation
What is AWS X-Ray?
Debugging with Amazon CloudWatch Synthetics and AWS X-Ray
The Amazon Builders' Library: Instrumenting distributed systems for operational visibility
Bewährte Methoden:
-
Überwachen aller Komponenten der Workload (Generierung): Überwachen Sie die Komponenten der Workload mit Amazon CloudWatch oder Tools von Drittanbietern. AWS-Services können Sie mit dem Personal Health Dashboard überwachen.
-
Definieren und Berechnen von Metriken (Aggregierung): Speichern Sie Protokolldaten und wenden Sie gegebenenfalls Filter an, um Metriken zu berechnen. Dazu gehören z. B. die Anzahl eines bestimmten Protokollereignisses oder die Latenz, die aus den Zeitstempeln des Protokollereignisses berechnet wird.
-
Senden von Benachrichtigungen (Verarbeitung und Benachrichtigung in Echtzeit): Sorgen Sie dafür, dass bei wichtigen Ereignissen die entsprechenden Organisationen benachrichtigt werden.
-
Automatisieren von Antworten (Verarbeitung und Benachrichtigung in Echtzeit): Automatisieren Sie bei Erkennung von Ereignissen die erforderlichen Maßnahmen, wie etwa den Austausch fehlerhafter Komponenten.
-
Speicher und Analysen: Erfassen Sie Protokolldateien und Metrikverläufe und analysieren Sie diese, um allgemeine Trends zur erkennen und Workload-Einblicke zu erhalten.
-
Durchführen regelmäßiger Prüfungen: Prüfen Sie regelmäßig, wie die Workload-Überwachung implementiert ist, und aktualisieren Sie sie auf Grundlage wichtiger Ereignissen und Änderungen.
-
Überwachen der gesamten Nachverfolgung von Anfragen im System: Verwenden Sie AWS X-Ray oder Tools von Drittanbietern, damit Entwickler verteilte Systeme einfacher analysieren und debuggen können, um Einblicke in die Leistung der Anwendungen und der zugrunde liegenden Services zu erhalten.
Verbesserungsplan
Überwachen aller Komponenten der Workload (Generierung)
- Definieren Sie alle von Ihnen verwendeten AWS-Services.
- Aktivieren Sie die Protokollierung für alle Services.: AWS bietet für viele Services Protokollfunktionen. Wenn der Service keine Protokollierung
auf der von Ihnen gewünschten Ebene bietet, können Sie diese über Ihre Workloads konfigurieren.
- Aktivieren Sie die Protokollierung für Amazon S3.
Amazon S3 Server Access Logging - Aktivieren Sie die Protokollierung von Elastic Load Balancing.
Access logs for your application load balancer
Access Logs for Your Network Load Balancer
Enable Access Logs for Your Classic Load Balancer - Aktivieren Sie VPC Flow Logs.
VPC Flow Logs - Aktivieren Sie CloudTrail-Protokolle.
Creating a trail - Streamen Sie mit Amazon CloudWatch Agent Protokolldaten von den Instances zu CloudWatch
Logs.
Install the CloudWatch agent on an Amazon EC2 instance - Streamen Sie Protokolldaten mit dem awslogs-Protokolltreiber und Amazon ECS zu CloudWatch
Logs.
Using CloudWatch Logs with container instances - AWS Lambda streamt Protokolldaten automatisch zu CloudWatch Logs.
Accessing Amazon CloudWatch Logs for AWS Lambda
- Aktivieren Sie die Protokollierung für Amazon S3.
AWS Services That Publish CloudWatch Metrics
- Metriken können individuell oder aggregiert ausgewertet werden.
- Sehen Sie sich die erfassten Metriken in der CloudWatch-Konsole genauer an.
- Schlagen Sie in der Dokumentation nach, welche Metriken und Dimensionen erfasst werden.
Amazon CloudWatch Logs Insights Sample Queries
Publish custom metrics
- Informationen zur Speichernutzung oder Festplattenauslastung erhalten Sie mit CloudWatch
Agent und der PutMetricData-API.
Monitoring memory and disk metrics for Amazon EC2 linux instances
- Verwenden Sie für gängige Protokolldateien CloudWatch Logs.
- CloudWatch Logs eignet sich zum Aggregieren der gängigsten Protokolldateien.
What are Amazon CloudWatch Logs?
- CloudWatch Logs eignet sich zum Aggregieren der gängigsten Protokolldateien.
- Speichern Sie alle Protokolle in Amazon S3 oder zur langfristigeren Aufbewahrung in
Amazon S3 Glacier.
- Sie können CloudWatch Logs-Protokolle in Amazon S3 exportieren. CloudTrail- und Elastic
Load Balancing-Protokolle werden an Amazon S3 gesendet.
Exporting log data to Amazon S3
- Sie können CloudWatch Logs-Protokolle in Amazon S3 exportieren. CloudTrail- und Elastic
Load Balancing-Protokolle werden an Amazon S3 gesendet.
Definieren und Berechnen von Metriken (Aggregierung)
- Metrikfilter definieren die Begriffe und Muster, nach denen in Protokolldaten gesucht
werden soll, wenn sie an CloudWatch Logs gesendet werden. Mithilfe dieser Metrikfilter
verwandelt CloudWatch Logs Protokolldaten in numerische CloudWatch-Metriken um, die
Sie grafisch darstellen oder für die Sie einen Alarm festlegen können.
Searching and Filtering Log Data - Verwenden Sie zum Aggregieren von Protokollen das vertrauenswürdige Tool eines Drittanbieters.
- Befolgen Sie die Anweisungen des Drittanbieters. Die meisten Produkte von Drittanbietern lassen sich in CloudWatch und Amazon S3 integrieren.
- Einige AWS-Services können Protokolle direkt in Amazon S3 veröffentlichen. So können
Sie, wenn Sie Protokolle vor allem in Amazon S3 speichern müssen, den Service, der
die Protokolle produziert, diese direkt an Amazon S3 senden lassen, ohne dass eine
zusätzliche Infrastruktur eingerichtet wird.
Sending Logs Directly to Amazon S3
Senden von Benachrichtigungen (Verarbeitung und Benachrichtigung in Echtzeit)
- Amazon CloudWatch-Dashboards sind individuell anpassbare Startseiten in der CloudWatch-Konsole.
Damit können Sie Ihre Ressourcen in einer einzigen Ansicht überwachen, selbst wenn
sie über verschiedene Regionen verteilt sind.
Using Amazon CloudWatch Dashboards - Erstellen Sie einen Alarm, der ausgelöst wird, wenn die Metrik ein Limit überschreitet.
Using Amazon CloudWatch Alarms
Automatisieren von Antworten (Verarbeitung und Benachrichtigung in Echtzeit)
AWS Systems Manager Automation
- Erstellen und verwenden Sie Dokumente von Systems Manager Automation. Darin sind die
Maßnahmen definiert, die Systems Manager in den verwalteten Instances und anderen
AWS-Ressourcen durchführt, wenn ein Automatisierungslauf ausgeführt wird.
Working with Automation Documents (Playbooks)
Creating an EventBridge Rule That Triggers on an Event from an AWS Resource
- Inventarisieren Sie alle Verfahren zur Reaktion auf Warnungen.: Sie müssen die Reaktionen auf Warnungen planen, bevor Sie die Aufgaben nach Rang einstufen.
- Inventarisieren Sie alle Aufgaben mit spezifischen Maßnahmen, die durchgeführt werden müssen.: Die meisten dieser Maßnahmen sind in Runbooks dokumentiert. Sie müssen außerdem über Playbooks für Warnungen zu unerwarteten Ereignissen verfügen.
- Suchen Sie in den Runbooks und Playbooks nach allen automatisierbaren Maßnahmen.: Wenn eine Maßnahme definiert werden kann, lässt sie sich in der Regel auch automatisieren.
- Ordnen Sie zunächst die fehleranfälligen oder zeitaufwändigen Aktivitäten in einer Rangfolge ein.: Es ist äußerst nützlich, Fehlerquellen zu entfernen und die Zeit bis zur Lösung zu verkürzen.
- Erstellen Sie einen Plan, um die Automatisierung abzuschließen.: Verwalten Sie einen aktiven Plan zur Automatisierung und aktualisieren Sie die Automatisierung.
- Untersuchen Sie die manuellen Anforderungen auf Automatisierungsmöglichkeiten.: Hinterfragen Sie Ihren manuellen Prozess und suchen Sie nach Automatisierungsmöglichkeiten.
Speicher und Analysen
Analyzing Log Data with CloudWatch Logs Insights
Amazon CloudWatch Logs Insights Sample Queries
How do I analyze my Amazon S3 server access logs using Athena?
- Erstellen Sie eine S3-Lebenszyklusrichtlinie für den Bucket mit den Serverzugriffsprotokollen.
Konfigurieren Sie die Richtlinie so, dass Protokolldateien regelmäßig entfernt werden.
Dadurch reduziert sich die Datenmenge, die Athena bei den einzelnen Abfragen analysiert.
How Do I Create a Lifecycle Policy for an S3 Bucket?
Durchführen regelmäßiger Prüfungen
Using Amazon CloudWatch Dashboards
- Aufspüren von Trends in den Metriken: Vergleichen Sie die Metrikwerte mit Werten aus der Vergangenheit, um Trends zu erkennen, die darauf hinweisen könnten, dass etwas untersucht werden muss. Beispiele hierfür: ansteigende Latenz, Nachlassen der primären Geschäftsfunktion und zunehmende Anzahl von Reaktionen auf Fehler
- Aufspüren von Ausreißern/Anomalien in den Metriken: Ausreißer sind anhand von Durchschnitts- oder Mittelwerten nicht unbedingt erkennbar. Sehen Sie sich die höchsten und niedrigsten Werte in einem bestimmten Zeitraum an und untersuchen Sie die Ursachen für die extremen Werte. Beseitigen Sie nach und nach die Ursachen und legen Sie dabei einen engeren Maßstab für die Definition von Extremwerten an. So können Sie die Beständigkeit der Workload-Leistung weiter erhöhen.
- Aufspüren von plötzlichen Änderungen im Verhalten: Eine plötzliche Veränderung in der Menge oder Richtung einer Metrik kann auf eine Änderung in der Anwendung hindeuten. Sie kann aber auch ein Hinweis auf externe Faktoren sein, für deren Verfolgung sie möglicherweise weitere Metriken hinzufügen müssen.
Überwachen der gesamten Nachverfolgung von Anfragen im System
What is AWS X-Ray?
Debugging with Amazon CloudWatch Synthetics and AWS X-Ray