REL06-BP02 Definieren und Berechnen von Metriken (Aggregierung) - Säule der Zuverlässigkeit

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.

REL06-BP02 Definieren und Berechnen von Metriken (Aggregierung)

Erfassen Sie Metriken und Protokolle aus Ihren Workload-Komponenten und berechnen Sie daraus relevante aggregierte Metriken. Diese Metriken bieten einen umfassenden und umfassenden Überblick über Ihre Workloads und können Ihre Resilienzlage erheblich verbessern.

Beobachtbarkeit bedeutet mehr als nur das Erfassen von Metriken aus Workload-Komponenten und die Möglichkeit, diese einzusehen und entsprechende Warnmeldungen zu erstellen. Es geht vielmehr darum, ein ganzheitliches Verständnis des Verhaltens Ihrer Workloads zu erhalten. Diese Verhaltensinformationen stammen aus allen Komponenten Ihrer Workloads, einschließlich der Cloud-Services, von denen sie abhängen, gut ausgearbeiteten Protokolle und Metriken. Diese Daten geben Ihnen einen Überblick über das Verhalten Ihrer Workloads insgesamt sowie ein detailliertes Verständnis der Interaktion jeder Komponente mit jeder Arbeitseinheit.

Gewünschtes Ergebnis:

  • Sie erfassen Protokolle Ihrer Workload-Komponenten und AWS-Serviceabhängigkeiten und veröffentlichen sie an einem zentralen Ort, wo sie leicht abgerufen und verarbeitet werden können.

  • Ihre Protokolle enthalten äußerst präzise Zeitstempel.

  • Ihre Protokolle enthalten relevante Informationen über den Verarbeitungskontext, wie z. B. eine Ablaufverfolgungs-ID, eine Benutzer- oder Kontokennung und eine Remote-IP-Adresse.

  • Sie erstellen aus Ihren Protokollen aggregierte Metriken, die das Verhalten Ihrer Workloads aus einer übergeordneten Perspektive darstellen.

  • Sie können Ihre aggregierten Protokolle abfragen, um tiefe und relevante Einblicke in Ihre Workloads zu gewinnen und tatsächliche und potenzielle Probleme zu identifizieren.

Typische Anti-Muster:

  • Sie erfassen keine relevanten Protokolle oder Metriken von den Computing-Instanzen, auf denen Ihre Workloads ausgeführt werden, oder von den Cloud-Services, die sie verwenden.

  • Sie übersehen die Erfassung von Protokollen und Metriken, die Ihre Leistungskennzahlen (KPIs) betreffen.

  • Sie analysieren die auf Workloads bezogene Telemetrie isoliert, ohne Aggregation und Korrelation.

  • Sie lassen zu, dass Metriken und Protokolle zu schnell ablaufen, was Trendanalysen und die Identifizierung wiederkehrender Probleme erschwert.

Vorteile der Nutzung dieser bewährten Methoden: Sie können mehr Anomalien erkennen und Ereignisse und Metriken zwischen verschiedenen Komponenten Ihrer Workloads korrelieren. Sie können anhand Ihrer Workload-Komponenten Erkenntnisse gewinnen, die auf Informationen in Protokollen basieren, die häufig nicht nur in Form von Metriken verfügbar sind. Sie können Fehlerursachen schneller ermitteln, indem Sie Ihre Protokolle in großem Umfang abfragen.

Risikostufe bei fehlender Befolgung dieser bewährten Methode: Hoch

Implementierungsleitfaden

Identifizieren Sie die Quellen von Telemetriedaten, die für Ihre Workloads und deren Komponenten relevant sind. Diese Daten stammen nicht nur aus Komponenten, die Metriken veröffentlichen, wie Ihrem Betriebssystem (OS) und Anwendungslaufzeiten wie Java, sondern auch aus Anwendungs- und Cloud-Serviceprotokollen. Beispielsweise protokollieren Webserver in der Regel jede Anfrage mit detaillierten Informationen wie Zeitstempel, Verarbeitungslatenz, Benutzer-ID, Remote-IP-Adresse, Pfad und Abfragezeichenfolge. Der Detaillierungsgrad dieser Protokolle hilft Ihnen dabei, detaillierte Abfragen durchzuführen und Metriken zu generieren, die sonst möglicherweise nicht verfügbar gewesen wären.

Erfassen Sie die Metriken und Protokolle mithilfe geeigneter Tools und Prozesse. Protokolle, die von Anwendungen generiert werden, die auf einer Amazon-EC2-Instance ausgeführt werden, können von einem Agenten wie dem Amazon CloudWatch Agent erfasst und in einem zentralen Speicherservice wie Amazon CloudWatch Logs veröffentlicht werden. AWS-verwaltete Computing-Services wie AWS LambdaAmazon Elastic Container Service veröffentlichen Protokolle automatisch in CloudWatch Logs für Sie. Aktivieren Sie die Protokollerfassung für AWS-Speicher- und Verarbeitungsservices, die von Ihren Workloads wie Amazon CloudFront, Amazon S3, Elastic Load Balancing und Amazon API Gateway verwendet werden.

Reichern Sie Ihre Telemetriedaten mit Dimensionen an, anhand derer Sie Verhaltensmuster klarer erkennen und korrelierte Probleme anhand von Gruppen verwandter Komponenten isolieren können. Nach dem Hinzufügen können Sie das Verhalten der Komponenten detaillierter beobachten, korrelierte Fehler erkennen und geeignete Abhilfemaßnahmen ergreifen. Beispiele für nützliche Dimensionen sind Availability Zone, EC2-Instance-ID und Container-Task- oder Pod-ID.

Sobald Sie die Metriken und Protokolle erfasst haben, können Sie Abfragen erstellen und daraus aggregierte Metriken generieren, die nützliche Einblicke in normales und anomales Verhalten bieten. Sie können beispielsweise Amazon CloudWatch Logs Insights verwenden, um benutzerdefinierte Metriken aus Ihren Anwendungsprotokollen abzuleiten, Amazon CloudWatch Metrics Insights, um Ihre Metriken in großem Umfang abzufragen, Amazon CloudWatch Container Insights zum Sammeln, Aggregieren und Zusammenfassen von Metriken und Protokollen aus Ihren containerisierten Anwendungen und Microservices oder Amazon CloudWatch Lambda Insights, wenn Sie AWS Lambda-Funktionen verwenden. Um eine aggregierte Fehlerratenmetrik zu erstellen, können Sie einen Zähler jedes Mal erhöhen, wenn eine Fehlerantwort oder Meldung in Ihren Komponentenprotokollen gefunden wird, oder Sie können den Gesamtwert einer vorhandenen Fehlerratenmetrik berechnen. Sie können diese Daten verwenden, um Histogramme zu generieren, die das Verhalten von Vorgängen zeigen, z. B. die Anfragen oder Prozesse mit der schlechtesten Leistung. Mithilfe von Lösungen wie der Anomalieerkennung von CloudWatch Logs können Sie diese Daten auch in Echtzeit nach anomalen Mustern durchsuchen. Diese Erkenntnisse können in Dashboards platziert werden, sodass sie Ihren Anforderungen und Präferenzen entsprechend organisiert werden können.

Mithilfe von Protokollabfragen können Sie besser verstehen, wie bestimmte Anfragen von Ihren Workload-Komponenten bearbeitet wurden, und Anforderungsmuster oder andere Kontexte aufdecken, die sich auf die Resilienz Ihres Workloads auswirken. Es kann nützlich sein, Abfragen auf der Grundlage Ihres Wissens über das Verhalten Ihrer Anwendungen und anderer Komponenten im Voraus zu recherchieren und vorzubereiten, so dass Sie sie bei Bedarf einfacher ausführen können. Beispielsweise können Sie mit CloudWatch Logs Insights Protokolldaten in Amazon CloudWatch Logs interaktiv durchsuchen und analysieren. Sie können auch Amazon Athena verwenden, um Protokolle aus mehreren Quellen, einschließlich zahlreicher AWS-Services, im Petabyte-Bereich abzufragen.

Wenn Sie eine Richtlinie zur Aufbewahrung von Protokollen definieren, sollten Sie den Wert historischer Protokolle berücksichtigen. Historische Protokolle können dabei helfen, langfristige Nutzungs- und Verhaltensmuster, Regressionen und Leistungsverbesserungen Ihrer Workloads zu identifizieren. Dauerhaft gelöschte Protokolle können später nicht analysiert werden. Der Wert historischer Protokolle nimmt jedoch über längere Zeiträume hinweg tendenziell ab. Wählen Sie eine Richtlinie, die Ihren Anforderungen angemessen Rechnung trägt und alle gesetzlichen oder vertraglichen Anforderungen erfüllt, denen Sie möglicherweise unterliegen.

Implementierungsschritte

  1. Wählen Sie die Erfassungs-, Speicher-, Analyse- und Anzeigemechanismen für Ihre Beobachtbarkeitsdaten.

  2. Installieren und konfigurieren Sie Metrik- und Protokollkollektoren für die entsprechenden Komponenten Ihrer Workloads (z. B. für Amazon-EC2-Instances und in Sidecar-Containern). Konfigurieren Sie diese Kollektoren so, dass sie automatisch neu gestartet werden, wenn sie unerwartet beendet werden. Aktivieren Sie die Festplatten- oder Speicherpufferung für die Kollektoren, sodass temporäre Veröffentlichungsfehler Ihre Anwendungen nicht beeinträchtigen oder zu Datenverlusten führen.

  3. Aktivieren Sie die Protokollierung für AWS-Services, die Sie im Rahmen Ihrer Workloads verwenden, und leiten Sie diese Protokolle an den ausgewählten Speicherservice weiter, wenn notwendig. Ausführliche Anweisungen finden Sie in den Benutzer- oder Entwicklerhandbüchern der jeweiligen Services.

  4. Definieren Sie die für Ihre Workloads relevanten betrieblichen Metriken, die auf Ihren Telemetriedaten basieren. Diese können auf direkten Metriken basieren, die von Ihren Workload-Komponenten ausgegeben werden, zu denen auch Metriken im Zusammenhang mit Geschäftskennzahlen oder die Ergebnisse aggregierter Berechnungen wie Summen, Raten, Perzentile oder Histogramme gehören können. Berechnen Sie diese Metriken mit Ihrem Protokollanalysator und platzieren Sie sie gegebenenfalls in Dashboards.

  5. Bereiten Sie geeignete Protokollabfragen vor, um Workload-Komponenten, Anfragen oder das Transaktionsverhalten nach Bedarf zu analysieren.

  6. Definieren und aktivieren Sie eine Protokollaufbewahrungsrichtlinie für Ihre Komponentenprotokolle. Löschen Sie regelmäßig Protokolle, wenn sie älter sind, als es die Richtlinie zulässt.

Ressourcen

Zugehörige bewährte Methoden:

Zugehörige Dokumentation:

Zugehörige Workshops:

Zugehörige Tools: